VPN-туннели — распространенный вид связи типа «точка-точка» на основе стандартного интернет-соединения через роутеры MikroTik. Они представляют собой, по сути «канал внутри канала» — выделенную линию внутри основной.
Необходимость настройки туннельного VPN-соединения на MikroTik возникает в случаях, когда:
- Требуется предоставить доступ к корпоративной сети сотрудникам предприятия, которые работают из дома, или находясь в командировке, в том числе с мобильных устройств.
- Требуется предоставить доступ в интернет абонентам провайдера (в последнее время такая реализация доступа клиентов становится все более популярной).
- Необходимо соединить два удаленных подразделения предприятия защищенным каналом связи с минимальными затратами.
В отличие от обычной сети, где данные передаются открыто и в незашифрованном виде, VPN является защищенным каналом связи. Уровень защиты зависит от типа туннельного протокола, выбранного для соединения. Так, наименее защищенным считается протокол PPtP, даже его «верхний» алгоритм аутентификации mschap2 имеет ряд проблем безопасности и легко взламывается. Наиболее безопасным считается набор протоколов IPsec.
Несмотря на укоряющую картинку, иногда смысл в отключении шифрования и аутентификации все же есть. Многие модели MikroTik не поддерживают аппаратное шифрование, и обработка всех процессов, связанных с защитой соединения происходит на уровне CPU. Если безопасность соединения не является для вас критичным моментом, а производительность используемого роутера оставляет желать лучшего, то отключение шифрования можно использовать для разгрузки процессора.
Выбор протокола для VPN на MikroTik
Для настройки соединения по VPN через MikroTik чаще всего используются следующие протоколы:
- PPtP,
- PPPoE,
- OpenVPN,
- L2TP,
- IPSec.
В сегодняшней статье мы рассмотрим настройку подключения VPN с помощью двух из них, как наиболее часто встречающихся в работе провайдера и системного администратора: PPtP и PPPoE. Продолжение темы — в следующих статьях.
VPN через PPtP на MikroTik
PPtP — самый распространенный протокол VPN. Представляет собой связку протокола TCP, который используется для передачи данных, и GRE — для инкапсуляции пакетов. Чаще всего применяется для удаленного доступа пользователей к корпоративной сети. В принципе, может использоваться для многих задач VPN, однако следует учитывать его изъяны в безопасности.
Прост в настройке. Для организации туннеля требуется:
- создать на роутере MikroTik, через который пользователи будут подключаться к корпоративной сети, PPtP-сервер,
- создать профили пользователей с логинами/паролями для идентификации на стороне сервера,
- создать правила-исключения Firewall маршрутизатора, для того, чтобы подключения беспрепятственно проходили через брандмауер.
Включаем PPtP сервер.
Для этого идем в раздел меню PPP, заходим на вкладку Interface, вверху в перечне вкладок находим PPTP сервер и ставим галочку в пункте Enabled.
Снимаем галочки с наименее безопасных алгоритмов идентификации — pap и chap.
Создаем пользователей.
В разделе PPP переходим в меню Secrets и с помощью кнопки «+» добавляем нового пользователя.
В полях Name и Password прописываем, соответственно логин и пароль, который будет использовать пользователь для подключения к туннелю.
В поле Service выбираем тип нашего протокола — pptp, в поле Local Address пишем IP-адрес роутера MikroTik, который будет выступать в роли VPN-сервера, а в поле Remote Address — IP-адрес пользователя
Прописываем правила для Firewall.
Нам нужно открыть 1723 порт для трафика по TCP-протоколу для работы VPN-туннеля MikroTik, а также разрешить протокол GRE. Для этого идем в раздел IP, потом — в Firewall, потом на вкладку Filter Rules, где с помощью кнопки «+» добавляем новое правило. В поле Chain указываем входящий трафик — input, в поле Protocol выбираем протокол tcp, а в поле Dst. Port — указываем порт для VPN туннеля 1723.
Переходим здесь же на вкладку Action и выбираем accept — разрешать (трафик).
Точно также добавляем правило для GRE. На вкладке General аналогично предыдущему прописываем input, а в поле Protocol выбираем gre.
На вкладке Action как и в предыдущем правиле выбираем accept.
Не забываем поднять эти правила в общем списке наверх, поставив ПЕРЕД запрещающими правилами, иначе они не будут работать. В RouterOS Mikrotik это можно сделать перетаскиванием правил в окне FireWall.
Все, PPtP сервер для VPN на MikroTik поднят.
Небольшое уточнение.
В некоторых случаях, когда при подключении необходимо видеть локальную сеть за маршрутизатором, нужно включить proxy-arp в настройках локальной сети. Для этого идем в раздел интерфейсов (Interface), находим интерфейс, соответствующий локальной сети и на вкладке General в поле ARP выбираем proxy-arp.
На стороне VPN-клиента настройки состоят только в том, чтобы создать подключение по VPN, указать IP-адрес VPN (PPtP) сервера, логин и пароль пользователя.
VPN через PPPoE на MikroTik
Своей распространенностью в последнее время VPN по протоколу PPPOE обязан провайдерам, предоставляющим широкополосный, в т. ч. беспроводной доступ в интернет. Протокол предполагает возможность сжатия данных, шифрования, а также характеризуется:
- Доступностью и простотой настройки.
- Поддержкой большинством маршрутизаторов MikroTik.
- Стабильностью.
- Масштабируемостью.
- Устойчивостью зашифрованного трафика к ARP-спуфингу (сетевой атаке, использующей уязвимости протокола ARP).
- Меньшей ресурсоемкостью и нагрузкой на сервер, чем PPtP.
Также его преимуществом является возможность использования динамических IP-адресов: не нужно назначать определенный IP конечным узлам VPN-туннеля. Подключение со стороны клиента осуществляется без сложных настроек, только по логину и паролю.
Настройка VPN-сервера PPPoE MikroTik
Настраиваем профили сервера.
Несколько профилей PPPoE-сервера могут понадобиться, если вы провайдер и раздаете интернет по нескольким тарифным пакетам. Соответственно, в каждом профиле можно настроить разные ограничения по скорости.
Идем в раздел PPP, открываем пункт Profiles и с помощью кнопки «+» создаем новый профиль. Даем ему понятное нам название, прописываем локальный адрес сервера (роутера), отмечаем опцию Change TCP MSS (корректировку MSS), для того, чтобы все сайты нормально открывались.
Кстати, в некоторых случаях, когда возникают проблемы с открытием некоторых сайтов, при том, что пинги на них проходят, можно сделать по-другому. Корректировку 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 (использовать шифрование) не отключайте.
На вкладке Limits устанавливаем ограничения по скорости, если нужно. Первая цифра в ограничении скорости — входящий трафик на сервер (исходящий от абонента), вторая — наш исходящий трафик (входящий у абонента).
Ставим Yes в пункте Only One, это значит, что два и более абонентов с одним и тем же набором логин/пароль не смогут подключиться к PPPoE-серверу, только один.
Теперь, если необходимо, создаем остальные профили простым копированием (кнопка Copy на предыдущем скриншоте) и меняем имя и ограничение по скорости.
Создаем учетные записи пользователей.
В том же разделе PPP находим пункт меню Secrets. В нем с помощью кнопки «+» создаем нового пользователя, который будет подключаться к нам по VPN-туннелю.
Заполняем поля Name и Password (логин и пароль, который будет вводить пользователь со своей стороны, чтобы подключиться).
В поле Service выбираем pppoe, в Profile — соответствующий профиль, в данном случае — тарифный пакет, которым пользуется абонент. Присваиваем пользователю IP-адрес, который при подключении сервер раздаст абоненту.
Если подключаем несколько пользователей, создаем для каждого из них отдельную учетную запись, меняя имя/пароль и IP-адрес.
Привязываем PPPoE сервер к определенному интерфейсу MikroTik.
Теперь нам необходимо сообщить маршрутизатору, на каком интерфейсе он должен «слушать» входящие подключения от VPN PPPoE клиентов. Для этого в разделе PPP мы выбираем пункт PPPoE Servers. Здесь мы меняем:
Поле Interface — выбираем тот интерфейс, к которому будут подключаться клиенты,
- Keepalive Timeout — 30 секунд (время ожидания ответа от клиента до разрыва соединения)
- Default Profile — профиль, который будет присваиваться подключаемым абонентам по умолчанию,
- Ставим галку в One Session Per Host, тем самым разрешая подключение только одного туннеля с маршрутизатора клиента или компьютера.
- Галочки в разделе аутентификации оставляем/снимаем по усмотрению.
Настраиваем 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 не применяется, соединение происходит напрямую.
А на вкладке Action прописываем, собственно, действие маскарадинга — подмены локального адреса устройства на внешний адрес роутера.
Настройка VPN-клиента PPPoE
Если на той стороне VPN туннеля подключение будет происходить с компьютера или ноутбука, то просто нужно будет создать высокоскоростное подключение через PPPoE в Центре управления сетями и общим доступом (для Win 7, Win 8). Если на второй стороне — тоже роутер Mikrotik, то подключаем следующим образом.
Добавляем PPPoE интерфейс.
На вкладке Interface выбираем PPPoE Client и с помощью кнопки «+» добавляем новый интерфейс.
Здесь в поле Interface мы выбираем тот интерфейс роутера Mikrotik, на котором мы организуем VPN-туннель.
Прописываем настройки подключения.
Далее переходим на вкладку Dial Out и вписываем логин и пароль для подключения к VPN туннелю PPPoE.
Ставим галочку в поле Use Peer DNS — для того, чтобы адрес DNS сервера мы получали с сервера VPN (от провайдера), а не прописывали вручную.
Настройки аутентификации (галочки в pap, chap, mschap1, mschap2) должны быть согласованы с сервером.