VPN L2TP/Racoon/IPSec
Dan Lukes
dan at obluda.cz
Thu Apr 28 17:14:29 CEST 2005
mytrix napsal/wrote, On 04/28/05 16:46:
> a) měl jste pravdu s těma IPčkama, jakmile jsem provedl úpravu dle vaši
> rady, log hned vypadal zajímavěji. Až na bod b)
> b) zde dělala neplechu nastaveni lifetime, servery se zřejmě dost dobře
> neshodli na doby vypršení. (ERROR: proposal.c:217:cmpsaprop_alloc(): long
> lifetime proposed: my:30 peer:3600)
To jsem si sice vsiml, ale spatne vylozil a za problem to nepovazoval.
> záznam. Když jsem adresu vrátil zpět, tak při pokusu o připojení se mi v
> messages objeví hláška "kernel: IPv4 ESP input: no key association found for
> spi 43877483". Jak jsem zjistil na diskuzi, tak prostě musím čekat, dokud
> nevyprší ta session, nebo tak něco. Nicméně jak lze toto ošetřit, aby k
No, nevim, jestli jsem dostatecne podchytil v cem mate problem.
Zkusim malinko zabrousit do toho, jak IPSEC funguje.
Pokud policy (ulozena v SPD) urci, ze paket se ma zasifrovat, provede
se to nejnovejsim dostupnym klicem. Onen klic ma svoje SPI a to je
zapsano do zasifrovaneho paketu. Na druhe strane se zasifrovany paket
identifikuje prave timto SPI a tim se najde prislusny klic.
Klice samy maji omezenou zivotnost a jejich vymena (obnova) probiha
asynchronne na samotnem prenosu dat. Proste, kdyz je treba data
zasifrovat, ale zatim k dane policy zadny klic neexistuje, pak ISAKMP
dostane za ukol nejaky dohodnout. Totez se stane, pokud klic existuje,
ale blizi se doba jeho expirace (je ve stavu "dying"). Neni nic divneho,
pokud v systemu k dane policy existuje klicu vic - jelikoz vymena klicu
je asynchronni a navic, poradi ani zpozdeni paketu v siti Internet neni
zaruceno, stava se, ze po dohode na novem klici prijdou jeste pakety
"stare" - to ale nicemu nevadi, stary klic, se svym SPI je v systemu
stale pritomen a lze ho pouzit na desifrovani. Na odesilani uz se
pouziva ale klic novy (vzdy nejnovejsi dostupny).
Komplikace nastane ve chvili, pokud jedna strana "ztrati" klic k platne
session. A zda se, ze presne k tomu doslo u vas (proc presne, to nevim).
Velky problem je to zejmena v pripade, ze se prenasi komunikace typu
"klient-server" a klic ztratil server.
Klient v teto chvili posila pozadavek chraneny klicem urciteho SPI,
ktere ale server nezna. Neni schopen pakety zpracovat, nevi k jake
policy patri - a v zasade - jsou to pro nej stejne neduveryhodne pakety,
jako pakety nejakeho utocnika. Prichod pakety s neznamym SPI vyvola
prave tu hlasku, kterou jste videl. Klient ale nevi, ze jeho pakety jsou
zahazovany - IPSEC "utocnika" o takovem rozhodnuti neinformuje. Klient
nema zadny duvod zahajit hanshaking o novem klici - on preci platny ma.
Server, naproti tomu, s klientem nema duvod komunikovat - nema zrovna
zadny pozadavek na vyrizovani, a sam od sebe on nemluvi. Nejsou-li zadna
data k odeslani, neprijde se na to, ze prislusna policy nema zadny
platny klic - a handshaking se tedy take nezahaji.
Vysledkem je "mrtva session" az do okamziku, kdy vyprsi platnost klicu
klienta. Pak je to, obvykle, on, kdo iniciuje vymenu klicu.
Neexistuje mnoho uspokojivych reseni. Zaprve lze zkratit zivotnost
klicu a tim zkratit "mrtvou" dobu. Nedoporucuju ji ale zkracovat
presprilis - omezenim je nejmene to, ze samotny hanshaking neco trva, a
stav "dying" nastava typicky v 80% vycerpane zivotnosti - domluva noveho
klice se tedy musi stihnout v onech dvaceti procentech - a je treba si
uvedomit, ze pod zatizenim se tu a tam muze nejaky paket ztratit, takze
by bylo dobre pocitat s tim, ze ne vzdy se to podari hned a tak by tento
cas mel vystacit i nejmene na jedno, lepe vsak dve, opakovani.
Zadruhe, lze oboustranne pravidelne "pingat" - to pripadne vyprovokuje
hanshaking "mrtve strany". To uz ale IPSEC ani ISAKMP nezajisti.
> předpokládám, že se budu muset poprat s NAT-T, abych protlačil IPSec spojení
> v případě, že by se klient přihlašoval z NATované sítě, což je v dnešní době
> celkem běžný problém. Jen doufám, že to nebude zásadní problém.. ? :o)
Nevim. Az dosud jsem mel dojem, ze tohle ani FreeBSD ani Windows
nepodporuji. Ale tolik to nesleduju. Dejte vedet, jak jste dopadl. TO me
docela zajima ...
Dan Lukes
More information about the Users-l
mailing list