VPN по протоколу PPTP — один из самых простых в реализации типов виртуальных частных сетей. Рассказываем, как настроить PPTP-VPN на базе маршрутизатора MikroTik или виртуальной машины с RouterOS: пошаговые инструкции для VPN-сервера и VPN-клиента.
Существует несколько способов реализовать VPN на MikroTik и RouterOS и два принципиально разных типа организации VPN-соединения между роутерами или роутером и внешними хостами.
Первый способ — сеть типа site-to-site. Этот тип сети подходит для соединения офисов или филиалов по VPN. Основное условие — наличие у точек публичных IP-адресов. При туннелировании используются EOIP и GRE технологии. Если не включать шифрование, то из всех вариантов этот тип сети обеспечивает наиболее быструю передачу по VPN. Чаще всего не работает с NAT — технологией, позволяющей использовать один IP-адрес для выхода в Интернет с нескольких устройств.
Второй тип сети — клиент-сервер. Такая VPN-сеть используются как для соединения офисов, так и для подключения сотрудников, работающих дистанционно, к центральной базе данных или для организации виртуального рабочего пространства. Сеть создаётся с помощью протоколов PPTP, L2TP, SSTP и OpenVPN. Для реализации хватит одного публичного IP-адреса у сервера. Поддерживает NAT.
Эта статья — одна из цикла статей, посвящённых созданию и настройке VPN на MikroTik и виртуальных маршрутизаторах с RouterOS: в ней мы рассказываем, как создать VPN-сети с протоколом PPTP. Читайте также о настройке VPN на MikroTik с использованием L2TP, SSTP, OpenVPN, EOIP и GRE.
Что такое PPTP (Point-to-Point Tunneling Protocol)
PPTP — протокол туннелирования, создающий соединение типа «точка-точка». Долгое время протокол был одним из самых популярных: он был создан Майкрософт и являлся стандартным для ОС Windows, так же его поддерживали и до сих пор поддерживают многие операционные системы. Однако сейчас протокол считается небезопасным, так как его шифрование уже устарело: достаточно нескольких часов, чтобы подобрать ключи и извлечь информацию из копии трафика. Его не рекомендуют использовать даже создатели — при работе с чувствительными данными Майкрософт предлагает L2TP или SSTP. Но PPTP по-прежнему можно применять там, где нет высоких требований к безопасности или шифрование вовсе не обязательно. PPTP поддерживают почти все десктопные ОС; он всё ещё широко используется в частных корпоративных сетях, где на большинстве компьютеров установлена Windows, но мобильные операционные системы уже отказались от его поддержки.
Настройка MikroTik и виртуального маршрутизатора с RouterOS в качестве PPTP VPN-сервера
Настроить VPN можно как с помощью интерфейса командной строки, так и с помощью утилиты WinBox:
- Добавьте пул айпи-адресов для впн-сети. Выберите в меню пункт «IP», затем «IP Pool». Чтобы добавить пул IP, нажмите на «плюс». Например, мы пропишем 192.168.99.10-192.168.99.200.
Команда для командной строки:
[admin@MikroTik] > ip pool add name=PPTP-Pool ranges=192.168.99.10-192.168.99.200

- Создайте PPP-profile для pptp-туннеля. Пункт меню «PPP» → «Profiles». Нажмите на «+». Заполните имя, локальный и удалённый адреса, адрес DNS-сервера во вкладке «Generel». Локальный адрес — это адрес шлюза для VPN-клиентов, удалённый адрес — адреса клиентов внутри VPN туннеля, обычно это пул IP (мы задали его в предыдущем шаге). Если нужно шифровать данные, то включите эту опцию во вкладке «Protocols» (по умолчанию она отключена). Во вкладке «Limits» находятся настройки ограничений.
[admin@MikroTik] > ppp profile add change-tcp-mss=yes local-address=[локальный_адрес] name=[имя_профиля] only-one=yes remote-address=[удалённый_адрес] use-encryption=yes dns-server=[DNS-server]




После этого вы увидите новый профиль в списке:

- Укажите пользователей (устройства), которые будут подключаться к VPN (раздел «Secrets»), задайте для них пароли.
[admin@MikroTik] > ppp secret add name=[user] password=[пароль] profile=[профиль]

- Активируйте PPTP-сервер: «РРР» → «Interface» → кликните по «PPTP Server», выберите профиль, установите галочку на «Enabled», подтвердите выбор («Ок»).
[admin@MikroTik] > interface pptp-server server set authentication=chap,mschap1,mschap2 default-profile=[профиль] enabled=yes

- Дайте разрешение на входящие соединения в брандмауэре:
[admin@MikroTik] > ip firewall filter add chain=input comment="PPTP VPN" dst-port=1723 protocol=tcp


- Включение NAT:
[admin@MikroTik] > ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade




- Настройте привязку «PPTP Server Binding» в «Interface list», укажите имя интерфейса и имя пользователя.
Благодаря этому вы сможете при необходимости задать интерфейс привязки в настройках брандмауэра и применить определённые правила к интерфейсу/пользователю.
[admin@MikroTik] > interface pptp-server add name=pptp-user1 user=user1



- Для соединения можно вручную добавить статический маршрут до удалённого хоста через VPN-туннель. Зайдите в «Route list», вкладка «Routes», нажмите на плюс, укажите IP-адрес удалённого устройства-клиента и межсетевой шлюз gateway=pptp-in1.
Теперь ваш маршрутизатор MikroTik готов обслуживать PPTP VPN-подключения в роли сервера, рассмотрим, как настроить его в качестве PPTP-клиента. Это может понадобиться при создании соединения между офисами, с установленными в каждом маршрутизаторами.
Настройка VPN-клиента
- Зайдите в «РРР» и добавьте «PPTP Client». Нам нужна вкладка «Interface» — нажмите в ней на знак «+». Оставьте параметры по умолчанию в разделе «General», а в разделе «Dual out» укажите айпи-адрес VPN-сервера, логин пользователя, его пароль и установите галочку в пункте «mschap2».
- Укажите статический маршрут до удалённого устройства через VPN. Выберите «Rout list», нажмите на плюс, в открывшемся окне укажите адрес удалённого хоста и межсетевой шлюз gateway=pptp-out1.
- Подключитесь к сети и проверьте соединение командой ping.
- Откройте статус клиента и проверьте, что шифрование используется, если оно необходимо.
Заключение
Мы протестировали PPTP VPN-подключение между двумя виртуальными роутерами с MikroTik RouterOS и обнаружили, что при включённом шифровании скорость передачи данных падает в два с половиной раза. Если учесть сильную просадку в скорости и то, что шифрование, которое применяет PPTP, не считается достаточно надёжным и его легко взломать, то не остаётся веских причин строить VPN на основе PPTP для передачи зашифрованной информации. Но этот протокол по-прежнему подходит для проектов, где достаточно туннелирования, а шифровать трафик нет необходимости.
Читайте в блоге:
- Инструкция по запуску виртуальных машин с VirtualBox: от установки до настройки
- Вечный VPS: пожизненный хостинг или миф о сервере навсегда
- VMware: руководство по виртуализации для бизнеса и дома