Назад к обсуждениям
MikroTikVPNNetworking

Не могу настроить VPN между двумя MikroTik — туннель поднимается, но трафик не ходит

T
TheMaxDitXАвтор темы
2

Всем привет!

Пытаюсь поднять L2TP/IPsec туннель между двумя MikroTik (hAP ac² и hEX S). Туннель поднимается, статус connected, но пинг между локальными сетями не проходит.

Конфигурация:

  • Офис 1: 192.168.10.0/24 (hAP ac²)
  • Офис 2: 192.168.20.0/24 (hEX S)

На сервере (Офис 1):

bash
3 lines
1/interface l2tp-server server set enabled=yes default-profile=vpn-profile
2/ppp secret add name=office2 password=SecretPass service=l2tp local-address=10.255.255.1 remote-address=10.255.255.2
3/ip ipsec peer add address=0.0.0.0/0 exchange-mode=main-l2tp secret=MyIPsecKey

На клиенте (Офис 2):

bash
1 line
1/interface l2tp-client add connect-to=PUBLIC_IP_OFFICE1 user=office2 password=SecretPass use-ipsec=yes ipsec-secret=MyIPsecKey

Туннель поднялся, 10.255.255.1 пингуется с 10.255.255.2, но 192.168.10.x из сети 192.168.20.x не доступен.

Маршруты вроде добавил:

bash
5 lines
1# На сервере
2/ip route add dst-address=192.168.20.0/24 gateway=10.255.255.2
3
4# На клиенте
5/ip route add dst-address=192.168.10.0/24 gateway=10.255.255.1

В чём может быть проблема? Firewall? NAT? Подскажите, кто сталкивался.

Ответы(2)
Rick
Rick

Классическая проблема — firewall дропает forward-трафик через VPN-интерфейс.

Проверь, есть ли у тебя в /ip firewall filter правило, которое разрешает forward через L2TP-интерфейс. Скорее всего у тебя стоит дроп на всё, что не из bridge1.

Добавь на обоих роутерах:

bash
2 lines
1/ip firewall filter add chain=forward in-interface=l2tp-* action=accept comment="Allow VPN traffic" place-before=0
2/ip firewall filter add chain=forward out-interface=l2tp-* action=accept place-before=1

И ещё проверь NAT — если у тебя masquerade стоит на out-interface=ether1, то он может натить VPN-трафик. Нужно добавить исключение:

bash
1 line
1/ip firewall nat add chain=srcnat src-address=192.168.10.0/24 dst-address=192.168.20.0/24 action=accept place-before=0

Аналогично на втором роутере для обратного направления.

C
Chaika

Ещё момент — проверь /ip ipsec policy. Если там не прописаны подсети, то IPsec будет шифровать только трафик между tunnel-адресами (10.255.255.x), а пакеты из 192.168.x.x пойдут мимо туннеля.

Должно быть что-то вроде:

bash
1 line
1/ip ipsec policy add src-address=192.168.10.0/24 dst-address=192.168.20.0/24 sa-src-address=PUBLIC_IP_1 sa-dst-address=PUBLIC_IP_2 tunnel=yes action=encrypt

Ну и /ip ipsec installed-sa print покажет, есть ли активные SA для этих подсетей. Если нет — трафик точно не шифруется и дропается.

Войдите чтобы оставить ответ