====== VPN в Ubuntu на примере PPTP ======
Устанавливаем:
$ sudo apt-get install ppp pptpd iptables-persistent
Дописываем в конец файла /etc/pptpd.conf строки
localip 192.168.11.1
remoteip 192.168.11.10-254
Приводим /etc/ppp/pptpd-options к виду
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute
lock
nobsdcomp
Добавляем пользователей в /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
user1 * password1 * # динамический адрес
user2 * password2 192.168.11.251 # статический адрес
Разрешаем форвардинг пакетов - проверяем чтобы в файле /etc/sysctl.conf была строка
net.ipv4.ip_forward=1
а чтобы заработало без перезагрузки перечитываем файл настроек:
$ sudo sysctl -p
или делаем так:
$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Добавляем в правила iptables строки (какие именно - смотреть по ситуации)
-A INPUT -p gre -j ACCEPT # Пропускать GRE
-A FORWARDING -p gre -j ACCEPT # Форвардить GRE
-A INPUT -i eth1 -p tcp --dport 1723 -j ACCEPT # Разрешить соединения на порт PPTPD
-A POSTROUTING -s 192.168.11.0/24 -o eth0 -j MASQUERADE # Разрешить маскарадинг для VPN-клиентов
-A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356 # Устанавливать MSS для стабильного соединения
Перезапускаем, проверяем:
$ sudo service pptpd restart
{{tag>ubuntu vpn pptp pptpd}}