Несколько дней назад у коллег возникла проблема при открытии сайта. Так как ферма удаленных рабочих столов находится в Европе, а сайт в России, то в нашем случае сайт открываться не хотел. Я попытался разобраться, чем же я могу помочь.

В России у компании есть маршрутизатор замечательной компании Mikrotik, и к нему проброшен VPN. Cкажу сразу, что перенаправлять весь трафик через данный узел связи не хотелось.

Мне удалось найти решение с помощью механизма маркировки трафика (mangle rules).

Конфигурация решения в моем случае предполагает использование 2 маршрутизаторов Mikrotik RB2011 и Mikrotik RB951.

Для того чтобы можно было продемонстрировать настройку решения, предположим, что вы будете использовать PPTP VPN.

Поскольку шифрование PPTP уже давно не отвечает элементарным требованиям безопасности, я предлагаю вам использовать что-то более безопасное (например, L2TP+IPSec). Принцип останется тем же, независимо от того, какую технологию VPN / туннеля вы будете использовать.

Поэтому сначала вы создаете VPN, не добавляя маршрут шлюза по умолчанию.

Обратите внимание, что вместо переменных VPN_SERVER_IPVPN_NAMESUPER_PASSWORDUSERNAME необходимо использовать собственные значения.

/interface pptp-client
add add-default-route=no allow=mschap2 connect-to=VPN_SERVER_IP \
dial-on-demand=no disabled=no max-mru=1440 max-mtu=1440 mrru=dis \
name=VPN_NAME password="SUPER_PASSWORD" profile=default-encryption user=USERNAME

Затем мы создаем новую таблицу маршрутизации, добавляя по умолчанию шлюз через VPN с новым знаком маршрутизации vpn. Это позволит вам маршрутизировать пакеты через VPN.

/ip route add dst-address=0.0.0.0/0 gateway=VPN_GATEWAY_IP routing-mark=vpn

Нам также нужно сделать трансляцию NAT для пакетов, которые будут уходить через интерфейс VPN.

/ip firewall nat add chain=srcnat out-interface=VPN_NAME action=masquerade

Теперь мы добавим правило mangle, которое будет соответствовать целевым IP-адресам, которые мы хотим, и сделаем для них маркировку маршрутов (mark-routing), чтобы они использовали таблицу маршрутов vpn, которую мы создали.

/ip firewall mangle add chain=prerouting dst-address-list=VPN action=mark-routing new-routing-mark=vpn

Наконец, мы создаем список адресов (Address List) на брандмауэре с IP-адресами, которые мы хотим перенаправлять через VPN.

/ip firewall address-list add list=VPN address=10.10.10.10
/ip firewall address-list add list=VPN address=22.22.22.22
/ip firewall address-list add list=VPN address=30.30.30.30

Мы повторяем последнее правило столько раз, сколько требуется IP-адресов, которое мы хотим маршрутизировать через VPN.

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

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

Надеюсь моя статья оказалась для вас полезной. Если что то некорректно и непонятно в комментариях прошу задавать вопросы.

Читать далее

Перенаправление трафика через VPN Mikrotik с помощью mangle rules
Adblock detector