The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Тематический каталог: О PPPoE, MTU и проблеме Path MTU Disco..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Тематический каталог: О PPPoE, MTU и проблеме Path MTU Disco..."  +/
Сообщение от auto_topic (?), 16-Мрт-07, 15:24 
Обсуждение статьи тематического каталога: О PPPoE, MTU и проблеме Path MTU Discovery Black Hole (pppoe mtu)

Ссылка на текст статьи: https://www.opennet.ru/base/net/pppoe_mtu.txt.html

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от tau (?), 16-Мрт-07, 15:24   –1 +/
Отличная статья для начинающих!
Ответить | Правка | Наверх | Cообщить модератору

2. Сообщение от scamp (??), 16-Мрт-07, 17:54   +1 +/
Сам с месяц назад напоролся на такую проблему. решение заняло около 3 часов. после консультации с сетевым специалистом, начал копать в сторону mtu (хотя подозрения на этот счет были сразу). поиск по конфигам shorewall (именно им пользуюсь для удобства управления iptables. рекомендую всем) привел к интересным коментариям:

[From the kernel help:
#
#    This option adds a `TCPMSS' target, which allows you to alter the
#    MSS value of TCP SYN packets, to control the maximum size for that
#    connection (usually limiting it to your outgoing interface's MTU
#    minus 40).
#
#    This is used to overcome criminally braindead ISPs or servers which
#    block ICMP Fragmentation Needed packets.  The symptoms of this
#    problem are that everything works fine from your Linux
#    firewall/router, but machines behind it can never exchange large
#    packets:
#        1) Web browsers connect, then hang with no data received.
#        2) Small mail works fine, but large emails hang.
#        3) ssh works fine, but scp hangs after initial handshaking.
# ]

Собственно решение превратилось в активацию в shorewall опции
CLAMPMSS=Yes

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

3. Сообщение от _Kuzmichemail (??), 19-Мрт-07, 08:53   +/
>iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

В мануале написано, что данное правило работает только в таблице mangle, незнаю как у вас оно отрабатывает в таблице filter, у меня такое не проходит.

Ответить | Правка | Наверх | Cообщить модератору

4. Сообщение от greg (??), 27-Май-07, 20:13   +/
поправка :
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5

5. Сообщение от omegasemail (ok), 04-Дек-07, 10:31   +/
перепробовал все, ограничение мту не помогло. Решилось все красиво, вот такой строчкой в цепочке mangle: -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #19

6. Сообщение от DemoNemail (??), 09-Мрт-08, 16:57   +/
Была аналогичная проблема с L2TP содинением. Исходищее соединение L2TP с MTU 1460 (от Корбины), внутренная квартирная сеть на Ethernet... Долго понять не мог почему часть сайтов работает, а часть нет...
После длительного установления проблемы, пришел к решению с iptables...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #48

7. Сообщение от ciwlemail (??), 03-Апр-08, 02:24   +/
respect! 3-й день ломаю голову... уже тож хотел проксик ставить =)
Ответить | Правка | Наверх | Cообщить модератору

8. Сообщение от Аноним (-), 12-Май-08, 11:26   +/
Стать класс
Уже вообще хотел от Linux отказаться т.к. прокси не подходил
Ответить | Правка | Наверх | Cообщить модератору

9. Сообщение от Ламоemail (?), 08-Ноя-08, 02:12   +/
Век живи, век учись...
Моя ситуация - Ноутбук+обычный ПК подключены к D-Link DSL-2640U, ноут по ВайФай.
На ноуте одноклассники.ру работают, на компе нет, причем на компе явные тормоза при работе в нете - половина сайтов не открывается... Я уж и антивиром прогнал комп, и переустанавливать задумал, но... засада в МТУ. Причем, где-то на Microsoft.com прочитал, что изначальное значение MTU определяется драйверами для сетевой карты. Ессно, я посмотрел в реестре на буке (знач. 1300) и на ПК (1500). На ПК поставил 1300 и все заработало...
Такие вот пироги
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от meraxemail (??), 30-Ноя-08, 18:50   +/
Аналогично была проблема с Cisco 2651 c модулем ADSL. Что самое интересное mail.ru открывался, а вот r.mail.ru посылал в null. Решил проблему вот так -
  
ip tcp adjust-mss 1452
ip policy route-map clear-df
Ответить | Правка | Наверх | Cообщить модератору

11. Сообщение от Борисemail (??), 20-Дек-08, 00:35   +/
Та же самая проблема, провод от корбины с MTU 1460 попадает на сервер Windows 2000, который через вторую сетевуху раздает инет на клиенты. На серваке стоит RRAS. Инет с клиентов без ручной переустановки MTU не работает (((
Ответить | Правка | Наверх | Cообщить модератору

12. Сообщение от Penguinemail (?), 17-Апр-09, 11:24   +/
Подниму своим спасибом, напоролся при раздаче Йоты на мелкий офис. Помогло :-)
Ответить | Правка | Наверх | Cообщить модератору

13. Сообщение от Bill Routersemail (??), 02-Июн-09, 01:59   +/
Перешел  с Ubu на Deb, а он не выставил при настройке ppp0 mtu, искал часов 5 думал с ума сойду,
на ядре 2.6.24 работает на 2.6.26 нет, при этом конечно, как указано в статье, локальный комп. в Internet нормально ходит, а остальные через NAT фиг.
Ответить | Правка | Наверх | Cообщить модератору

14. Сообщение от YuStemail (?), 04-Сен-09, 17:51   +/
Действительно спасибо!, нарвался на "умников", которые закрыли ICMP 3:4, думал мозгами двинусь, пока искал проблему... Самое смешное, что эти "товарищи" - админы банка, у них видете-ли политика безопасности такая ;)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

15. Сообщение от lioxaemail (?), 10-Сен-09, 18:20   +/
Spasibo dobrij chelovek!
Ответить | Правка | Наверх | Cообщить модератору

16. Сообщение от Вася (??), 05-Окт-09, 02:27   +/
Очень полезная статья! Автору огромнейшее спасибо! Все мои проблемы с настройкой шлюза сразу решились!
Ответить | Правка | Наверх | Cообщить модератору

18. Сообщение от TITOemail (?), 28-Окт-09, 18:25   +/
Спасибо огромное добрый человек, очень выручил, здоровья те и удачи)
Ответить | Правка | Наверх | Cообщить модератору

19. Сообщение от Variable (?), 18-Дек-09, 14:32   +/
А вот этому пути лучше не следовать. Дело в том, что если у вас где-то по дороге окажется сайт, у которого MSS окажется меньше 1300 , то он его увеличит до 1300 и у вас могут возникнуть проблемы с фрагментацией пакетов!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

20. Сообщение от Анатолийemail (??), 31-Мрт-10, 13:56   +/
Автору огромный респект, я тоже столкнулся с такими клоунами (mtu 1490), почтовики через pop3 получали список писем а сами письма нет, соединение вешалось. С самого шлюза все работало нормально
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #26

21. Сообщение от Greg (??), 13-Апр-10, 09:36   +/
> Самое смешное, что эти "товарищи" - админы банка, у них видете-ли
> политика безопасности такая ;)

Гы... верняк, только что столкнулся именно с такой ситуацией.
Банк-клиент не хотел работать через ppp туннель, потому что банковский хост не блочит icmp.


  

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

22. Сообщение от Iv (??), 08-Май-10, 12:19   +/
Автор - мегачеловек! Огромнейшее спасибо! Я бился с клиент-банком 2 дня. После общения с серваком по телнету понял что копать надо в сторону МTU. И тут такой подарок!
Ответить | Правка | Наверх | Cообщить модератору

23. Сообщение от Андрей (??), 04-Авг-10, 16:30   +/
Всё это хорошо, только вот проблема. Почему -j TCPMSS --clamp-mss-to-pmtu высчитывает MSS как MTU-40 (т.е.20-IP, 20-TCP)? Проснифил. У меня на Windows 7 TCP заголовки сплошь и рядом идут более 20 байт. Доходит до 56! Соответственно эти пакеты не проходят и дропаются. Все MSS уменьшать до мин.значения с учётом TCP-56 - равносильно уменьшению скорости для пакетов с размером TCP-20. Почему в iptables нету автоматической определялки MSS?!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #25

24. Сообщение от Сергейemail (??), 23-Сен-10, 17:30   +/
Всё это замечательно. Спасибо огромное за статью. В инете вообще мало информации о MTU.
Но есть вопрос такого плана - а что, в обычных пакетах с HTTP нагрузкой (хотя не важно что там внутри, может быть и FTP или что-то ещё) всегда устанавливается бит DF? И если да, то зачем?

Ответить | Правка | Наверх | Cообщить модератору

25. Сообщение от Андрей (??), 24-Сен-10, 09:06   +/
Потом уже разобрался. Заголовок TCP+IP более 40 байт только во время установления TCP сессии. В это время пакеты небольшие и не достигают MTU в любом случае. А вот во время передачи, когда пакеты большие, заголовок равен ровно 40 байт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

26. Сообщение от Andrew.D.Mashkov (?), 10-Дек-10, 15:40   +/
Та же проблема, не бегает pop3 хоть убей, все остальное - номрально. Добавление строки к сожалению проблемы не решили. Все равно конект есть, письма не забираются.
Может подскажете куда еще копнуть?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

27. Сообщение от Олег Реваemail (?), 23-Дек-10, 16:16   +/
А вот за это спасибо!!

iptables -I OUTPUT 1 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

iptables -I FORWARD 1 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Реально помогло.

Ответить | Правка | Наверх | Cообщить модератору

28. Сообщение от OEM_щука (?), 24-Май-11, 23:12   +/
А теперь для Микротика:

в профайле выбирает no в пункте change mss, и далее выполняем в терминале эту строку:

/ ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360  disabled=no

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #51

29. Сообщение от Alexemail (??), 02-Сен-11, 16:12   +/
Сделал как тут написано через iptables
пипец, раньше сайты грузились 5 минут, теперь вабще не грузятся, пишет чото там про DNS

чо делать?

Ответить | Правка | Наверх | Cообщить модератору

30. Сообщение от Alexemail (??), 02-Сен-11, 16:16   +/
причему чтобы команды подействовали нужен префикс sudo

у меня убунту стоит на wmware в винде сайты грузятся, а в убунту нет
причем раньше грузились но по 2-3 минуты, после вашего способа ваще не грузятся пишет:

Веб страница не доступна
проверьте DNS бла бла бла бла бла и тд

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #31

31. Сообщение от Андрей (??), 02-Сен-11, 16:32   +/
> причему чтобы команды подействовали нужен префикс sudo
> у меня убунту стоит на wmware в винде сайты грузятся, а в
> убунту нет
> причем раньше грузились но по 2-3 минуты, после вашего способа ваще не
> грузятся пишет:
> Веб страница не доступна
> проверьте DNS бла бла бла бла бла и тд

От этой команды не может перестать грузиться:)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #32

32. Сообщение от Alexemail (??), 02-Сен-11, 16:47   +/
Тем не менее факт остается фактом =)
проблема в том что я даже (как одно из решений) днс сервера задать не могу, потому что мой провайдер их не говорит, в справочники пользователя для всех ОСей пунктик стоит определять dns автоматически =) я хз чо делать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

33. Сообщение от Alexemail (??), 02-Сен-11, 21:42   +/
можно как нибудь сбросить iptables ???????
Ответить | Правка | Наверх | Cообщить модератору

34. Сообщение от Alexemail (??), 04-Сен-11, 11:56   +/
Ухахаха

смотрели видео один день админа? когда он просил ламера перегрузиться 3 раза?)

Так вот пока писал эту команду ребутился раза 2 инет так и не заработал! забил вот наследующий день загрузил убунту все летает =)

надо было просто ребутиться 3 раза ;)

Ответить | Правка | Наверх | Cообщить модератору

35. Сообщение от Андрейemail (??), 15-Сен-11, 14:15   +/
Включите реакцию на ICMP и не парьтесь.
По секрету - ICMP бывает с полезным payload`ом. В частности, получатель может попросить уменьшить размер пакета.
Ответить | Правка | Наверх | Cообщить модератору

36. Сообщение от riv1329email (?), 03-Фев-12, 17:20   +/
В 2011 году CLAMPMSS=Yes в конфиге shorewall всё еще актуален. Хотя было-бы логично включать эту опцию по умолчанию.

Спасибо за информацию.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

37. Сообщение от wolf10 (?), 19-Авг-12, 19:03   +/
Большой поклон автору :) Второй день мучаюсь почему rutracker.org не может открыться. Решил проблему с iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #38

38. Сообщение от funditus (?), 22-Авг-12, 09:02   +/
> Большой поклон автору :) Второй день мучаюсь почему rutracker.org не может открыться.
> Решил проблему с iptables -A FORWARD -p tcp -m tcp --tcp-flags
> SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Правильней было бы:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Именно в таблице mangle. См. man iptables.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

39. Сообщение от Ivan Drago (?), 02-Сен-12, 06:18   +/
У меня такая ситуация.
Провайдер NetByNet, протокол PPPoE.
Если шнур воткнуть в комп напрямую, инет замечательно работает.
Если через роутер Asus RX3041H (работает на линуксе), начинаются проблемы:
- многие сайты грузятся с тормозами;
- при попытке проиграть видео на ютубе, оно может загрузиться частично, для дальнейшей загрузки нужно передвинуть ползунок;
- на сайте нтв.ру видео либо не проигрывается вообще, либо грузится по 1% за полчаса.
Ставил разные значения MSS в роутере. Ничего не меняется.
Как заставить роутер нормально работать?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #41

40. Сообщение от DrTiEemail (?), 18-Окт-12, 00:09   +/
У меня провайдер NetByNet модем ZTE ZXV10 W300 все настраиваю но в инет не входит. в чем проблема...
Ответить | Правка | Наверх | Cообщить модератору

41. Сообщение от Nas_tradamus (ok), 30-Окт-12, 10:23   +/
Ну у меня на dd-wrt помогло NetBynet такое:

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Таких глюков как у вас я не наблюдал, но иногда они возникали: то какой-нибудь сайт перестает открываться на одном из компов (не более минуты глюк), то еще какой прикол с ютьюбом. Главное что бесило: после ребута роутера сайты минут 5 нормально не открывались - открывалось лишь несколько, а остальные не были доступны, потом все становилось нормально. Но 99% времени все работало хорошо. Кстати, посмотрите выставлено ли значение MTU 1492 в самом подключении pppoe.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #43

42. Сообщение от netc (??), 14-Июл-13, 12:55   +/
спасибо большое - если не сказать огромное !!!

правило с iptables сработало

Ответить | Правка | Наверх | Cообщить модератору

43. Сообщение от Ivan Drago (?), 02-Сен-13, 07:19   +/
(Разгребая закладки, наткнулся на сайт, где я год назад оставил сообщение.)
Спасибо за помощь. Скорее всего, старый роутер (ASUS RX3041H) вышел из строя, поэтому работал с такими глюками. С новым роутером (ASUS RT-N66U) всё работает как надо.
Где нужно прописывать команду "iptables..."?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

44. Сообщение от Алексейemail (??), 03-Ноя-13, 20:39   +/
этой волшебной строчки не хватало для полноценного моста из ящика на линуксе с ppp на wlan
вот весь мост
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45

45. Сообщение от funditus (?), 04-Ноя-13, 08:24   +/
> этой волшебной строчки не хватало для полноценного моста из ящика на линуксе
> с ppp на wlan
> вот весь мост
> echo 1 > /proc/sys/net/ipv4/ip_forward
> iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
> iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Это не мост, а маршрутизатор, да и очень специфичный (натится на оба интерфейса).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

46. Сообщение от Vittoemail (?), 12-Май-15, 00:39   +/
Сегодня столкнулся, чуть умом не тронулся пока искал в чем засада..

В убунте, в /etc/ppp/ip-up.d/0clampmss лежит эта настройка такого вида:


iptables -t mangle -o "$PPP_IFACE" --insert FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu

так вот, если луна стоит в правильной позиции и ты вдруг про эту настройку не знаешь и трешь все правила iptables перед тем, как залить свой набор правил, жди сюрпризов..

В любом случае спасибо за статью!!!

Ответить | Правка | Наверх | Cообщить модератору

48. Сообщение от Anton (??), 03-Мрт-18, 21:13   +/
Та же фигня была недавно... Спасибо автору!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

50. Сообщение от procsik (ok), 09-Дек-18, 15:49   +/
Если сам шлюз инициирует соединение, то пакет не пройдёт через FORWARD, поэтому лучше записать это на выходе в POSTROUTING (например, для интерфейса ppp0):

iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ppp0 -j TCPMSS --clamp-mss-to-pmtu

И нужно учесть то, что по-умолчанию pppd через pppoeconf ставить mtu:1492. Придётся замерить с другого шлюза реальный MTU:

ping -M do <ipaddr> -s <MTU>, где MTU это значение с учётом ICMP. Например, если 1452 проходит, то в конфиг pppoe нужно записать 1452+28, т.е. 1480. Тогда --clamp-mss-to-pmtu сам будет выставлять 1480-20-20, т.е. 1440 Что является правильным.

Ответить | Правка | Наверх | Cообщить модератору

51. Сообщение от Евгенийemail (??), 08-Янв-20, 00:43   +/
Помогло ))
RouterOS V6.45.1
Благодарю ))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру