Устанавливаем PPTP сервер:
sudo "ваш менеджер пакетов" install pptpd
Редактируем файл конфигурации:
sudo vi /etc/pptpd.conf
В нём находим или исправляем имеющиеся строчки:
option /etc/ppp/pptpd-options bcrelay eth0 logwtmp localip "адрес, который будет у vpn сервера", например 10.1.0.1 remoteip "адреса, которые будут у vpn клиентов", например 10.1.0.2-255
Редактируем следующий конфиг:
sudo vi /etc/ppp/pptpd-options
В нём находим или исправляем имеющиеся строчки:
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 #Google #1: ms-dns 8.8.8.8 #CloudFlare #1: ms-dns 1.1.1.1 #Yandex #1: ms-dns 77.88.8.8 #Google #2: ms-dns 8.8.4.4 #CloudFlare #2: ms-dns 1.0.0.1 #Yandex #1: ms-dns 77.88.8.1 proxyarp nodefaultroute lock nobsdcomp
Правим ещё один конфиг авторизации пользователей:
sudo vi /etc/ppp/chap-secrets
В нём настраиваем авторизацию:
client server secret IP addresses username pptpd password *
Снова правим очередной конфиг:
sudo vi /etc/ppp/ip-up
В нём добавляем в конец:
ifconfig $1 mtu 1492
Снова правим:
sudo vi /etc/sysctl.conf
В нем нужно раскомментировать строчку:
net.ipv4.ip_forward=1
И выполняем:
sysctl -p
Смотрим, через какой интерфейс в интернет смотрит сервер:
ip addr
В моём случае eth0.
И самое главное, в моём случае — правила iptables. PPTP работает через TCP-порт 1723, он должен быть открыт. Например:
sudo vi 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 pptpd restart
rm ./run-iptables.sh
Как сделать перманентными правила iptables в вашей системе, ищите в интернете))
PPTP работает на порту 1723, и мы можем после этого быстро проверить, открыт ли он, выполнив на сервере:
netstat -an | grep 1723
Будет что-то вроде:
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN
Так же доступность открытого порта из интернета можно проверив при помощи командной строки в windows:
WIN+R
вписываем:
cmd
Жмем Enter
В командной строке вписываем:
telnet *.*.*.* 1723
где *.*.*.* — ip вашего сервера.
В случае ошибки мы прочтем что-то вроде:
C:\User>telnet 1.2.3.4 1723
Подключение к 1.2.3.4…Не удалось открыть подключение к этому узлу, на порт 1723: Сбой подключения
Обязательно включаем автозагрузку pptpd сервера после перезагрузки ubuntu:
sudo systemctl enable pptpd