LINUX.ORG.RU
ФорумAdmin

Почему Linux не уменьшает MTU


0

0

Уважаемые господа подскажите в следующем вопросе:

Моя Linux машина(y.y.y.y) посылает пакеты на адрес z.z.z.z c MTU = 1500.

Мой маршрутизатор (x.x.x.x) отправляет следующее сообщение Linux машине: 19:38:56.558057 x.x.x.x > y.y.y.y: icmp: z.z.z.z unreachable - need to frag (mtu 1476) [tos 0xc0]

Но моя Linux машина не снижает MTU, а отправляет пакеты c MTU = 1500 (при этом флаг ip_no_pmtu_disc /proc/sys/net/ipv4 = 0).

Как решить данную проблему я знаю. Но мне интересно почему на Linux-е не работает PMTU Discovery в соответсвии с определенным RFC.

anonymous

icmp отфильтрованы?

ansky ★★★★★
()

может в пакете стоит флажок DF (don't fragment)? правда это как будто только для тисипей

anonymous
()
Ответ на: комментарий от anonymous

Протокол icmp не фильтруется (это проверено на 100 % - так как отсутствуют какие-либо фильтры).

Флажок DF действительно стоит. Но именно для этого случая и нужен PMTU Discovery, который при получение машиной icmp сообщения о необходимости снижения MTU используется, чтобы уменьшить MTU.

Именно этого и не происходит. Отсюда и вопрос.

anonymous
()
Ответ на: комментарий от anonymous

ну таких тонкостей я не знаю но знаю точно что линукс не форвардит пакеты больше своего МТУ с флагом ДФ -- подглядел в ядре

anonymous
()
Ответ на: комментарий от anonymous

А меньше. Т.е. почему Линукс не уменьшает МТУ, когда он на свой пакет с ДФ получает icmp о том что нужно уменьшить МТУ?

anonymous
()
Ответ на: комментарий от FUNKY

Можно по точней. Какой файл в /proc содержит данный флаг.

У меня есть только: net/ipv4/route/min_pmtu = 552 net/ipv4/route/mtu_expires = 600 net/ipv4/ip_no_pmtu_disc = 0

anonymous
()
Ответ на: комментарий от anonymous

Народ, а какой тип icmp пакетов нужно разрешить в фильтре, чтобы таких проблем не было?

snigga ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.