IPsec prosljeđivanje na kućnom usmjerivaču: što zapravo radi
Prekidač propušta jedan protokol kroz prevođenje adresa; ne upisuje usmjerivač kao klijenta. Snimite razmjenu, pročitajte asocijacije, pa odlučite.
Prekidači prosljeđivanja na usmjerivaču su ustupci za prosljeđivanje za uređaj iza njih, a ne VPN usluge. Ne upisuju usmjerivač kao klijenta, ne drže akreditive i ne tjeraju svaki uređaj u kući kroz udaljeni izlaz. Ono što rade jest da oblikuju kako jedan protokol prelazi prevođenje adresa i filtre. Kad je to jasno, prekidač je lako testirati i lako ostaviti isključenim.
Što usmjerivač zapravo radi
Usmjerivač stoji između klijenta i IPsec partnera i prosljeđuje pakete koje nikada nije bio dizajniran razumjeti. Proizvođači tu funkciju ostvaruju na najmanje tri načina: pomoćnik protokola koji prati ili prepisuje stanje, izuzetak u filtru koji zaustavlja odbacivanje ESP-a, ili način rada za kompatibilnost namijenjen starijim klijentima. Oznaka u web sučelju rijetko kaže koji od ta tri imate. Samo bilješke firmvera ili snimka paketa reći će vam to.
Pomoćnik može i pogoršati stvari. Podrška napisana za stariji tok ponekad smeta klijentu koji već ispravno obrađuje prevođenje. Kad moderni klijent radi s isključenom opcijom, ostaviti je isključenu bolja je konfiguracija.
Prosljeđivanje nikada ne daje usmjerivaču ključeve partnera. On i dalje vidi vanjske adrese i portove i i dalje primjenjuje svoju politiku prosljeđivanja na njih.
NAT i NAT-T odlučuju put
IPsec nije napravljen da preživi prevođenje adresa, pa su standardi dodali omotač. NAT traversal inkapsulira ESP unutar UDP-a, dopuštajući običnoj NAT tablici da nosi tok, a pregovori se dogovaraju o tom prebacivanju tijekom IKE-a (RFC 3948). Sam IKE koristi UDP 500, dok inkapsulirani put obično koristi UDP 4500.
Zato pravilo vatrozida koje dopušta samo protokol 50 nije dovoljno na prevedenom putu. Blokiranje 4500 kvari slučaj zbog kojeg omotač postoji, a blokiranje 500 zaustavlja pregovore prije nego što se ikakav tunel formira. Oba su smjera važna, jer usmjerivač koji prati stanje obično dopušta odgovor tek nakon što je vidio zahtjev. Doći do porta nije isto kao završiti autentifikaciju, a ni kao proslijediti zaštićeni promet.
Stariji rasporedi se dovoljno razlikuju da vodič napisan za njih može zavarati. Kad klijent nudi oba načina, testirajte onaj koji vaš partner dokumentira, a ne onaj s više rezultata pretrage.
Pronađite fazu koja pada
Podijelite problem na pregovore, autentifikaciju, zaštitu djeteta i unutarnje prosljeđivanje, pa prikupljajte dokaze za jednu fazu odjednom. Ponovno pokretanje koje privremeno promijeni rezultat dokazuje samo da je neko stanje bilo uključeno.
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
ip xfrm state list
ip xfrm policy list
Snimka pokazuje stiže li razmjena do partnera i vraćaju li se odgovori, što odvaja problem filtriranja od problema s akreditivima. Popis stanja pokazuje uspostavljene sigurnosne asocijacije, pa prazan popis nakon pokušaja upućuje na pregovore, a ne na usmjeravanje. Popis pravila pokazuje koji su selektori instalirani, i tu se odredište izvan podmreže isključuje. Pročitajte oba xfrm izlaza prije nego što dirate usmjerivač, jer oni opisuju što host misli, a ne što usmjerivač dopušta.
Ako paketi izlaze i ništa se ne vraća, premjestite snimku na WAN stranu usmjerivača. Usporedba dviju snimki lokalizira ispuštanje bez nagađanja.
Isključite ono što vam ne treba
Jedan radni prijenosnik ne dokazuje da usmjerivač opslužuje nekoliko klijenata odjednom. Svaki klijent stvara vlastito stanje prevođenja i vlastite pregovore, a neki pomoćnici prate samo jedan tok. Testirajte broj istovremenih sesija koji vam zaista treba, s mreža koje zaista koristite. Ako drugi klijent padne dok prvi radi, to je nalaz, a ne nestabilan tunel.
Ostavite opciju uključenom samo kad snimka pokaže da je potrebna. Zabilježite verziju firmvera uz rezultat, jer se ova ponašanja mijenjaju između izdanja. Cilj je klijentski tunel koji ste provjerili, a ne prekidač koji ste uključili s nadom.