URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86934
[ Назад ]

Исходное сообщение
"mtu"

Отправлено handler2006 , 18-Окт-09 13:27 
Здравствуйте господа!
Имеем: роутер на базе fedora10  с 5 внешними линками (адсл-модемы) и одним внутренним в локальную сеть.
Суть проблемы в следующем: пользователи внутренней сети постоянно жалуются, что интернет часто пропадает, т. е. имеют место разрывы связи, ч/з некоторый промежуток времени все восстанавливается. И тут я недавно наткнулся на статью про похожие траблы http://www.opennet.ru/base/net/pppoe_mtu.txt.html . Посмотрел MTU у себя и обнаружил такую картину (думаю, Вы догадываетесь, какую): на всех интерфейсах роутера (внутренний и внешние), а также на интерфейсах клиентов влокальной сети mtu=1500 (по умолчанию), а на самих дсл-модемах - 1492.
Теперь, собственно, вопрос: Нам необходимо и достаточно установить значение mtu на всех интерфейсах роутера 1492, или также необходимо указать iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu ?
Если у меня mtu адсл-модемов 1492, значит мне необходимо изменить mtu на 1492 только тех интерфейсов, которые смотрят на модемы, а размер mtu локального интерфейса оставить 1500 для нормальной работы с клиентами?
Далее tcpdump показал, что флаг DF установлен на всех пакетах(99% вероятности, я не могу просмотреть весь дамп), приходящих с локального интерфейса, и флаг NONE на пакетах, которые приходят из-вне в локалку.
В статье написано:

Enable PMTU clamping via IPTABLES

This solution is only modern 2.4.x kernel users connected via ANY type of Internet connection. This solution allows for changes to be done ONLY on the MASQ server itself and not on all of the internal MASQ clients.
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Т. е. мне достаточно добавить одно правило и проблема будет решена беизменения значений mtu ?


Содержание

Сообщения в этом обсуждении
"mtu"
Отправлено pavel_simple , 18-Окт-09 14:50 
достаточно только указать

>tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu ?

вне зависимости от количества интерфейсов.


"mtu"
Отправлено handler2006 , 18-Окт-09 16:39 
>достаточно только указать
>
>>tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu ?
>
>вне зависимости от количества интерфейсов.

не могли бы Вы растолковать мне суть этого правила: все пакеты с установлеными флагами направлять в цепочку (что за цепочка) и что за опция цепочки


"mtu"
Отправлено ALex_hha , 19-Окт-09 00:58 
The TCPMSS target can be used to alter the MSS (Maximum Segment Size) value of TCP SYN packets that the firewall sees. The MSS value is used to control the maximum size of packets for specific connections. Under normal circumstances, this means the size of the MTU (Maximum Transfer Unit) value, minus 40 bytes. This is used to overcome some ISP's and servers that block ICMP fragmentation needed packets, which can result in really weird problems which can mainly be described such that everything works perfectly from your firewall/router, but your local hosts behind the firewall can't exchange large packets. This could mean such things as mail servers being able to send small mails, but not large ones, web browsers that connect but then hang with no data received, and ssh connecting properly, but scp hangs after the initial handshake. In other words, everything that uses any large packets will be unable to work.

The TCPMSS target is able to solve these problems, by changing the size of the packets going out through a connection. Please note that we only need to set the MSS on the SYN packet since the hosts take care of the MSS after that. The target takes two arguments.

The --clamp-mss-to-pmtu automatically sets the MSS to the proper value, hence you don't need to explicitly set it. It is automatically set to PMTU (Path Maximum Transfer Unit) minus 40 bytes, which should be a reasonable value for most applications.


"mtu"
Отправлено handler2006 , 19-Окт-09 16:27 
все равно интернет отваливается: играет радио, потом отваливается на минуту, затем снова играет, причем вэб-трафик в этот момент идет, и если обновить радио, то оно снова играет.
tcpdump ничего военного не показал:
15:30:51.370721 IP (tos 0x0, ttl 117, id 30602, offset 0, flags [DF], proto TCP (6), length 40) static-ip-62-41.eurorings.net.rtsp > 192.168.111.1.unify-adapter: ., cksum 0x7a4a (correct), 2555767:2555767(0) ack 7153 win 32524

"mtu"
Отправлено strike1984 , 25-Окт-09 21:57 
Если уверен, что mtu, почитай ветку где проблема решена, вариант интересен быстрым решением проблемы.
http://www.opennet.ru/openforum/vsluhforumID1/86969.html

>на дсл-модемах - 1492

Не понимаю, зачем соединение поднимать на модеме, а потом еще его натить через шлюз?