я наблюдаю довольно странное (по крайней мере для меня) поведение нескольких маршрутов в моей сети. Я использую gre-интерфейсы поверх туннелей ipsec. Эти интерфейсы gre имеют mtu 1400 во всей моей сети. обычно я вижу такой вывод трассировки:
1?: [LOCALHOST] pmtu 1500
1: 10.xxx.101.1 13.625ms
1: 10.xxx.101.1 13.178ms
2: 10.xxx.101.1 13.973ms pmtu 1400
2: 192.168.yyy.251 56.555ms
3: 192.168.yyy.92 643.252ms
4: 192.168.yyy.28 417.291ms
5: 192.168.zzz.129 517.893ms reached
но по какой-то причине у меня один случай, когда трассировка дает другой результат:
1?: [LOCALHOST] pmtu 1500
1: 10.xxx.101.1 13.625ms
1: 10.xxx.101.1 20.857ms
2: 10.xxx.101.1 11.954ms pmtu 1400
2: 192.168.yyy.251 46.456ms
3: 192.168.yyy.251 45.563ms pmtu 1376
3: 10.zzz.251.1 56.648ms
4: 10.zzz.255.111 55.212ms reached
все интерфейсы gre на 192.168.yyy.251 имеют mtu 1400, все настроены одинаково. Маршрутизатор 10.zzz.251.1 не отправляет какие-либо пакеты, необходимые для фрагмента ICMP, интерфейс gre, конечно же, с mtu 1400. 192.168.yyy.251 генерирует необходимый фрагмент ICMP, но я не знаю почему. ip route get 10.zzz.255.111
на роутере 192.168.yyy.251 показывает:
10.zzz.255.111 from 10.xxx.101.253 tos lowdelay via 10.zzz.251.1 dev GRE_OUTPUT_INTERFACE src 192.168.yyy.251 mark 0x2071
cache expires 264sec ipid 0x607b mtu 1376 iif GRE_INPUT_INTERFACE
Кроме того, время от времени (я подозреваю, что это зависит от трафика) mtu маршрута изменяется и сильно уменьшается, и в течение 10 минут (истечение срока действия кеша mtu) я не могу создавать новые соединения, для которых требуются пакеты большего размера, но старые установленные соединения работают хорошо. хммм?
Я бы сказал, что это вызвано тем, что туннель GRE маршрутизируется через другой туннель GRE. Ваша временная проблема может заключаться в отключении туннеля IPSEC на несколько секунд.