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