Sledovani IPSec tunelu

Michal Kubecek mike na mk-sys.cz
Středa Září 22 23:00:55 CEST 2004


On Wed, Sep 22, 2004 at 01:34:13PM +0200, David Rohleder wrote:
> 
> mam drobny problemek s IPSec tunelem v novych jadrech 2.6 (nativni
> implementace + KAME racoon). Potreboval bych vedet jakym zpusobem mohu
> zjistit, ze paket skutecne vlezl do tunelu. Ve FreeS/WAN to bylo
> jednoduche, stacilo si dat tcpdump na ipsec0. V nove implementaci
> tento interface neni, takze bych potreboval vedet, nejakou metodu
> alespon priblizne stejnou jako je pouziti tcpdump -i ipsec0

Asi tak před půl rokem jsme to tady rozebírali. Výsledek byl takový, že
je-li použit transport mode, vidíte pouze "nosné" (ESP) pakety. Jde-li o
tunnel mode, vidíte u netfilteru v INPUT (OUTPUT) "nosné" (ESP) pakety a
ve FORWARD ty "přenášené". Podobně je to v případě tcpdump (na vnějším
rozhraní nosné, na vnitřním přenášené).

Když jsem to ale zkoušel před pár dny, viděl jsem pomocí tcpdump i u
transport modu vnitřní pakety, ale poničené - v pořádku byl jen samotný
začátek hlavičky. Zkoušel jsem hledat na webu, ale našel jsem jen nějaké
zmínky o tom, že je údajně zcela v pořádku, že jádro nechá na stacku
"trosky" rozbaleného paketu a tcpdump je hloupý, že si jich všímá.
Nějak se mi to nezdá, ale zdálo se, že autor toho příspěvku ví, o čem
mluví.

> Vsechno se totiz tvari v poradku SA i SPD jsou na svych mistech,
> akorat paket nevyleze na druhe strane z tunelu - tak nevim, jestli do
> nej vubec vleze. Na druhe strane je FreeS/WAN, takze tam si muzu dat
> tcpdump -i ipsec0

Především vyzkoušejte, jestli při odeslání (jakéhokoli) paketu tunelem
odejde vůbec nějaký ESP paket (z vnějšího rozhraní) a jestli _tentýž_
(co do IP adres zdroje a cíle) paket dorazí na druhou stranu. Je to
mrtvé v obou směrech nebo jen Kame -> FreeS/WAN?

Taky si zkontrolujte, jestli se náhodou na ty pakety, které jdou tunelem
neaplikuje NAT; s tím jsem si taky pěkně naběhl, ladil jsem to asi půl
hodiny, než jsem přišel na to, co se vlastně děje... :-)

							  Michal Kubeček



Další informace o konferenci Linux