IPSec za NAT [trosicku delsi ;o)]
Vancl Miroslav (QRIS)
Miroslav.Vancl na qris.cz
Čtvrtek Březen 18 18:00:22 CET 2004
Tak jsem si početl v úvahách na téma jak funguje tunel IPSec ale řešení
nikdo bohužel nenavrhl.
Jenže NAT je ale celkem běžná a potřebná technika a chtělo by to nějaký
nápad, jak obejít nedostatek (?) v protokolu.
Doufám, že správně tuším, v čem je zakopaný pes - změna IP adresy a/nebo
portu během dopravy "nosného" paketu z jednoho IPSec-u na druhý. Pokud ne,
další ani nečtěte, nic to neřeší...
Já měl svého času (nerealizovaný) šílený nápad jak to obelstít: tedy mít
svůj konec tunelu na stroji za NATujícím firewallem a přitom stále na vnější
adrese, na kterou ho otevřel klient - dvojí překlad.
Řekněme, že klient v Internetu otevírá tunel do mé sítě, která leží za
NATujícím firewallem. Z jeho hlediska tedy tunel končí na firewallu na jeho
externí adrese A. NAT na firewallu přeloží (pro pakety IPSec) dest adresu na
adresu B ve vnitřní síti a pošle to tam. Na tom stroji ale běží další NAT,
který udělá překlad dest B->A. Řekněme že B je adresa na nějakém dummy
interface tohoto stroje. No a tam už čeká IPSec a vesele zpracovává svoje
pakety došlé na správnou adresu A. Protože se dvojím překladem A->B->A
cílová adresa nezměnila (a zdrojová jakbysmet), IPSec bude podle mého
spokojený. V obráceném směru to pak funguje stejně - můj IPSec posílá pakety
z dummy interface s adresou A ke klientovi v Internetu. Místní NAT ale hbitě
přeloží src na adresu B a pošle to na firewall. Ten zase, jak je zvyklý,
přeloží B na svoje A a pošle paket nic netušícímu příjemci.
Je to proveditelné ?
M. Vancl
Další informace o konferenci Linux