Dosiahnutie klienta IKEv2 na jeho pridelenej virtuálnej IP
Požiadavka začatá bránou ku klientovi IKEv2 potrebuje zodpovedajúci selektor, správny lokálny zdroj a násluch na dosiahnuteľnej adrese. Skontrolujte všetky tri.
Brána musí začať spojenie k notebooku pripojenému k nej cez IKEv2 a použiť pritom virtuálnu adresu pridelenú tomuto klientovi. Tunel je naviazaný, klient dosiahne všetko za bránou, ale opačný smer stále zlyháva. Táto asymetria je normálna: dohodnutá politika opisuje, ktoré adresy smú hovoriť, nie to, ktorá strana smie začať. Tri veci musia do seba zapadnúť, aby požiadavka začatá bránou fungovala.
Tunel neopraví adresu zdroja
CHILD SA pokrýva dvojicu selektorov prevádzky, jeden pre každú stranu, a povoľuje prevádzku v oboch smeroch tejto dvojice. Nehovorí nič o tom, ktorý partner otvoril výmenu IKE ako prvý. Brána, ktorá pôvodne počúvala na tunel, môže stále odoslať prvý paket aplikácie, ak zvolený zdroj a cieľ padnú do nainštalovaných selektorov. Keď požiadavka odchádza z nesprávneho rozhrania, jednoducho nie je spôsobilá pre tunel.
Smerovanie ku klientovi je nevyhnutné a nestačí. Politika musí pripustiť zdroj, ktorý ste skutočne použili.
Čítajte nainštalovanú politiku, nie konfiguračný súbor
Začnite od aktívnej asociácie a jej selektorov, pretože dynamické prideľovanie mení to, čo je nainštalované v jadre.
ipsec statusall
ip xfrm policyVýstup stavu pomenúva spojenie, pridelenú virtuálnu adresu a selektory, ktoré pre tohto partnera práve platia. Výpis politiky zobrazuje rovnaké selektory ako stav jadra a práve ten výber paketov skutočne konzultuje. Porovnajte selektor na strane brány so zdrojom, ktorý použije vaša aplikácia, pretože nezhoda zlyhanie okamžite vysvetlí. Čítajte aktuálnu adresu klienta a nie adresu z predchádzajúcej relácie, pretože opätovne pridelený VIP zneplatní starú politiku.
Klient musí počúvať tam, kam paket dorazí
Aj dokonalá politika narazí na zatvorený port, keď sa služba viaže iba na loopback. Násluch musí byť na pridelenej adrese alebo na lokálnej zástupnej adrese.
ss -ltnp 'sport = :9090'
iptables -S INPUTZoznam socketov ukazuje, či je port viazaný na virtuálnu adresu, a pravidlá firewallu ukazujú, či sa prijímajú nové spojenia z chráneného zdroja. Pravidlo napísané pre nadviazané spojenia nepripustí spojenie, ktoré iniciuje brána. Zachovajte vlastnú autentifikáciu služby, pretože príchod cez tunel iba určuje, z ktorej siete paket prišiel. Klient za vlastným NAT stále nepotrebuje presmerovanie prichádzajúceho portu, pretože tieto požiadavky cestujú vnútri existujúceho tunela.
Otestujte nový smer zvlášť
Fungujúca požiadavka od klienta k serveru touto cestou nikdy neprejde. Vygenerujte požiadavku 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 9090Vyhľadanie trasy odpovedá, ktorý zdroj a rozhranie by brána použila, a to je hodnota, ktorú musí politika pripustiť. Záznam by mal ukázať, že požiadavka odchádza vnútri ESP, a nie ako obyčajný TCP na verejnom rozhraní. Na klientovi zachyťte dešifrovanú prevádzku, aby ste potvrdili doručenie a či služba odpovedala. Ak požiadavka zmizne bez ESP na linke, podozrievajte adresu zdroja skôr než firewall klienta.
Zopakujte test po výmene kľúčov alebo opätovnom pripojení, pretože VIP sa môže zmeniť. Cesta, ktorá funguje len do ďalšej relácie, nie je fungujúca cesta.