Свой vpn сервер по технологии pptp

Иногда бывает нужно на время посидеть через VPN и чтобы не сильно заморачиваться можно воспользоваться технологией pptp.

Point-To-Point Tunneling Protocol (PPTP) позволяет Вам поднять свой VPN очень быстро и является совместимым с большинством мобильных устройств. И хотя PPTP менее безопасен, чем OpenVPN, он быстрее и использует меньше ресурсов процессора.

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

apt-get install pptpd


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

localip 10.0.0.1
remoteip 10.0.0.100-200


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

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



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

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

ms-dns 77.88.8.8
ms-dns 8.8.4.4


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

service pptpd restart


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



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

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

net.ipv4.ip_forward = 1


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


Создание NAT-правил для iptables
Вместо eth0 вам нужно подставить ваш сетевой интерфейс, посмотреть можно командой
ifconfig -a


iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save


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

iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT


Если вы используете OpenVZ, то вам нужно прописать следующее:


iptables -t nat -A POSTROUTING -j SNAT --to-source <IP вашего сервера>


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

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

0 комментариев

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