Tuhnutí spojení, problém v nastavení MTU/MSS
Pavel Lisy
pali na tmapy.cz
Pondělí Září 6 10:54:01 CEST 2010
Dobrý den
zajímalo by mě, jestli jste někdo nenarazil na podobný problém a vyřešil
ho, případně co mohu ještě zkoumat.
Mám na firemním GW linux (RHEL5) a pomocí vpnc (open source cisco
klient) připojení k cisco na druhé (CISCO) straně. Po změně providera na
CISCO straně se začaly projevovat problémy s tuhnutím spojení, např. při
práci přes ssh. Nakonec jsem identifikoval, že zřejmě nefunguje korektně
detekce MTU a větší pakety (např. start mc na cílovém serveru) se zpátky
pokoušejí projít celé, což se jim nepodaří.
Aby to nebylo jednoduché, problém se projevuje pouze pokud je zdroj
spojení v LAN, ve které je GW s vpn připojením. Z jiných míst
připojených do zmíněné LAN pomocí dalšího VPN tunel (tentokrát pomocí
openvpn) k tomu problému nedochází a start mc je okamžitý (proti
několika 10s až minutám v případě ssh připojení startovaného přímo z
LAN)
S pomocí google jsem našel částečné řešení:
pokud na stroji, ze kterého startuji ssh spojení na cílový stroj v CISCO
sítí nastavím:
/sbin/ip route add ${ip_address} dev ${TUNDEV} table ${routetable}
/sbin/ip route change ${ip_address} dev ${TUNDEV} table ${routetable} advmss $INTERNAL_IP4_MSS
kde $INTERNAL_IP4_MSS je o 40b méně než MTU
INTERNAL_IP4_MSS=$((${INTERNAL_IP4_MTU:-1412} - 40))
tak k tuhnutí spojení nedochází.
Problémem ale je, že bych to musel nastavovat na všech počítačích, které
do CISCO sítě mají mít přístup a navíc nevím, zda by to vůbec šlo
nastavit pro windows (rozhodně nevím jak).
Nenapadá vás z popisu, jak kde by mohl být zakopaný pes a co bych ještě
mohl zkusit? Zkusil jsem stejné nastavení i na GW, ale spojení tuhne
stejně. Pomůže pouze nastavení na zdrojovém počítači.
Budu vděčný i za tipy, co ještě zkusit, protože to potřebuji vyřešit.
Pavel Lisý
--
Pavel Lisy <pali na tmapy.cz>
Další informace o konferenci Linux