пятница, 25 августа 2023 г.

Настройка pptp сервера на ubuntu

 

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


apt update
apt install pptpd

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

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

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

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

Шаг 2 - Добавление DNS-серверов


В файле /etc/ppp/pptpd-options находим настройки DNS, меням IP на сервера Google:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

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

service pptpd restart

Шаг 3 - Настройка форвардинга


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

net.ipv4.ip_forward = 1

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

sysctl -p

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


Перед тем, как изменить этот файл, мы должны найти публичный интерфейс сети. Для этого наберите команду:

ip route | grep default

Публичный интерфейс должен следовать за словом dev. Например, в нашем случае этот интерфейс называется eth0.

Далее перейдем к настройкам iptables.

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

Где интерфейс eth0 нужно заменить на тот, который вы нашли в предыдущей команде.

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

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

Далее нужно сохранить проделанные нами изменения. Воспользуемся утилитой iptables-persistent.

apt install iptables-persistent

Во время установки в открывшихся диалогах нужно выбрать два раза Yes.

Сохраним настройки iptables

netfilter-persistent save
netfilter-persistent reload

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


При необходимости на клиенте нужно настроить ip адреса и назначить dns-сервера. Компьютер должен иметь выход в интернет.

5.1 Настройка с использованием графической оболочки

Заходим в Settings -> Network. В разделе VPN нажимаем на "+". В появившемся окне выбираем **Point-to-point Tunneling Protocol(PPTP).

В поле Name даем любое название VPN(к примеру "PPTP VPN").

В поле Gateway указываем ip адрес VPN сервера.

В поле Username и Password вводим логин и пароль для пользователя, который мы указывали на сервере в файле /etc/ppp/chap-secrets. (Для ввода пароля нужно нажать на знак вопроса в поле Password и выбрать "Store the password for all users". В противном случае система будет запрашивать пароль при каждом VPN соединении).

Далее выбираем пункт Advanced...

Ставим галочку на пункте Use Point-to-point encryption(MPPE). И в поле Security выбираем 128-bit most secure.

После чего нажимаем Okey и Add.

Теперь можно попробовать подключиться.

Кликаем на ползунок и при успешном подключении в верхней строке состояния должен появиться значок с замком.

5.2 Настройка с использованием консоли

Создадим новый файл /etc/ppp/peers/vpn и добавим туда следующие строчки, заменяя имя и пароль на те, который мы указывали на сервере в файле /etc/ppp/chap-secrets.

pty "pptp ip_address --nolaunchpppd"
name user_name
password user_password
remotename PPTP
noauth
require-mppe-128
ip_address - публичный IP-адрес нашего PPTP-сервера
user_name и user_password - это пара логин/пароль, которые мы задали в файле /etc/ppp/chap-secrets на нашем PPTP-сервере.

Далее в конце файла /etc/ppp/ip-up допишем:

route add default dev ppp0

Для подключения к VPN серверу воспользуемся командой

pon vpn 

Для отключения:

poff vpn