Поднимаем VPN — PPTP сервер на Ubuntu - Моя ХАТА

Поднимаем VPN — PPTP сервер на Ubuntu

 Почему именно PPTP? У каждого свои цели и задачи, кому-то нужен PPTP, кому-то L2TP/IPSec, кому-то IKEv2, а может и OpenVPN. Я постараюсь написать статьи по установке и настройке хотя бы двух протоколов VPN на Ubuntu и начну с PPTP.

Все описанные действия производились на Ubuntu 14.04.5 LTS. Напоминаю, что дешевые VPS во Франции для запуска своего VPN вы можете посмотреть здесь.

Для установки понадобятся права root пользователя или sudo.
1. Устанавливаем необходимые пакеты:

После окончания установки, нам понадобится отредактировать несколько файлов. Для изменения файлов PPtP Ubuntu вы можете пользоваться любым удобным для вас способом, хоть nano, хоть визуальными редакторами и т.д.

Теперь вам необходимо определиться с локальной подсетью для клиентов VPN. Вы можете сделать себе подсеть из любой подсети, которая не маршутизируется в интернете:

2. Открываем файл /etc/pptpd.conf, находим и раскоментируем (если вдруг закоментированы) строки localip и remoteip, затем прописываем свою ip адресацию.

  • localip — ip адрес из выбранной вами подсети, который будет являться локальным шлюзом для клиентов VPN.
  • remoteip — пул ip адресов для раздачи клиентам VPN.

Если на вашей машине несколько внешних IP адресов, то вы можете указать конкретный IP, по которому будет доступно подключение к VPN серверу. В конце файла добавьте:

3. Открываем файл /etc/ppp/pptpd-options и добавляем в конце файла:

В этом же файле при необходимости вы можете указать конкретные DNS, которые будут использоваться при подключении через VPN. Найдите и раскоментируйте строки ms-dns:

4. Открываем стандартный файл /etc/sysctl.conf, находим и раскоментируем строку:

5. Добавляем необходимые правила в iptables:

Обратите внимание, что eth0 — имя вашего сетевого интерфейса. Вы можете узнать его с помощью команды ifconfig

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

Обратите внимание, что 172.16.0.0/24 — локальная подсеть, которую вы себе выбрали, а ppp0 — имя pptp интерфейса.

Для сохранения iptables, выполните команду:

6. Пользователей для подключения к VPN серверу добавляем в файле /etc/ppp/chap-secrets

  • user1 — имя пользователя
  • password1 — пароль пользователя
  • «*» — локальный ip будет выдаваться из пула, указанного в файле /etc/pptpd.conf
  • «172.16.0.2» — пользователю будет присвоен указанный ip адрес.

7. Перезапускаем сервис pptpd для применения новых настроек:

Ваш PPTP сервер на Ubuntu запущен!


P.S. Если вдруг вы столкнетесь с тем, что добавленные правила iptables пропадают после рестарта firewall или перезагрузки машины, то сделайте действия, описанные ниже.

1. Добавляем заново все правила, как описано в 5-м шаге.
2. Сохраняем правила в конфиг:

3. Открываем файл /etc/network/interfaces и добавляем в самый конец:

Теперь можете перезагрузить Firewall или всю машину и убедиться, что правила iptables сохраняются.