dan Опубликовано 6 декабря, 2005 · Жалоба Суть проблемы: 1. Некоторые сервера в инете (yandex, например) отсылают все пакеты с установленным флагом DF, что запрещает их фрагментацию. 2. Туннели VPN идут с MTU<1500. 3. Отсюда проблема - пакеты не проходят, сайты не открываются. Пути решения: Cisco умеет снимать DF у проходящего трафика. Вопрос: Как это сделать на Linux? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sirmax Опубликовано 7 декабря, 2005 · Жалоба есть патч на ядро+модуль к iptables, ищется гуглем но на новые ядра не накладывается (старше 2.6.13 по моему) Работает сносно, проверял. Если не найдешь - я покопаюсь у себя и выложу. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dan Опубликовано 7 декабря, 2005 · Жалоба это я находил, спасибо. но там и iptables нужен не первой свежести... неужели у всех фрагментация в VPN работатет без проблем? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sirmax Опубликовано 7 декабря, 2005 · Жалоба dan Он простой, я думал попробовать переделать его под новые ядра, но ИМХО должен быть и другой спопсоб. Кстати, проблема у меня было с GRE тунелем а не с VPN Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dan Опубликовано 7 декабря, 2005 · Жалоба кому интересно - http://mordor.strace.net/iptables/ проблема-то не на моей стороне а на серверной. напол ставить флаг DF в Интернете? теоретически (да и практически) эти грабли проявляются при любом тунеллировании. вообще, я долго рыл. под линух - только этот патч или прокси ставить. PS: откатился iptables 1.2.9. пропатчил. все работает нормально. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Гость Опубликовано 8 декабря, 2005 · Жалоба есть патч на ядро+модуль к iptables, ищется гуглемно на новые ядра не накладывается (старше 2.6.13 по моему) вернее начиная с 2.6.13.6 (кажется). уже оказывается не надо nfcache-у говорить, что пакет изменен. изменил модуль. если кому надо могут забирать с http://mordor.strace.net/iptables/ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sirmax Опубликовано 10 декабря, 2005 · Жалоба Гость Спасибо!Полезный модуль. Буду апдейтится! Куда высылать пиво? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
balamutang Опубликовано 10 декабря, 2005 · Жалоба а на FreeBSD как снять? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Say Опубликовано 10 декабря, 2005 · Жалоба А если немного с другой стороны зайти? iptables, TCPMSS, --set-mss И патчить не нужно, правда только tcp, но, по опыту, этого хватает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
avl Опубликовано 12 декабря, 2005 · Жалоба А если немного с другой стороны зайти? iptables, TCPMSS, --set-mss И патчить не нужно, правда только tcp, но, по опыту, этого хватает. тогда можно сделать и ifconfig ethx mtu 1476, по опыту этого тоже хватает для борьбы с тунелями. А изменение mss действительно проблематично из-за того, что это tcp only. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
avl Опубликовано 12 декабря, 2005 · Жалоба ГостьСпасибо!Полезный модуль. Буду апдейтится! Куда высылать пиво? пожалуста. долго не апдейтил, бо не думал, что в кернеле так оперативно api сменят :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
desperado Опубликовано 12 декабря, 2005 · Жалоба А если немного с другой стороны зайти? iptables, TCPMSS, --set-mss И патчить не нужно, правда только tcp, но, по опыту, этого хватает. именно так лучше и делать, а снятие флага плохой путь. Ко всему прочему максимальная длина UDP сами знаете сколько, icmp в большинстве случаев, тоже не большие, а пинги большими пакетами, - не велика беда, потеря. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
catalist Опубликовано 13 декабря, 2005 · Жалоба народ а как снять флаг дф на цыске 2620? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Painter Опубликовано 15 марта, 2012 · Жалоба Со свежими ядрами Linux и tc, можно снять флаг DF с пакета, который должен быть инкапсулирован в IPIP и тогда DF не перенесется в заголовок IPIP пакета. tc q add dev eth1 ingress tc f add dev eth1 \ parent ffff: pref 10 protocol ip \ handle ::1 u32 \ match ip df \ action pedit munge offset 6 u8 set 0x00 retain 0xbf \ pipe action csum ip eth1 - интерфейс, через который пакеты с флагом DF попадают в роутер В rfc2003 "IP Encapsulation within IP" написано: ... if the "Don't Fragment" bit is set in the inner IP header, it MUST be set in the outer IP header; if the "Don't Fragment" bit is not set in the inner IP header, it MAY be set in the outer IP header ... И не было бы никаких проблем, если бы не негодяи, которые блокируют ICMP сообщения "Destination Unreachable" c "Fragmentation required, and DF flag set" которые шлет Linux, когда не может запихнуть пакет в интерфейс c меньшим MTU. Cisco и FreeBSD используют грязный хак, не вставляя DF флаг в IPIP пакет :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
g3fox Опубликовано 15 марта, 2012 (изменено) · Жалоба Была проблема при установлении ipsec поверх vpn (pptp). Как решение поставили на тоннель MTU 1512. То есть получилось так, что в тоннель пакет лезет без фрагментации, а сам gre пакет подвергается фрагментации. Изменено 15 марта, 2012 пользователем g3fox Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 15 марта, 2012 · Жалоба Cisco и FreeBSD используют грязный хак, не вставляя DF флаг в IPIP пакет :) 1. Во фре не один способ IPIP. 2. DF давно снимается тем же ПФ, при желании. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 15 марта, 2012 · Жалоба археологи, вы на дату смотрите. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
[anp/hsw] Опубликовано 15 марта, 2012 · Жалоба s/археологи/некрофилы/ Помнится, последнним этот патчик видел под 2.6.20. Когда понадобилось сделать под 2.6.36 - нагуглил необходимые изменения за полчаса (опять API поменяли). В таргете же iptables вообще надо было поменять ipt_* на xt_* и он прекрасно собирался. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
KrD13 Опубликовано 7 октября, 2012 · Жалоба s/некрофилы/энтузиасты/ Собственно, патч для снятия IP:DF я тоже помню, только теперь strace.net лежит, более нигде не смог найти патчик. Если у кого остался - выложите в сеть, пожалуйста, попробую к xtables прикрутить, вдруг получится. Также, волнует вопрос один - после прохождения пакетом таблицы iptables:mangle контрольная сумма IP пересчитывается? Не то чтобы я против изучения tc - всего лишь хотелось малой кровью через iptables справиться. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 8 октября, 2012 · Жалоба Контрольная сумма "пересчитывается". Для пересчёта вычитается старое значение и прибавляется новое, чтобы не считать всё целиком. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
KrD13 Опубликовано 8 октября, 2012 (изменено) · Жалоба Реквестирую патч. :) UPD: как было замечено в одном источнике, флаг DF может быть снят в заголовке пакета установкой значения 1 параметра ядра net.ipv4.ip_no_pmtu_disc (/proc/sys/net/ipv4/ip_no_pmtu_disc, кому как удобнее). Тем не менее, патч хочу получить для самообразования. Изменено 11 октября, 2012 пользователем KrD13 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...