Dosažení klienta IKEv2 na jeho přiřazené virtuální IP
Požadavek zahájený bránou ke klientovi IKEv2 potřebuje odpovídající selektor, správný místní zdroj a naslouchač na dosažitelné adrese. Zkontrolujte všechny tři.
Brána musí zahájit spojení k notebooku, který je k ní připojen přes IKEv2, pomocí virtuální adresy přiřazené tomuto klientovi. Tunel je navázaný, klient dosáhne na vše za bránou, ale opačný směr stále selhává. Tato asymetrie je normální: dohodnutá politika popisuje, které adresy spolu smějí mluvit, ne to, která strana smí začít. Tři věci musí do sebe zapadnout, než požadavek zahájený bránou začne fungovat.
Tunel neopraví zdrojovou adresu
CHILD SA pokrývá dvojici selektorů provozu, jeden pro každou stranu, a povoluje provoz v obou směrech této dvojice. Neříká nic o tom, který protějšek otevřel výměnu IKE jako první. Brána, která původně na tunel naslouchala, může stále odeslat první paket aplikace, pokud zvolený zdroj a cíl spadají do nainstalovaných selektorů. Když požadavek odchází ze špatného rozhraní, prostě pro tunel není způsobilý.
Směrování ke klientovi je nutné a nestačí. Politika musí připustit zdroj, který jste skutečně použili.
Čtěte nainstalovanou politiku, ne konfigurační soubor
Začněte u aktivní asociace a jejích selektorů, protože dynamické přiřazení mění to, co je nainstalováno v jádru.
ipsec statusall
ip xfrm policyVýstup stavu pojmenovává spojení, přiřazenou virtuální adresu a selektory, které pro tento protějšek právě platí. Výpis politiky ukazuje stejné selektory jako stav jádra, a právě ten výběr paketů skutečně konzultuje. Porovnejte selektor na straně brány se zdrojem, který vaše aplikace použije, protože neshoda selhání okamžitě vysvětlí. Čtěte aktuální adresu klienta, ne adresu z předchozí relace, protože znovu přiřazená VIP zneplatní starou politiku.
Klient musí naslouchat tam, kam paket dorazí
I dokonalá politika dorazí na zavřený port, když se služba váže jen na loopback. Naslouchač musí být na přiřazené adrese nebo na zástupné místní adrese.
ss -ltnp 'sport = :9090'
iptables -S INPUTVýpis socketů ukazuje, zda je port svázán s virtuální adresou, a pravidla firewallu ukazují, zda jsou nová spojení přijímána z chráněného zdroje. Pravidlo napsané pro navázaná spojení nepřipustí spojení, které zahájí brána. Zachovejte vlastní autentizaci služby, protože příchod tunelem pouze určuje, ze které sítě paket přišel. Klient za vlastním NAT stále nepotřebuje příchozí přesměrování portu, protože tyto požadavky cestují uvnitř existujícího tunelu.
Otestujte nový směr zvlášť
Fungující požadavek od klienta k serveru touto cestou nikdy neprojde. Vygenerujte požadavek z brány a sledujte oba konce.
ip route get 10.90.0.42 from 192.168.50.1
tcpdump -ni any host 10.90.0.42 and tcp port 9090Vyhledání trasy odpovídá, který zdroj a rozhraní by brána použila, a to je hodnota, kterou musí politika připustit. Záznam by měl ukázat, že požadavek odchází uvnitř ESP, nikoli jako obyčejný TCP na veřejném rozhraní. Na klientovi zachyťte dešifrovaný provoz, abyste potvrdili doručení a zda služba odpověděla. Pokud požadavek zmizí bez ESP na síti, podezřívejte adresu zdroje dřív než firewall klienta.
Zopakujte test po výměně klíčů nebo opětovném připojení, protože VIP se může změnit. Cesta, která funguje jen do příští relace, není fungující cesta.