Кэш маршрутов в Linux, кажется, загружает устаревшие настройки
На SLES 11 SP3 (ядро 3.0.101-0.46) я вижу следующее поведение маршрута:
Когда я устанавливаю маршрутный MTU один раз через ip route change ... mtu lock 1500
все работает как положено (установка MTU 1500 на dev, настроенном с MTU 9000). Затем я изменяю маршрут обратно к первоначальной настройке (либо с mtu lock 9000
или вообще не устанавливайте mtu), сделайте ip route flush cache
проверил кеш очищен ip route show cache
,
Когда я затем пингую хост в соответствующей подсети, старая настройка маршрута с mtu lock 1500
загружается в кеш, хотя кеш очищен (как описано выше) и ip route show
показывает обновленный маршрут с mtu 9000.
Я также попытался отключить обнаружение PMTU, установив net.ipv4.ip_no_pmtu_disc = 1
в sysctl, но это не меняет поведение.
1 ответ
Вы убедились, что пакеты, покидающие интерфейс, имеют правильный MTU? Вы уверены, что какое-то другое устройство не изменяет и не фрагментирует их?