IPsec за NAT (ikev2)

Обсуждение оборудования и его настройки
Ответить
dexxxqqq
Сообщения: 11
Зарегистрирован: 14 мар 2019, 17:16

Здравствуйте, уважаемые участники форума. Есть два MikroTik CCR1016-12S-1S+. Прошивка 6.42.12.
Один имеет белый IP, второй находится за NAT (серый IP). При первоначальной настройке все работало отлично. Потом отвалилось и больше не поднимается. Настройки не менял.

Серый (внутренний IP 100.*.*.*, внешний IP 194.*.*.*)

Код: Выделить всё

/ip ipsec proposal
add enc-algorithms=3des name=Moscow-Ntel-proposal pfs-group=none
/ip ipsec peer
add address=77.*.*.*/32 dh-group=modp1024 exchange-mode=ike2 policy-template-group=group1 secret=secret
/ip ipsec policy
add dst-address=192.168.108.0/22 proposal=Moscow-Ntel-proposal sa-dst-address=77.*.*.* sa-src-address=194.*.*.* (пробовал и 100.*.*.*) src-address=192.168.100.0/22 tunnel=yes
Белый (IP 77.*.*.*)

Код: Выделить всё

/ip ipsec proposal
add enc-algorithms=3des name=Istra-Beeline-proposal pfs-group=none
/ip ipsec peer
add address=194.*.*.*/32 dh-group=modp1024 exchange-mode=ike2 passive=yes policy-template-group=group1 secret=secret
/ip ipsec policy
add dst-address=192.168.100.0/22 proposal=Istra-Beeline-proposal sa-dst-address=194.*.*.* sa-src-address=77.*.*.* src-address=192.168.108.0/22 tunnel=yes
В логах (серый)

Код: Выделить всё

19:07:40 ipsec ike2 initialize send for: 77.*.*.*
19:07:40 ipsec adding payload: NOTIFY 
19:07:40 ipsec => (size 0x1c) 
19:07:40 ipsec adding payload: NOTIFY 
19:07:40 ipsec => (size 0x1c) 
19:07:40 ipsec adding payload: NONCE 
19:07:40 ipsec => (size 0x1c) 
19:07:40 ipsec adding payload: KE 
19:07:40 ipsec => (size 0x88) 
19:07:40 ipsec adding payload: SA 
19:07:40 ipsec => (size 0x38) 
19:07:40 ipsec,debug ===== sending 304 bytes from 100.*.*.*[4500] to 77.*.*.*[4500] 
19:07:40 ipsec,debug 1 times of 308 bytes message will be sent to 77.*.*.*[4500] 
19:07:47 ipsec ike2 init retransmit 
19:07:47 ipsec,debug ===== sending 304 bytes from 100.*.*.*[4500] to 77.*.*.*[4500] 
19:07:47 ipsec,debug 1 times of 308 bytes message will be sent to 77.*.*.*[4500] 
19:07:52 ipsec ike2 init retransmit 
19:07:52 ipsec,debug ===== sending 304 bytes from 100.*.*.*[4500] to 77.*.*.*[4500] 
19:07:52 ipsec,debug 1 times of 308 bytes message will be sent to 77.*.*.*[4500] 
19:07:57 ipsec ike2 init retransmit 
19:07:57 ipsec,debug ===== sending 304 bytes from 100.*.*.*[4500] to 77.*.*.*[4500] 
19:07:57 ipsec,debug 1 times of 308 bytes message will be sent to 77.*.*.*[4500] 
19:08:02 ipsec ike2 init timeout 
Тот что с белым IP - в логах пусто.
Я думал бы на провайдера, если бы до этого не работало с такими же настройками. В фаерволе все разрешено, в том числе udp 500, 4500, 1701, ipsec-ah, ipsec-esp.

Если поставить IKEv1 + NAT-Traversal, то в логах на белом я вижу попытки, он отправляет ответ, который никуда не доходит (так как серый находится за NAT). Также при IKEv2 отсутствует информация в Remote Peers (на обоих роутерах). Такое ощущение, что IKEv2 криво реализован или провайдер то фильтрует, то не фильтрует 4500 UDP.

P.S. Попробовать с маршрутизатора с серым IP сделать подключение IPsec IKEv2 к роутеру другой фирмы (домашний Zyxel keenetic), завелось все моментально. Порт тот же, UDP 4500. Так что провайдер исключается.


dexxxqqq
Сообщения: 11
Зарегистрирован: 14 мар 2019, 17:16

Провайдер выделяет маску 29. Сменил внешний IP на "белом" провайдере на другой и туннель моментально установился. Походу, это провайдер.

Оставил на ночь туннель. С утра опять та же фигня. На этот раз на белом в логе следующее:

Код: Выделить всё

05:02:47 ipsec acquire for 77.*.*.* <=> 194.*.*.* 
05:02:47 ipsec suitable policy found: 192.168.108.0/22 <=> 192.168.100.0/22 
05:02:47 ipsec configured not to start negotiation, ignoring. 


dexxxqqq
Сообщения: 11
Зарегистрирован: 14 мар 2019, 17:16

Нашел на хабре статью про IPsec, где говорится о фильтрации больших пакетов со стороны некоторых провайдеров. В моем случае пинг -s 1500 не проходит с провайдера 194.*.*.*. Думаю, что может быть с этим связано как-то.


Ответить