Zašto GRE i ESP ne rade kroz AWS NAT gateway
Upravljani NAT gateway prosljeđuje samo TCP, UDP i ICMP. Pogledajte zašto pravilo dopuštenja ne može prenijeti GRE ili izvorni ESP i šta umjesto toga promijeniti.
Tunel ne radi, sigurnosna grupa već dopušta sav saobraćaj, a zaključak je da AWS blokira VPN. Ona ne blokira ništa. Upravljani NAT gateway prosljeđuje dokumentovani skup vanjskih protokola, a izvorni GRE ili izvorni ESP nisu u njemu, pa nijedno pravilo koje dodate neće natjerati gateway da ih prenosi. Pravilo dopuštenja i sposobnost transporta dvije su različite stvari, a samo jednu od njih možete mijenjati.
Skup pravila nije skup protokola
Sigurnosna grupa odlučuje kojem je saobraćaju dopušteno da napusti instancu. NAT gateway odlučuje šta može prevesti i proslijediti. Kada se primijeni drugo ograničenje, permisivno pravilo proizvodi tačno simptom koji ljudi pogrešno čitaju kao problem firewall-a: paketi napuštaju instancu, razmjena kontrole može čak i da se završi, a do druge strane ne stiže ništa.
AWS-ova specifikacija protokola NAT gatewaya navodi TCP, UDP i ICMP za upravljani servis. To je cijeli podržani skup. Pravilo dopuštenja za drugi IP protokol ne može ga proširiti, jer se pravilo ocjenjuje mnogo prije nego što se dostigne put prosljeđivanja gatewaya.
Ta razlika je važna jer dva kvara izgledaju identično sa strane klijenta i imaju potpuno različite popravke.
PPTP pokazuje zašto test porta laže
PPTP je najjasniji stari primjer provjere porta koja ništa ne dokazuje. Otvara TCP kontrolnu vezu na portu 1723 i zatim prenosi podatke tunela preko GRE-a, koji je IP protokol 47. Protokol 47 nije TCP port 47 i ta dva broja nemaju nikakve veze osim što dijele cifre.
Operater koji testira povezanost na 1723 i vidi završeno rukovanje zaključuje da put radi. Zatim podatkovni kanal nikada ne propusti nijedan paket, jer gateway nema GRE podršku koju bi ponudio. To je tumačenje zahtjeva starog protokola, a ne savjet da uvode PPTP, koji je godinama zastario.
Isto razmišljanje vrijedi za svaki protokol čiji je kontrolni kanal TCP ili UDP, dok njegov podatkovni put nije.
IPsec preživljava samo kao UDP
IPsec je slučaj u kojem je odgovor uslovan, a ne ravno ne. AWS dokumentuje NAT traversal kao podržani aranžman za IPsec kroz NAT gateway. Uz dogovoren NAT-T, ESP se inkapsulira u UDP i gateway vidi običan UDP umjesto protokola 50.
Dopuštanje UDP 4500 ne tjera krajnje tačke da koriste NAT traversal. Ono dopušta pakete samo ako su već tako oblikovani. Potvrdite iz klijentovog vlastitog izlaza pregovaranja koja je inkapsulacija izabrana i potvrdite na strani prijema da ju je druga strana prihvatila. Dvije krajnje tačke konfigurisane za izvorni ESP nastavit će slati izvorni ESP bez obzira na to šta skup pravila kaže.
VPN zasnovan na TCP-u ili UDP-u uklapa se u dokumentovani skup transporta i ipak može zakazati zbog rutiranja, filtriranja ili autentifikacije. Uklapanje u skup je neophodno, ali ne i dovoljno.
Provjerite put prije nego što proširite politiku
Provjerite stvarnu rutu podmreže radnog opterećenja i identitet njenog sljedećeg skoka prvo. Direktan javni put, NAT instanca, upravljani NAT gateway i privatni put kroz transit gateway četiri su različita dizajna, a samo jedan od njih je ovdje opisani upravljani servis.
Zatim zabilježite pokušanu krajnju tačku, porodicu adresa, vanjski protokol i port gdje protokol ima port. Koristite klijentovu dijagnostiku i zapažanja toka vlasnika mreže umjesto uspješnog zahtjeva preglednika, koji dokazuje samo da TCP i UDP rade. Nakon toga pregledajte sigurnosnu grupu, ACL podmreže, firewall gosta i politiku servisa za oba smjera toka.
Ne otvarajte sav saobraćaj da kompenzirate transport koji servis ne može prenijeti. Promjena pravila to neće popraviti i nadživjet će incident.
Kada transport ne odgovara
Ako je vanjski protokol izvan podržanog skupa, popravka je arhitektonska: odaberite transport koji put može prenijeti ili premjestite egress na nešto što prenosi onaj koji vam je potreban. OpenVPN preko UDP-a, WireGuard preko UDP-a i tuneli zasnovani na TLS-u svi se uklapaju u dokumentovani skup. NAT instanca kojom upravlja klijent opcija je kada određeni protokol mora proći i kada je operativni trošak njenog održavanja prihvatljiv.
Hostovanje dolaznog VPN servera odvojen je problem s odvojenim odgovorom. NAT gateway pruža odlazni prijevod i nema opće prosljeđivanje dolaznih portova, pa server iza njega treba svoj odobreni javni ulaz dizajniran pod vlastitim uslovima.
Redoslijed rada: navedite vanjski protokol, potvrdite sljedeći skok, uporedite ga s dokumentovanim skupom, zatim promijenite arhitekturu ili transport. Drugačiji broj porta ne može pretvoriti GRE u TCP, a još jedno permisivno pravilo ne može završenu razmjenu kontrole pretvoriti u radni podatkovni kanal.