IPsec, FreesWan a Masquerade

Ladislav Kepsta kepsta na btlnet.com
Čtvrtek Červen 6 16:39:06 CEST 2002


> On Thu, 6 Jun 2002, Ing. Pavel PaJaSoft Janousek wrote:
> 
> > 	Pres iptables to neumim, proto se omlouvam za rypavy 
> dotaz, ale jste 
> > si jist, ze Vam provoz skutecne prochazi sifrovanym kanalem a ne 
> > 'bokem'?
> 
> Co znamena bokem?
> 
> Kdyz posloucham tcpdump -i ipsec0 -n na serveru A a
> pingam z vnitrni site za serverem B na jak vnitrni IP adresu 
> serveru tak na pocitac za vnitrnim serverem A a nebo ze 
> serveru B na vnitrni IP serveru A ci do jeho vnitrni site, 
> tak proste vidim icmp pakety na zarizeni ipsec0. Kdyz ale dam 
> tcpdump -i eth1 -n tak vidim pouze ESP pakety.... A takztez 
> na serveru B, vidim na vnejsim eth pouze ESP pakety a na 
> ipsec0 icmp pakety a na vnitrni eth mi lezou taky icmp pakety...
> 
> Takze bych rekl, ze to chodi tunelem. 
> 
> > Mne se Ty Vase pravidla prilis nezdaji a uvedu Vam duvod - 
> tunel mate 
> > zrejme definovan pouze na lokalnich sitich, proto nevidim 
> duvod, proc 
> > by se packet se zdrojovou adresou (dusledek MASQUERADE) 
> realne IP na 
> > vstupu do rozhodovani, zda-li pujde IPsec kanalem nebo ne, 
> mel timto 
> > kanalem poslat, kdyz dle definice kanalu tam nema co delat...
> 
> No, ono kdyz se podivate do vypisu route -n na stroji _left_, 
> tak uvidite, ze tam je
> Adresat:      Brana:          Maska......... Rozhrani
> _rightsubnet_ _leftnetxthost_                ipsec0
> 
> A za predpokladu, ze tam je nadefinovan jen tunel mezi 
> vzdalenymi sitemi (ja tam vsak mam i tunel mezi routery a to 
> s verejnymi IP adresami, jak bych tam narval ty vnitrni to 
> veru nevim, snad je to hloupost..) a tento tunel je ustaven, 
> tak pokud ze stroje _left_ udelat ping do _rightsubnet_ a 
> budete-li poslouchat na _left_ tcpdump -i ipsec0 -n, tak tam 
> uvidite icmp pakety, avsak se zdrojovou VEREJNOU IP adresou 
> stroje _left_. 
> 
> Rekl bych, ze to bude vlastnost jadra, jakou IP adresu da 
> jako zdrojovou, kdyz chce nekam paket poslat. A na stroji 
> _right_ (a to je ted muj pocit, ze to tak bylo, a zkouset to 
> veru nebudu..), kdyz budete poslouchat na ipsec0, tak 
> neuvidite nic, prave proto, ze tam ten paket nema co delat, 
> protoze proste takovy tunel nadefinovan neni.
> 
> Pokud vsak udelate
> 
> ip route del _rightsubnet_
> ip route add _rightsubnet_ src _vase_vnitrni_ip_adresa_ dev ipsec0 \
>          via _leftnexthop_
>  
> a obdobne na druhe strane, tak ten icmp paket bude mit 
> vnitrni zdrojovou adresu z one site, co je definovana v 
> tunelu a hura, uz nam to jede...
> 
> Ale jak znova dodavam, nejsem zadny odbornik, ale z toho co 
> jsem napsal (odpozoroval), tak bych rekl, ze mi to funguje 
> tak jak ma :-)
> 
> 
> <HRUBA SPEKULACE>
> Rekl bych, ze to probehne takto:
> prijde paket z vnitrni site a dst je v siti na druhe strane 
> tunelu. jadro paket vezme, a v pravidlech tabulky nat vidi, 
> ze to ma zamaskaradovat a zamaskaraduje to na svou adresu.
> 
>  A tady spekulace nejhrubsiho zrna: Jak se tady jadro 
> rozhodne, kterou adresu pouzije pro maskaradovani? No nevim, 
> ale kdyz jsem provedl vyse uvedene dva ip route.. prikazy, 
> tak se rozhodl pro svou vnitrni ip adresu. Tohle by mi mohl 
> nekdo osvetlit, pac zdrojaky cist nebudu. Verim, ze kdyz bych 
> misto MASQUERADE pouzil SNAT a tam napsal, jakou ze adresu to 
> ma pouzit, tak nespekuluji a vyse uvedene prikazy ip route by 
> mozna byly zbytecne. Zase, jestli mohu SNATovat na cokoliv, 
> na co se mi zachce, je druha otazka...

IMHO mozte, ale co na to vasa GW ? Takze vysledok je ...
 
> No a pote co ma jadro paket upraveny maskaradou, tak v 
> routovaci tabulce zjisti, ze to ma jit do ipsec0 a tak ho tam 
> posle. A pak to prevezme ipsec a zjisti, ze to je paket jako 
> delany do jeho definovaneho tunelu, protoze ma spravnou src a 
> dst ip adresu a tak ho "tam" taky posle.

Pokial viem SNAT sa vykona az po dokonceni routovania.

> No a na stroji _right_ prijde ESP paket, vezme si ho na 
> starost ipsec, zjisti, ze to je to prave orechove a pak uz to 
> jadro podle routovaci tabulky posila do te vnitrni site, kam 
> to melo dojit... </HRUBA SPEKULACE>
> 
> Prosim, muze mi toto nekdo sveta znaly vysvetlit, jestli se 
> nekde mylim? Znova zduraznuji, ze o jadre nevim vubec nic a 
> je to cira domenka, kterou mi vsak nikdo nevyvratil, resp. me 
> do oblasti nezasvetil. Toto jsme totiz s Yenyou v seminari 
> neprobirali :-(
> 
> Prosim, nekamenujte mne nikdo za mou hrubou spekulaci. Pac je 
> to domenka, tak v mem pripade to bude urcite spatne. Rad se 
> poucim, to mi verte.

--
Ladislav Kepsta
 
 



Další informace o konferenci Linux