Zakaj GRE in ESP ne delujeta skozi prehod NAT v AWS
Upravljani prehod NAT posreduje samo TCP, UDP in ICMP. Poglejte, zakaj pravilo dovoljenja ne more prenesti GRE ali izvornega ESP in kaj namesto tega spremeniti.
Tunel ne deluje, varnostna skupina že dovoljuje ves promet, in sklep je, da AWS blokira VPN. Ničesar ne blokira. Upravljani prehod NAT posreduje dokumentiran nabor zunanjih protokolov, izvorni GRE ali izvorni ESP pa nista v njem, zato nobeno dodano pravilo ne bo prisililo prehoda, da ju prenaša. Pravilo dovoljenja in zmožnost prenosa sta dve različni stvari, in spremeniti lahko le eno od njiju.
Nabor pravil ni nabor protokolov
Varnostna skupina odloča, kateri promet sme zapustiti instanco. Prehod NAT odloča, kaj lahko prevede in posreduje. Ko velja druga omejitev, permisivno pravilo ustvari natanko tisti simptom, ki ga ljudje napačno berejo kot težavo požarnega zidu: paketi zapustijo instanco, izmenjava nadzora se lahko celo zaključi, in do partnerja ne prispe nič.
Specifikacija protokolov prehoda NAT pri AWS navaja TCP, UDP in ICMP za upravljano storitev. To je celoten podprti nabor. Pravilo dovoljenja za drug IP protokol ga ne more razširiti, ker se pravilo ovrednoti veliko prej, preden je dosežena pot posredovanja prehoda.
Razlika je pomembna, ker sta obe napaki s stališča odjemalca videti enaki in imata popolnoma različne popravke.
PPTP pokaže, zakaj preizkus vrat laže
PPTP je najjasnejši stari primer preverjanja vrat, ki ničesar ne dokaže. Odpre nadzorno povezavo TCP na vratih 1723 in nato podatke tunela prenaša po GRE, kar je IP protokol 47. Protokol 47 ni vrata TCP 47, in ti dve številki nimata nič skupnega razen skupnih števk.
Operater, ki preizkusi povezljivost na 1723 in vidi dokončan rokovanje, sklene, da pot deluje. Nato podatkovni kanal nikoli ne spusti niti enega paketa, ker prehod nima nobene podpore GRE, ki bi jo ponudil. To je razlaga zahtev starega protokola, ne nasvet za uvajanje PPTP, ki je že leta zastarel.
Enako razmišljanje velja za vsak protokol, katerega nadzorni kanal je TCP ali UDP, medtem ko njegova podatkovna pot ni.
IPsec preživi le kot UDP
IPsec je primer, ko je odgovor pogojen in ne odločen ne. AWS dokumentira NAT traversal kot podprto ureditev za IPsec skozi prehod NAT. Ob dogovorjenem NAT-T se ESP zapakira v UDP in prehod vidi običajen UDP namesto protokola 50.
Dovoljenje UDP 4500 ne povzroči, da bi končne točke uporabljale NAT traversal. Dovoli pakete le, če so že tako oblikovani. Potrdite iz odjemalčevega lastnega izhoda pogajanj, katero zapakiranje je bilo izbrano, in potrdite na sprejemni strani, da ga je partner sprejel. Dve končni točki, nastavljeni za izvorni ESP, bosta še naprej pošiljali izvorni ESP, karkoli pravi nabor pravil.
VPN na osnovi TCP ali UDP se ujema z dokumentiranim naborom prenosov in lahko vseeno odpove zaradi usmerjanja, filtriranja ali preverjanja pristnosti. Ujemanje z naborom je nujno, ne zadostno.
Preverite pot, preden razširite pravila
Preverite dejansko pot podomrežja delovne obremenitve in identiteto njegovega naslednjega skoka najprej. Neposredna javna pot, instanca NAT, upravljani prehod NAT in zasebna pot skozi tranzitni prehod so štiri različne zasnove, in le ena od njih je tukaj opisana upravljana storitev.
Nato zabeležite poskusno končno točko, družino naslovov, zunanji protokol in vrata, kjer jih protokol ima. Uporabite diagnostiko odjemalca in opazovanja toka lastnika omrežja namesto uspešne zahteve brskalnika, ki dokaže le, da TCP in UDP delujeta. Po tem pregledajte varnostno skupino, ACL podomrežja, požarni zid gosta in politiko storitve za obe smeri toka.
Ne odpirajte vsega prometa, da bi nadomestili prenos, ki ga storitev ne more prenesti. Sprememba pravila tega ne bo popravila in bo preživela incident.
Ko se prenos ne ujema
Če je zunanji protokol zunaj podprtega nabora, je popravek arhitekturni: izberite prenos, ki ga pot lahko prenese, ali premaknite izhod na nekaj, kar prenese tistega, ki ga potrebujete. OpenVPN po UDP, WireGuard po UDP in tuneli na osnovi TLS se vsi ujemajo z dokumentiranim naborom. Instanca NAT, ki jo upravlja stranka, je možnost, ko mora določen protokol skozi in so obratovalni stroški za njeno delovanje sprejemljivi.
Gostovanje dohodnega strežnika VPN je ločen problem z ločenim odgovorom. Prehod NAT zagotavlja izhodno prevajanje in nobenega splošnega posredovanja dohodnih vrat, zato strežnik za njim potrebuje svoj odobreni javni vstop, zasnovan po lastnih pogojih.
Vrstni red dela: poimenujte zunanji protokol, potrdite naslednji skok, primerjajte ga z dokumentiranim naborom in nato spremenite arhitekturo ali prenos. Druga številka vrat ne more spremeniti GRE v TCP, in še eno permisivno pravilo ne more dokončane izmenjave nadzora spremeniti v delujoč podatkovni kanal.