Как настроить VPN с помощью PPTP

0
0

Введение

Один из часто задаваемых нашими пользователями вопросов – как добавить другой IP-адрес к их серверу. Вы можете назначить свой приватный IP-адрес Вашему дроплету путем создания VPN-туннеля. Для построения своей собственной виртуальной частной сети (VPN) или присвоения SSL-сертификата этому IP-адресу существует несколько вариантов. Из всех возможных вариантов наиболее оптимальным является выбор между PPTP и OpenVPN. Point-To-Point Tunneling Protocol (PPTP) позволяет Вам поднять свой VPN очень быстро и является совместимым с большинством мобильных устройств. И хотя PPTP менее безопасен, чем OpenVPN, он быстрее и использует меньше ресурсов процессора.

Шаг 1 – Установка PPTP

Вам необходимо выбрать один сервер, который будет отвечать за раздачу IP-адресов другим серверам и авторизацию всех Ваших серверов в Вашей VPN. Он и станет Вашим PPTP-сервером.

На CentOS 6 x64:

На Ubuntu 12.10 x64:

Теперь необходимо отредактировать файл /etc/pptpd.conf, добавив в него следующие строчки:

В данном случае, localip – это IP-адрес вашего сервера, а remoteip – IP-адреса, которые будут присваиваться клиентам, которые в ним соединяются.

Затем Вам необходимо настроить авторизацию для PPTP путем добавления пользователей и их паролей. Просто добавьте их в /etc/ppp/chap-secrets:

Здесь сlient – это имя пользователя (логин), server – тип сервиса (в нашем примере – pptpd), secret – пароль, а в IP addresses указывается, какие IP-адреса могут авторизоваться (с данным логином и паролем). Установив в поле IP-адресов звёздочку * Вы указываете, что данная пара логин/пароль должна приниматься с любого IP.

Шаг 2 – Добавление DNS-серверов в /etc/ppp/pptpd-options

Теперь Вы можете запустить PPTP-демон:

Проверьте, что он работает и принимает соединения:

Шаг 3 – Настройка форвардинга (Forwarding)

Очень важно включить форвардинг IP на Вашем PPTP-сервере. Это позволит Вам пересылать пакеты между публичным IP и приватными IP, которые Вы настроили при помощи PPTP. Просто отредактируйте /etc/sysctl.conf, добавив туда следующую строку, если ее там еще не было:

Для применения изменений выполните команду sysctl -p

Шаг 4 – Создание NAT-правил для iptables

Если Вы также хотите, чтобы Ваши PPTP-клиенты могли общаться между собой, добавьте следующие правила для iptables:

Теперь Ваш PPTP-сервер также работает и как роутер.

Если Вы хотите установить ограничение на то, какие сервера могут соединяться с Вашими дроплетами, Вы можете задать правило для IP-таблиц, которое ограничивает TCP-соединения к порту 1723.

Шаг 5 – Настройка клиентов

Установите PPTP-клиент на Ваших клиентских серверах:

Шаг 6 – Добавление необходимого модуля ядра

Создайте новый файл /etc/ppp/peers/pptpserver и добавьте туда следующие строчки, заменяя имя и пароль Вашими значениями:

Здесь 198.211.104.17 – публичный IP-адрес нашего PPTP-сервера, box1 и 24oiunOi24 – это пара логин/пароль, которые мы задали в файле /etc/ppp/chap-secrets на нашем PPTP-сервере.

Теперь мы можем “вызывать” этот PPTP-сервер. В следующей команде необходимо использовать имя, которое Вы дали файлу с пирами (peers) в директории /etc/ppp/peers/. Поскольку в нашем примере мы назвали этот файл pptpserver, наша команда выглядит следующим образом:

Вы должны увидеть успешное подключение в логах PPTP-сервера:

На Вашем PPTP-клиенте настройте маршрутизацию на Вашу приватную сеть через интерфейс ppp0:

Ваш интерфейс ppp0 должен быть настроен, что можно проверить путем запуска ifconfig

Теперь Вы можете сделать пинг к Вашему PPTP-серверу и любым другим клиентам, подключенным к этой сети:

Мы можем добавить второй PPTP-клиент к этой сети:

Добавьте необходимые строки в файл /etc/ppp/peers/pptpserver (заменяя логины и пароли своими):

Теперь на втором клиенте выполните следующие команды:

Вы можете сделать пинг к первому клиенту, при этом пакеты будут идти через PPTP-сервер и перенаправляться по правилам ip-таблиц, которые мы задали ранее:

Такая настройка позволит Вам создать Вашу собственную виртуальную частную сеть:

Если Вы хотите, чтобы все ваши устройства общались безопасно в рамках одной сети, это наиболее быстрый способ сделать это.

Вы можете использовать такой подход совместно с Nginx, Squid, MySQL и любыми другими приложениями.

Поскольку трафик внутри сети шифруется 128-битным шифрованием, PPTP меньше нагружает процессор, чем OpenVPN, но все же обеспечивает дополнительный уровень безопасности Вашего трафика.

0
0
Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

Вверх
Перейти к верхней панели