IPsec založený na trasách předává směrovací tabulce rozhodnutí, které dřív dělaly selektory zásad. V Linuxu je tou částí, která to umožňuje, rozhraní XFRM: virtuální zařízení, jehož provoz se páruje se stavem IPsec podle identifikátoru rozhraní, nikoli podle selektoru. Vytvoření jednoho zabere jediný příkaz a nic nedokazuje o tom, zda tunel existuje. Zařízení je hák mezi směrováním a bezpečnostní zásadou a obě strany tohoto háku musí být nakonfigurované, než je cokoli chráněno.

Co zařízení je a co není

Rozhraní XFRM je směrovací držadlo. Pakety směrované do něj se párují se zásadami XFRM, které odkazují na stejný identifikátor rozhraní, a pokud existuje zásada i stav, jsou zapouzdřeny. Bez nich rozhraní existuje, počítadla stojí a provoz jde někam, kde to nemá užitek.

To je první diagnostické rozdělení. Trasa do zařízení je směrovací fakt, nainstalovaný stav je bezpečnostní fakt a rostoucí počítadlo na zařízení není ani jedno. Když lidé říkají, že tunel běží, protože rozhraní ukazuje UP, popisují příznaky odkazu virtuálního zařízení, které nemá vlastního protějška. Příznak znamená, že zařízení bylo vytvořeno a povoleno, nic víc.

Ještě jedna hranice: identifikátor rozhraní není jméno. Dvě zařízení s podobnými jmény a různými identifikátory nesdílejí stav a spojení nakonfigurované s chybným identifikátorem instaluje stav, který žádná trasa nikdy nepoužije.

Postavte jedno ve správném pořadí

Začněte vnějším zařízením a číslem, které také vložíte do konfigurace démona. Příklad používá eth0 jako vnější rozhraní a 42 jako identifikátor, adresy, které byste měli nahradit svými.

Zvedněte zařízení a potom potvrďte identifikátor, který jádro zaznamenalo, než se dotknete konfigurace VPN:

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip link set xfrm0 up
ip -d link show xfrm0 | grep -o 'if_id [0-9]*'

Nyní nakonfigurujte spojení v strongSwanu se stejným identifikátorem, protože démon musí instalovat zásady a stavy, které na něj odkazují. Nastavte místní a vzdálený selektor provozu na rozsah, který hodláte směrovat, a pak tento rozsah směrujte do zařízení. Konfigurace démona a směrovací tabulka se musí shodnout jak na identifikátoru, tak na cílech, a ani jedna tu druhou nedodává.

Držte IKE a ESP mimo trasu tunelu

Výchozí trasa ukazující do zařízení XFRM zachytí zapouzdřené pakety i provoz, který nesou. Výsledkem je smyčka: brána se snaží poslat vlastní ESP skrz tunel, který má ESP teprve postavit.

Oprava je konkrétnější trasa pro vnější adresu protějšku přes fyzické rozhraní, která porazí výchozí, protože odpovídá více bitům. Směrování založené na značkách dělá totéž, když několik tunelů sdílí tabulku, a strongSwan dokumentuje oba postupy pro nasazení založená na trasách.

Ať zvolíte cokoli, ověřte, že vnější paket odchází nezapouzdřený. Rychlá kontrola je ping na vnější adresu protějšku po zvednutí tunelu; pokud selže, zatímco rozhraní běží, podezřívejte zachycení, ne dostupnost. Stejná úvaha platí pro port IKE, protože vlastní UDP provoz démona nesmí být směrován do zařízení, které se snaží vytvořit.

Zkontrolujte počítadla na dvou místech, než obviníte šifrování

Počítadla rozhraní a počítadla stavů měří různé fáze. Pakety směrované do zařízení zvyšují počítadlo zařízení, i když žádný stav neodpovídá, zatímco počítadla stavů se hýbou jen pro provoz, který byl skutečně zapouzdřen.

Přečtěte obojí, potom si přečtěte pohled démona na podřízenou asociaci:

ip -s link show xfrm0
sudo ip xfrm state list | grep -E 'src|proto|mode'
sudo swanctl --list-sas

Rostoucí počítadla zařízení s prázdným výstupem stavů znamenají, že směrování funguje a zásada neodpovídá, obvykle chyba identifikátoru nebo selektoru. Rostoucí počítadla stavů, zatímco vzdálená strana nic nehlásí, znamenají, že pakety odcházejí, ale nedorazí nebo neprojdou autentizací, což ukazuje na cestu nebo konfiguraci protějšku. Vyjmenovaný potomek s nulovým provozem je problém selektoru na jednom konci, ne rozbitá šifra.

Rozhodněte, kdo instaluje trasy

Dva vlastníci jedné směrovací tabulky jsou obvyklým zdrojem flappingu. Pokud démon instaluje trasy automaticky, váš správce sítě nesmí také instalovat výchozí trasu přes stejné zařízení, a ruční trasa přidaná startovacím skriptem bude odstraněna při příští rekonfiguraci démona.

Vyberte jednoho vlastníka a zapište to. Když trasy vlastní démon, držte startovací skript mimo tabulku a nechte definici spojení popsat selektory provozu. Když je vlastní správce sítě, vypněte automatickou instalaci a přijměte, že démon chybějící trasu při opětovném připojení neopraví.

Pravidla přesměrování a firewallu jsou samostatné rozhodnutí navrch, protože brána propouštějící provoz jiných hostů potřebuje obojí. IPsec založený na trasách činí tento provoz snadno vyjádřitelným běžnými směrovacími nástroji; nečiní vrstvu zásad volitelnou.

Související články