Průchod IPsec domácím routerem: co skutečně dělá
Přepínač propouští jeden protokol přes překlad adres; router jako klienta nezapisuje. Zachyťte výměnu, přečtěte asociace a pak se rozhodněte.
Přepínače průchodu na routeru jsou ústupky v předávání pro zařízení za nimi, ne VPN služby. Nezapisují router jako klienta, nedrží přihlašovací údaje a neženou každé zařízení v domácnosti přes vzdálený výstup. Dělají to, že formují, jak jeden protokol prochází překladem adres a filtry. Jakmile je to jasné, je přepínač snadné otestovat a snadné nechat vypnutý.
Co router skutečně dělá
Router stojí mezi klientem a protějškem IPsec a předává pakety, kterým nikdy nebyl navržen rozumět. Výrobci funkci implementují alespoň třemi způsoby: pomocník protokolu, který sleduje nebo přepisuje stav; výjimka ve filtru, která zastaví zahazování ESP; nebo režim kompatibility pro starší klienty. Popisek ve webovém rozhraní málokdy řekne, který ze tří máte. Řeknou to jen poznámky k firmwaru nebo zachycení paketů.
Pomocník může věci i zhoršit. Pomoc napsaná pro starší tok někdy překáží klientovi, který už překlad zvládá správně. Když moderní klient funguje s vypnutou volbou, nechat ji vypnutou je lepší konfigurace.
Průchod nikdy nedá routeru klíče protějšků. Stále vidí vnější adresy a porty a stále na ně uplatňuje vlastní politiku předávání.
NAT a NAT-T rozhodují o cestě
IPsec nebyl stavěn tak, aby přežil překlad adres, a proto standardy přidaly obal. NAT traversal zapouzdřuje ESP do UDP, takže běžná NAT tabulka unese tok, a vyjednávání se na tomto přepnutí dohodne během IKE (RFC 3948). Samotné IKE používá UDP 500, zatímco zapouzdřená cesta obvykle používá UDP 4500.
Proto pravidlo firewallu povolující jen protokol 50 na přeložené cestě nestačí. Blokování 4500 rozbíjí případ, kvůli kterému obal existuje, a blokování 500 zastaví vyjednávání dřív, než vznikne jakýkoli tunel. Oba směry jsou důležité, protože router se stavem obvykle povolí odpověď až poté, co viděl požadavek. Dostihnout port není totéž jako dokončit ověření ani jako předat chráněný provoz.
Starší uspořádání se liší natolik, že návod pro ně napsaný může zmást. Když klient nabízí oba režimy, testujte ten, který dokumentuje váš protějšek, ne ten s více výsledky hledání.
Najděte selhávající fázi
Rozdělte problém na vyjednávání, ověřování, ochranu dceřiného spojení a vnitřní předávání a pak sbírejte důkazy pro jednu fázi najednou. Restart, který výsledek dočasně změní, dokazuje jen to, že šlo o nějaký stav.
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
ip xfrm state list
ip xfrm policy list
Zachycení ukáže, zda výměna dorazí k protějšku a zda se odpovědi vracejí, což oddělí problém filtrování od problému s přihlašovacími údaji. Výpis stavu ukazuje navázané bezpečnostní asociace, takže prázdný seznam po pokusu ukazuje na vyjednávání, ne na směrování. Výpis politiky ukazuje, které selektory jsou nainstalované, a právě tam se cíl mimo podsíť vyloučí. Přečtěte oba výpisy xfrm, než se dotknete routeru, protože popisují, co si myslí hostitel, ne co router povoluje.
Jestliže pakety odcházejí a nic se nevrací, přesuňte zachycení na stranu WAN routeru. Porovnání obou zachycení lokalizuje zahazování bez hádání.
Vypněte, co nepotřebujete
Jeden fungující notebook nedokazuje, že router obslouží několik klientů současně. Každý klient vytváří vlastní stav překladu a vlastní vyjednávání a některé pomocníky sledují jen jeden tok. Otestujte počet souběžných relací, který skutečně potřebujete, ze sítí, které skutečně používáte. Když druhý klient selže, zatímco první prosperuje, to je nález, ne nestabilní tunel.
Nechávejte volbu zapnutou jen tehdy, když zachycení ukáže, že je potřeba. Zapište verzi firmwaru vedle výsledku, protože toto chování se mezi vydáními mění. Cílem je klientský tunel, který jste ověřili, ne přepínač zapnutý s nadějí.