Назад | Перейти на главную страницу

Неожиданный маршрут Linux mtu

я наблюдаю довольно странное (по крайней мере для меня) поведение нескольких маршрутов в моей сети. Я использую 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 на несколько секунд.