Visas Access Server tunelis EC2: kodėl vieno žymimojo langelio nepakanka
Šaltinio ir paskirties tikrinimo išjungimas EC2 yra persiuntimo pataisa, o ne kliento interneto politika. Nustatykite visą tunelį Access Server ir tada sekite AWS išėjimo kelią.
Šaltinio ir paskirties tikrinimo išjungimas EC2 egzemplioriuje yra dažniausiai kartojamas atsakymas į klausimus apie Access Server interneto išėjimą, ir vienas jis nieko nedaro jūsų klientams. Tikrinimas yra AWS persiuntimo apribojimas: jis leidžia egzemplioriui priimti paketus, kurių šaltinis ar paskirtis nėra jo paties adresas. Jis neįsako Access Server klientui siųsti interneto srauto tuneliu, nesukuria maršruto į viršų ir neprideda NAT. Mitas yra tai, kad žymimasis langelis yra pati funkcija.
Ką tikrinimas iš tikrųjų valdo
Kiekviena EC2 tinklo sąsaja išmeta srautą, kuris jai neadresuotas, nebent egzempliorius veikia kaip maršrutizatorius, NAT įrenginys ar VPN šliuzas ir jūs tą tikrinimą išjungiate. Išjungus suteikiamas leidimas persiųsti. Leidimas nėra konfigūracija: egzemplioriui vis dar reikia maršruto į interneto šliuzą ar NAT įrenginį, VPC maršrutų lentelei vis dar reikia atitinkamo įrašo, saugos grupės vis dar turi leisti srautą, o serveris vis dar turi išversti arba nukreipti grįžtamąjį srautą.
Patikrinkite dabartinę reikšmę su aws ec2 describe-instance-attribute --instance-id i-0123456789abcdef0 --attribute sourceDestCheck prieš ką nors keisdami. Jei keičiate konsolėje, keiskite todėl, kad egzempliorius persiunčia už kitus, o ne todėl, kad klientas nepasiekia interneto.
Kliento maršrutizavimo politika priklauso Access Server
Access Server 3 atidarykite Access Controls ir raskite skiltį Internet Access and DNS. Internet Gateway pasirinkimas siūlo visą arba padalytą tunelį; visas tunelis liepia klientui nukreipti numatytąjį srautą į VPN, padalytas palieka interneto srautą vietiniame kliento kelyje. Išsaugokite ir pritaikykite per produkto darbo eigą, tada iš naujo prijunkite bandomąjį klientą, nes politika perduodama prisijungimo metu.
Seneni leidimai naudoja kitokius meniu, o kai kurie Community OpenVPN rinkiniai neturi lygiavertės valdymo priemonės. Patikrinkite įdiegtą pagrindinę versiją prieš ieškodami ekrano, kurio nėra. Tada patvirtinkite, ką klientas gavo: viso tunelio profilis turėtų įdiegti numatytąjį maršrutą per tunelį, o padalyto tunelio profilis to neturėtų daryti.
Sekite paketą po tunelio
Kai klientas siunčia interneto srautą į tunelį, serveris turi jį persiųsti ir paprastai išversti. Access Server valdo savo NAT ir maršrutizavimo taisykles, todėl skaitykite faktinę konfigūraciją, o ne pridėkite Community OpenVPN taisykles prie sugeneruotų failų; nevaldomos taisyklės perrašomos arba susiduria per kitą produkto atnaujinimą. sudo iptables -t nat -L -n -v arba nftables atitikmuo rodo, kas iš tikrųjų verčiama.
AWS pusė yra atskiras kelias. Egzempliorius viešame potinklyje pasiekia interneto šliuzą tiesiogiai ir išlaiko savo viešą adresą arba elastingą IP. Egzemplioriui privačiame potinklyje reikia maršruto į NAT šliuzą ar NAT egzempliorių, o NAT įrenginiui reikia savo maršruto į interneto šliuzą. Interneto šliuzo prijungimas prie VPC pats savaime nesuteikia jokiam privačiam šaltiniui viešo grįžimo adreso, todėl ta pati Access Server sąranka veikia viename potinklyje ir tyliai nepavyksta kitame.
Patikrinkite maršrutų lentelę, susietą su egzemplioriaus potinkliu, o ne tik pagrindinę VPC lentelę. Potinklių asociacijos viršija pagrindinę lentelę, o pasenusi asociacija yra dažna priežastis, kodėl veikusi konfigūracija sustoja po pertvarkymo.
Laikykite IP išėjimą ir DNS atskirai
Pirmiausia išbandykite adreso literalą, tada vardą, iš tos pačios kliento programos. Jei curl -4 https://checkip.amazonaws.com grąžina viešą adresą, bet prieglobos vardai nepavyksta, tunelis ir NAT kelias veikia, o problema yra DNS: išsiųstas sprendėjas, kliento sprendėjo būsena ar saugos grupė, blokuojanti sprendėją. Access Server DNS nustatymai yra toje pačioje Internet Access srityje, bet jie keliauja kitu kodo keliu.
Palyginkite grąžintą adresą su numatytu išėjimu. Jei tai egzemplioriaus viešas adresas, srautą verčia egzempliorius; jei tai NAT šliuzo adresas, naudojamas privataus potinklio kelias. Abu gali būti teisingi. Ko negalite padaryti išvados, kad naršyklė serveryje įrodo kliento persiuntimą.
Neleiskite vienam langeliui uždaryti tyrimo
IPv6 yra atskiras sprendimas. Viso tunelio politika IPv4 nieko nesako apie tai, ar IPv6 perduodamas, blokuojamas ar nuteka, ir dvigubo kamino klientas gali toliau naudoti savo vietinį IPv6 kelią, kol IPv4 yra tunelyje. Išbandykite adresų šeimą, kuri jums iš tikrųjų svarbi, ir aiškiai nuspręskite, ar kitą reikia išjungti.
Galiausiai išbandykite atjungtą būseną. Viso tunelio pasirinkimas aprašo maršrutizavimo politiką prisijungus, o ne tai, kas nutinka tuneliui nukritus. Jei reikalavimas yra kad joks srautas nepabėgtų už VPN ribų, tai yra kill-switch ir ugniasienės klausimas, ir jam reikia savo testo, o ne išvados iš maršrutų lentelės.