Настройка Proxy ARP для VPN-подключений на роутерах Mikrotik

  • Автор:

proxy-arp-mikrotik-000.pngОдним из основных назначений VPN-соединений служит организация доступа удаленных клиентов в локальную сеть. И несмотря на то, что данная тема достаточно широко освещена многие администраторы продолжают сталкиваться со сложностями. Наибольшие затруднения, как правило, вызывает маршрутизация. Отчасти это связано с относительной сложностью данной темы, требующей достаточного уровня теоретических знаний, а отчасти с техническими возможностями реализуемого решения. В некоторых сценариях можно обойтись и без маршрутизации, использовав для доступа в сеть иные технологии, сегодня мы расскажем об одной из них.

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

Описываемый нами способ применим именно для подключения клиентских устройств, применять для объединения сетей его не следует. Его отличительной особенностью является выдача VPN-клиентам адресов из диапазона локальной сети. Давайте рассмотрим следующую схему:

proxy-arp-mikrotik-001.pngВ нашем случае имеется локальная сеть с диапазоном адресов 192.168.111.0/24, в которой находятся сервер 192.168.111.101 и роутер 192.168.111.1, для доступа удаленных клиентов мы подняли на роутере VPN-сервер с локальным адресом 192.168.111.140 и пулом адресов для клиентов 192.168.111.141-149. Нам требуется организовать прозрачный доступ в локальную сеть для подключающихся клиентов (зеленая пунктирная линия).

При этом важно соблюдать ряд правил. Во-первых, диапазон локальной сети клиентов не должен пересекаться с диапазоном сети офиса, поэтому мы настоятельно не рекомендуем использовать в корпоративных сетях диапазоны 192.168.0.0/24, 192.168.1.0/24 и т.д. из-за их широкого применения в устройствах бытового класса. Во-вторых, выделенный для удаленных клиентов диапазон следует исключить для выдачи и назначения устройствам локальной сети. И наконец, локальный адрес VPN-сервера должен быть выделен из локального диапазона и не должен использоваться иными устройствами или интерфейсами роутера.

Сам тип VPN не имеет принципиального значения, но рекомендуется использовать те варианты подключения, стандартные клиенты для которых имеются на целевых клиентских устройствах, это может быть PPTP или L2TP/IPsec.

В нашем примере это будет L2TP-клиент, который успешно подключился к нашему роутеру и получил адрес 192.168.111.148:

proxy-arp-mikrotik-002.pngНа первый взгляд все хорошо, клиент получил адрес из диапазона локальной сети и вроде бы должен взаимодействовать с ней без маршрутизации, но если мы попытаемся получить доступ к указанному нами на схеме серверу, то нас постигнет неудача.

proxy-arp-mikrotik-003.pngПочему так? Давайте разбираться. Взаимодействие между собой для устройств, находящихся в одной IP-сети (уровень L3 модели OSI) происходит на канальном (L2) уровне. В Ethernet сетях для отправки фрейма (кадра) отправитель должен знать MAC-адрес получателя. Для определения MAC-адреса на основе IP-адреса служит протокол ARP (Address Resolution Protocol).

Когда мы хотим соединиться с узлом 192.168.111.101 хост посылает широковещательный ARP-запрос:

У кого IP-адрес 192.168.111.101 ответьте 192.168.111.148

Его получают все узлы сети, но отвечает только обладатель адреса:

192.168.111.101 мой MAC-адрес 00:26:57:00:1f:02

Причем обмен практически именно так и происходит, ниже реальный пример ARP-запросов и ответов в локальной сети.

proxy-arp-mikrotik-004.png

Получив MAC-адрес хост помещает его в ARP-таблицу и в дальнейшем может общаться с данным узлов, не посылая каждый раз ARP-запросы.

Но что же пошло не так в нашем случае? VPN-клиент 192.168.111.148 считая себя частью сети 192.168.111.0/24 для доступа к 192.168.111.101 пошлет соответствующий широковещательный ARP-запрос, чтобы выяснить его MAC-адрес. Но VPN-соединение - это не IP-сеть, а структура точка-точка и единственным узлом, который получит ARP-запрос будет VPN-сервер 192.168.111.140, а так как он не является искомым адресом, то "скромно" промолчит. Клиент не получит на свой запрос ответа и с целевым узлом связь установить не удастся.

Чтобы выйти из этой ситуации можно использовать Proxy ARP, эта технология представляет прокси-сервер для ARP-запросов, позволяя связать на канальном уровне разные сети. Теперь, получив от клиента ARP-запрос сервер ответит MAC-адресом, на который клиент может посылать Ethernet-фреймы.

Существуют разные варианты ARP-прокси, в простейшем случае, который реализован в Mikrotik, роутер ответит на ARP-запрос собственным MAC-адресом, а получив Ethernet-фрейм передаст его на интерфейс, на котором включен Proxy ARP. Таким образом удаленный клиент и узлы локальной сети смогут общаться между собой на канальном уровне без привлечения маршрутизатора (как им кажется).

Для того, чтобы включить Proxy ARP в роутере Mikrotik перейдите в настройки интерфейса, обслуживающего вашу локальную сеть, чаще всего это будет мостовой интерфейс bridge, в нашем случае это один из ether-портов, и в поле ARP установите значение proxy-arp.

proxy-arp-mikrotik-005.pngПосле чего снова попробуем получить доступ к серверу и на этот раз все получится:

proxy-arp-mikrotik-006.png

Как видим, все достаточно несложно и мы полностью стандартными средствами со стороны клиента получили полноценный доступ в локальную сеть за VPN-сервером без настройки маршрутизации и прочих "лишних" движений.

Дополнительные материалы:


  1. Оборудование MikroTik класса SOHO. Общий обзор и сравнение возможностей
  2. Производительность младших моделей Mikrotik hEX и hAP. Экспресс-тестирование
  3. Базовая настройка роутера MikroTik
  4. Расширенная настройка DNS и DHCP в роутерах Mikrotik
  5. Автоматическое резервное копирование настроек Mikrotik на FTP
  6. Проброс портов и Hairpin NAT в роутерах Mikrotik
  7. Настройка IPTV в роутерах Mikrotik на примере Ростелеком
  8. Настройка VPN-подключения в роутерах Mikrotik
  9. Настройка черного и белого списков в роутерах Mikrotik
  10. Настройка выборочного доступа к сайтам через VPN на роутерах Mikrotik
  11. Настройка OpenVPN-сервера на роутерах Mikrotik
  12. Безопасный режим в Mikrotik или как всегда оставаться на связи
  13. Настройка Proxy ARP для VPN-подключений на роутерах Mikrotik
  14. Настраиваем Port Knocking в Mikrotik
  15. Резервирование каналов в Mikrotik при помощи рекурсивной маршрутизации
  16. Настраиваем родительский контроль на роутерах Mikrotik
  17. Настраиваем IKEv2 VPN-сервер на роутерах Mikrotik с аутентификацией по сертификатам
  18. Расширенная настройка Wi-Fi на роутерах Mikrotik. Режим точки доступа