Хай Олл.
В общем-то речь про очередной косяк ppp :) - с которым многие мучаются и
ответы я нашел только в какой-то из буржуйских рассылок.
(Хотя сейчас еще раз поискал зная уже нужные слова и нашел во многих
других местах, но тем не менее решил запостить сие письмо сюда -
может кому пригодится.)
В общем если на Debian etch 4.0 сделаете vpn сервер, то выяснится что
некоторые сайты при подключении по такому соединению не
открываются в принципе из-за маленького размера MTU/MRU и соответственно
попыткой фрагментировать пакеты. Однако некоторые
сайты отдают пакеты с флагом dont fragment (ну например yandex) и эта
фрагментация обламывается..... в результате расследования выяснилось
что какой-бы MRU/MTU не выставляли в конфиге - pppd договаривается с
виндовыми машинами (Linux не пробовал тогда) на меньший размер
(не помню на вскидку какой) и первым моим решением было добавить в
/etc/ppp/ip-up.d скрипт которы с помощью ifconfig изменял-бы MTU/MRU
на уже поднятом ppp интерфейсе. Это помогло но было в принципе криво,
дальнейшие раскопки привели к вот такому решению:
/sbin/iptables -A FORWARD -i ppp+ -p tcp -m tcp --tcp-flags SYN,RST SYN
-m tcpmss --mss 1301:65535 -j TCPMSS --set-mss 1300
/sbin/iptables -A FORWARD -o ppp+ -p tcp -m tcp --tcp-flags SYN,RST SYN
-m tcpmss --mss 1301:65535 -j TCPMSS --set-mss 1300
Это решение позволило расслабиться, но однажды на своей домашней машине
на которой я настраивал pppoe с помощью pppoeconf
обнаружилось более другое решение (хотя оно приводит в итоге к большему
количеству правил при большом
количестве ppp интерфейсов)
/etc/init.d/ip-up.d/0clampmss
--------------------------------------------------------------------------------------------
#!/bin/sh
# Enable MSS clamping (autogenerated by pppoeconf)
iptables -t mangle -o "$PPP_IFACE" --insert FORWARD 1 -p tcp --tcp-flags
SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
--------------------------------------------------------------------------------------------
/etc/init.d/ip-down.d/0clampmss
--------------------------------------------------------------------------------------------
#!/bin/sh
# Disable MSS clamping (autogenerated by pppoeconf)
iptables -t mangle -L -n -v --line-numbers | grep
"TCPMSS.*$PPP_IFACE.*clamp" | cut -f1 -d " " | xargs -n1 -r iptables -t
mangle -D FORWARD
--------------------------------------------------------------------------------------------
Как видно проблема решается немного разными способами, и я пока
затрудняюсь ответить какой из способов более правильный
(как в плане архитектуры решения так и в плане самого принципа - в одном
месте mss выставляется фиксированным, в другом как
я понял он выставляется равным mtu)
Вот в общем-то, может кому пригодится. Проблема опять-же из разряда -
"косяк из коробки".
Олег.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]