IPSec za NAT [trosicku delsi ;o)]

Tomas Hlavacek tomas.hlavacek na elfove.cz
Čtvrtek Březen 18 13:41:51 CET 2004


Ahoy Nexi:-)

Maly uvod k IPsecu: existuji dve hlavicky, ktere jsou relevantni: 
Autentication Header a Encapsulated Security Payload. AH se hodi jen na 
autentikaci obsahu datagramu - spocitani kontrolniho souctu a 
"podepsani" packetu. ESP se hodi na to, ze vezmes packet, zasifrujes ho 
sakum prask i se vsema hlavickama, "podepises" a pred to este soupnes 
normalni IP hlavicku a ESP hlavicku. ESP nepocita kontrolni soucty z IP 
hlaciky, ktera ESP hlavicku predchazi.

Pak este problem nastava v tom, ze se musi vyjednat klice protokolem 
ISAKMP, ktery pouziva identifikatory hostu v podobe ip adres a tedy se 
tam da ocekavat mismas, ktery obvykle vede k tomu, ze se nic nevyjedna.

Tedy, pokud klice nastavis rucne na obou stranach a pouzijes ESP, tak by 
to mohlo fungovat. Pokud budes vyzadovat AH, tak to fungovat temer 
zarucene nebude a to ani v pripade ze pouzijes neco jako transparentni 
NAT (takovy to 1:1).

Sveho casu FreeSWAN, budiz mu zeme lehka, mel klon SuperFreeSWAN nebo 
tak nejak, ktery NAT podporoval a umel ISAKMP pres nat, ale to jsme 
nikda nezkousel... V kazdem pripade pokud je na druhe strane Cisco, tak 
Ti to na beton neprojde... Existuje RFC 3715, ktery napsali u 
microsoftu:-)) a pochybuju, ze ma nejaky realny a pouzitelny vyznam, ale 
existuje aspon snaha.

Este k tomu jak probiha sitova komunikace: vyjednavani pomoci ISAKMP na 
portu 500 udp, AH ma vlastni typ IP packetu 51 a ESP 50 (konzultuj 
/etc/protocols).

Jinak koukni na _ <http://www.ietf.org/rfc/rfc2402.txt>_RFC 2402 (AH) a 
RFC 2406 (ESP) a ev. si o tom este muzem popovidat soukrome... Ale ten 
Tvuj problem asi slusne resitelny nebude v te konfiguraci, jaks ho nadhodil.

Mej se
    Tomas



Nexus wrote:

>>>vsude jsem cetl, ze ipsec pres nat moc neslape, ipsec moc nerozumim,
>>>proto se ptam. neda se situace vyresit natvrdo proforwardovanim nejakeho
>>>rozsahu portu? nejakym modulem do iptables? ci nejak jinak?
>>>      
>>>




Další informace o konferenci Linux