IPSEC VPN racoon

Michal Dobes dobes at tesnet.cz
Wed Jul 9 16:35:15 CEST 2008


Stefan Valko napsal(a):
> Zdravim riesim nasledujuci problem. Mam IPSEC VPN server (racoon) ktory spaja 
> 22 pobociek LAN - LAN (FreeBSD - Vigor 2700) na Vigore je posledny fw 2.7.3 
> od T-COMu (kedze zo starsimi,robilo problem to ze po vytoceni VPNky sa 
> resetol na tvrdo VIGOR) , problem mam ten ze niekedy padne VPNka medzi BSD a 
> Vigorom a niektore Vigori vytocia si VPN spojenie ktore je v poriadku 
> prechadzaju hned data a je to ok, ale niektore si vytvoria VPN spojenie ale 
> nepretecie cez tunnel nic :( len sa tvari ze VPN je vytvorena. Potom pomoze 
> len to ze racoon restartnem a potom sa tie VPNky ktore mali tz. neuplny 
> tunnel pripoja uplne bez problemov !!! Neriesil niekto nieco podobne? V 
> logoch racoonu som nic mimoriadne nevsimol a na google som nic normalne 
> nenasiel :( Vychadza mi to na problem Vigorov ale pre istotu sa tu pytam ze 
> ci nahodou ma niekto nevie nakopnut a nejako to doladit. Tyka sa to cca 3 - 4 
> Vigorov z 22.

Jaké SPI indexy používá ten BSD systém a Vigor v okamžiku toho
"neúplného spojení"?
Řešil jsme něco podobného na linuxu. V podstatě šlo o to, že když
Vigor vyjedná nové klíče a SPI indexy, tak ty staré natvrdo zahodí
a jde jen po novém páru. Kdežto racoon s linuxem po vyjednání nových
si pamatuje i ty staré, ty si označí jako zastaralé, ale používá je dál
ke komunikaci do vypršení doby jejich platnosti. Po restartu racoona
samozřejmě zahodí všechno a jde načisto od nuly, takže to pak funguje.
Zda po vyjednání nových SPI/klíčů bude dál používat staré rozhoduje to,
zda před zahájením vyjednávání nových parametrů tunelu byla na starém
nějaká  komunikace, pokud ano, tak racoon dál vesele používá staré klíče
"do dožití" pro odesílání dat (které už Draytek zahodil a tím pádem je
pro něj tato komunikace mrtvá). Pro příjem dat linux akceptuje staré
i nové současně, takže přenos dat jde jen směrem Draytek->linux.
Pokud předtím žádná komunikace nebyla, tak začne používat jen ty nové.
Zda tento problém může být i na FreeBSD nevím, ale tcpdump s setkey
rychle napoví.

Jinak na routery a ADSLka od Drayteku pozor, neumí korektně reasemblaci
paketů, pokud nedojdou jednotlivé fragmenty ve správném uspořádaném
pořadí.  Výrobce o problému roky ví, ale evidentně se mu do opravy
IP stacku nechce. V kombinaci s VPNkem se problém objeví třeba při
použití certifikátů.
V ČR se to projevuje nádherně třeba v ADSL síti O2. Pokud dojde do
sítě O2 paket, který je už fragmentován a O2 musí fragmentovat
podruhé, tak vždy pošle prvně druhý fragment a pak první, což má
za následek, že to Draytek v tichu zahodí. Ve vztahu k VPN například
mám na jedné straně Vigor 2950 připojený přes Ethernet a na druhé
straně je ADSLko 2800 na lince O2 a je nastaveno použití certifikátů,
tak 2950 vygeneruje UDP  v délce cca 1540 bajtů, takže fragmentuje
na 1500 a 40 bajtů. V síti O2 kvůli PPPoE musí fragmentovat znova,
takže z toho bude cca 1480+20+40, ale v jejich síti těch 20 bajtů
jde linkou jako první, pak 1480 a naposledy 40, a to Draytek nerozdýchá.
Pokud dochází jen k jedné fragmentaci na straně O2, řekněme přijde
jim klasický 1500 a udělají z toho 1480+20, tak k přehození
nedochází (obvykle stav při IPsecu s použitím sdílených klíčů).

M.


-- 
   Bc. Michal Dobes

   TES s.r.o.
   Prazska 597,  Trebic 674 01,  Czech Republic
   Tel: +420-568 838 425  Fax: +420-568 838 427
   GSM: +420-724 991 906
   mailto:dobes at tes.eu



More information about the Users-l mailing list