VPN через PPPoE на MikroTik

О чём эта статья

Статья описывает настройку маршрутизаторов MikroTik с целью организации стабильного канала VPN к виртуальным машинам в сервисах MCS.

Своей распространенностью в последнее время VPN по протоколу PPPOE обязан провайдерам, предоставляющим широкополосный, в т. ч. беспроводной доступ в интернет. Протокол предполагает возможность сжатия данных, шифрования, а также характеризуется:

  • Доступностью и простотой настройки.

  • Поддержкой большинством маршрутизаторов MikroTik.

  • Стабильностью.

  • Масштабируемостью.

  • Устойчивостью зашифрованного трафика к ARP-спуфингу (сетевой атаке, использующей уязвимости протокола ARP).

  • Меньшей ресурсоемкостью и нагрузкой на сервер, чем PPtP.

Также его преимуществом является возможность использования динамических IP-адресов: не нужно назначать определенный IP конечным узлам VPN-туннеля. Подключение со стороны клиента осуществляется без сложных настроек, только по логину и паролю.

Настройка VPN-сервера PPPoE MikroTik

Настраиваем профили сервера

Несколько профилей PPPoE-сервера могут понадобиться, если вы провайдер и раздаете интернет по нескольким тарифным пакетам. Соответственно, в каждом профиле можно настроить разные ограничения по скорости.

Идем в раздел PPP, открываем пункт Profiles  и с помощью кнопки «+» создаем новый профиль. Даем ему понятное нам название, прописываем локальный адрес сервера (роутера), отмечаем опцию Change TCP MSS (корректировку MSS), для того, чтобы все сайты нормально открывались.

Настройка VPN PPPoE сервера Микротик - профили

Кстати, в некоторых случаях, когда возникают проблемы с открытием некоторых сайтов, при том, что пинги на них проходят, можно сделать по-другому. Корректировку MSS отключаем, а через терминал прописываем на роутере следующее правило:

«ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360  disabled=no». 

В большинстве случаев это решает проблему.

Далее на вкладке Protocols все отключаем, для улучшения производительности. Если защищенность соединения для вас важна и производительность маршрутизатора позволяет, то опцию Use Encryption(использовать шифрование) не отключайте.

Настройка вкладки Protocols

На вкладке Limits устанавливаем ограничения по скорости, если нужно. Первая цифра в ограничении скорости  — входящий трафик на сервер (исходящий от абонента), вторая — наш исходящий трафик (входящий у абонента).

Ставим Yes в пункте Only One, это значит, что два и более абонентов с одним и тем же набором логин/пароль не смогут подключиться к  PPPoE-серверу, только один.

Настройка ограничений скорости в профиле PPPoE

Теперь, если необходимо, создаем остальные профили простым копированием (кнопка Copy на предыдущем скриншоте) и меняем имя и ограничение по скорости.

Создаем учетные записи пользователей

В том же разделе PPP находим пункт меню Secrets. В нем с помощью кнопки «+» создаем нового пользователя, который будет подключаться к нам по VPN-туннелю.

Заполняем поля Name и Password (логин и пароль, который будет вводить пользователь со своей стороны, чтобы подключиться).

В поле Service выбираем pppoe, в Profile — соответствующий профиль, в данном случае — тарифный пакет, которым пользуется абонент. Присваиваем пользователю IP-адрес, который при подключении сервер раздаст абоненту.

Настройка пользователей на PPPoE сервере

Если подключаем несколько пользователей, создаем для каждого из них отдельную учетную запись, меняя имя/пароль и IP-адрес.

Привязываем PPPoE сервер к определенному интерфейсу MikroTik

Теперь нам необходимо сообщить маршрутизатору, на каком интерфейсе он должен «слушать» входящие подключения от VPN PPPoE клиентов. Для этого в разделе PPP мы выбираем пункт PPPoE Servers. Здесь мы меняем:

Поле Interface — выбираем тот интерфейс, к которому будут подключаться клиенты,

  • Keepalive Timeout — 30 секунд (время ожидания ответа от клиента до разрыва соединения)

  • Default Profile — профиль, который будет присваиваться подключаемым абонентам по умолчанию,

  • Ставим галку в One Session Per Host, тем самым разрешая подключение только одного туннеля с маршрутизатора клиента или компьютера.

  • Галочки в разделе аутентификации оставляем/снимаем по усмотрению.

 Привязка PPPoE сервера к интерфейсу

Настраиваем NAT для доступа клиентов в интернет.

Мы подняли PPPoE сервер и теперь к нему могут подключаться авторизованные пользователи. Если нам нужно, чтобы подсоединившиеся по VPN туннелю пользователи имели доступ в интернет, нужно настроить NAT (маскарадинг), или преобразование локальных сетевых адресов.

В разделе IP выбираем пункт Firewall и с помощью кнопки «+» добавляем новое правило.

В поле Chain должно стоять srcnat, что означает, что маршрутизатор будет применять это правило к трафику, направленному «изнутри наружу».

В поле Src. Address (исходный адрес) прописываем диапазон адресов 10.1.0.0/16. Это означает, что все клиенты с адресами 10.1. (0.0-255.255) будут выходить в сеть через NAT, т. е. мы перечисляем здесь всех возможных абонентов.

В поле Dst. Address (адрес назначения) указываем !10.0.0.0/8 — диапазон адресов, означающий собственное адресное пространство для частных сетей, с восклицательным знаком впереди. Это указывает роутеру на исключение — если кто-то из локальной сети обращается на адрес в нашей же сети, то NAT не применяется, соединение происходит напрямую.

Настройка NAT для сервера PPPoE MikroTik

А на вкладке Action прописываем, собственно, действие маскарадинга — подмены локального адреса устройства на внешний адрес роутера.

Маскарадинг

Настройка VPN-клиента PPPoE

Если на той стороне VPN туннеля подключение будет происходить с компьютера или ноутбука, то просто нужно будет создать высокоскоростное подключение через PPPoE в Центре управления сетями и общим доступом (для Win 7, Win 8). Если на второй стороне — тоже роутер Mikrotik, то подключаем следующим образом.

Добавляем PPPoE интерфейс.

На вкладке Interface выбираем PPPoE Client  и с помощью кнопки «+» добавляем новый интерфейс.

Здесь в поле Interface мы выбираем тот интерфейс роутера Mikrotik, на котором мы организуем VPN-туннель.

Настройка VPN клиента PPPoE

Прописываем настройки подключения

Далее переходим на вкладку Dial Out и вписываем логин и пароль для подключения к VPN туннелю PPPoE.

Ставим галочку в поле Use Peer DNS — для того, чтобы адрес DNS сервера мы получали с сервера VPN (от провайдера), а не прописывали вручную.

Настройки аутентификации (галочки в pap, chap, mschap1, mschap2) должны быть согласованы с сервером.

Настройка клиента PPPoE