Tag: «pptp»
Быстрая настройка VPN-сервера (PPTP) на Ubuntu Server
Шпаргалка как поднять быстро VPS на серверной убунте. Пока осилил только PPTP. Все команды от root:
apt-get install pptpd
nano /etc/pptpd.conf
В нём:
option /etc/ppp/pptpd-options
logwtmp
localip 10.1.0.1
remoteip 10.1.0.2-255
bcrelay eth0
nano /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
nano /etc/ppp/chap-secrets
В нём:
# client server secret IP addresses
username pptpd password *
sudo nano /etc/ppp/ip-up
В нём добавляем в конец:
ifconfig $1 mtu 1492
nano /etc/sysctl.conf
раскоментить строчку net.ipv4.ip_forward=1
sysctl -p
Смотрим, через какой интерфейс в интернет смотрит сервер:
ifconfig
В моём случае eth0 (да и в большинстве других случаев, думаю, тоже).
И самое главное, в моём случае - правила iptables. PPTP работает через TCP-порт 1723, он должен быть открыт. Например:
nano run-iptables.sh
В него вставляем:
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.1.0.0/24 -i ppp0 -j ACCEPT #подсеть, которая выставлена в /etc/pptpd.conf
iptables --append FORWARD --in-interface eth0 -j ACCEPT
Сохраняем, выходим.
chmod +x run-iptables.sh
./run-iptables.sh
service pptp restart
Работает с iOS-устройствами и с Mac OS X (там в Системные настройки -> Сеть нужно добавить новое VPN-соединение и поставить галку в его дополнительных свойствах "Отправлять весь трафик через VPN").
Я долго с этим промучался, т.к. делать всё бездумно по мануалам оказалось битьём головой о стену. Раньше мануалы мне помогали, а теперь, похоже, затык был с настройками firewall на сервере. Пришлось копать.
В общем, PPTP работает на порту 1723, быстрая диагностика, например, выполнить на сервере:
netstat -an | grep 1723
Будет что-то вроде:
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN
Ну и в Mac OS X запустить Сетевую утилиту и во вкладке Port Scan вбить IP-адрес сервера и порт, чтобы определить - доступен он снаружи или нет. В работающем случае будет что-то вроде этого: