Tunelis neizdodas, drošības grupa jau atļauj visu satiksmi, un secinājums ir tāds, ka AWS bloķē VPN. Tā neko nebloķē. Pārvaldīta NAT vārteja pārsūta dokumentētu ārējo protokolu kopu, un vietējais GRE vai vietējais ESP tajā neietilpst, tāpēc neviens pievienotais noteikums neliks vārtejai tos pārnest. Atļaujas noteikums un pārvades spēja ir divas dažādas lietas, un tikai vienu no tām varat mainīt.

Noteikumu kopa nav protokolu kopa

Drošības grupa nosaka, kurai satiksmei ir atļauts atstāt instanci. NAT vārteja nosaka, ko tā spēj pārtulkot un pārsūtīt. Kad iedarbojas otrais ierobežojums, atļaujošs noteikums rada tieši to simptomu, ko cilvēki nepareizi nolasa kā ugunsmūra problēmu: paketes atstāj instanci, vadības apmaiņa var pat pabeigties, un pie partnera nekas nenonāk.

AWS NAT vārtejas protokolu specifikācija pārvaldītajam pakalpojumam uzskaita TCP, UDP un ICMP. Tā ir visa atbalstītā kopa. Cita IP protokola atļaujas noteikums to nevar paplašināt, jo noteikums tiek novērtēts ilgi pirms tam, kad tiek sasniegts vārtejas pārsūtīšanas ceļš.

Šī atšķirība ir svarīga, jo abas kļūmes no klienta puses izskatās vienādas un tām ir pilnīgi atšķirīgi labojumi.

PPTP parāda, kāpēc porta tests melo

PPTP ir visskaidrākais vecais piemērs porta pārbaudei, kas neko nepierāda. Tas atver TCP vadības savienojumu uz portu 1723 un pēc tam tuneļa datus pārnes pa GRE, kas ir IP protokols 47. Protokols 47 nav TCP ports 47, un šiem diviem skaitļiem nav nekā kopīga, izņemot ciparus.

Operators, kurš pārbauda savienojumu ar 1723 un redz pabeigtu rokasspiedienu, secina, ka ceļš darbojas. Tad datu kanāls nekad neizlaiž nevienu paketi, jo vārtejai nav GRE atbalsta, ko piedāvāt. Tā ir veca protokola prasību interpretācija, nevis padoms ieviest PPTP, kas jau gadiem ir novecojis.

Tas pats pamatojums attiecas uz jebkuru protokolu, kura vadības kanāls ir TCP vai UDP, bet datu ceļš tāds nav.

IPsec izdzīvo tikai kā UDP

IPsec ir gadījums, kad atbilde ir nosacīta, nevis skaidrs nē. AWS dokumentē NAT šķērsošanu kā atbalstītu risinājumu IPsec caur NAT vārteju. Kad NAT-T ir saskaņots, ESP tiek iekapsulēts UDP, un vārteja redz parastu UDP, nevis protokolu ar numuru 50.

UDP 4500 atļaušana neliek galapunktiem izmantot NAT šķērsošanu. Tā tikai atļauj paketes, ja tās jau ir šādā formā. Pārbaudiet klienta paša sarunu izvadā, kura iekapsulācija tika izvēlēta, un pārbaudiet saņēmēja pusē, vai partneris to pieņēma. Divi galapunkti, kas konfigurēti vietējam ESP, turpinās sūtīt vietējo ESP neatkarīgi no tā, ko saka noteikumu kopa.

Uz TCP vai UDP balstīts VPN iekļaujas dokumentētajā pārvades kopā un tomēr var neizdoties maršrutēšanas, filtrēšanas vai autentifikācijas dēļ. Iekļaušanās kopā ir nepieciešama, nevis pietiekama.

Pārbaudiet ceļu pirms politikas paplašināšanas

Pārbaudiet darba slodzes apakštīkla faktisko maršrutu un tā nākamā lēciena identitāti vispirms. Tiešs publisks ceļš, NAT instance, pārvaldīta NAT vārteja un privāts ceļš caur tranzīta vārteju ir četri dažādi risinājumi, un tikai viens no tiem ir šeit aprakstītais pārvaldītais pakalpojums.

Pēc tam reģistrējiet mēģināto galapunktu, adrešu saimi, ārējo protokolu un portu, kur protokolam tāds ir. Izmantojiet klienta diagnostiku un tīkla īpašnieka plūsmas novērojumus, nevis veiksmīgu pārlūka pieprasījumu, kas pierāda tikai to, ka TCP un UDP darbojas. Pēc tam pārskatiet drošības grupu, apakštīkla ACL, viesa ugunsmūri un pakalpojuma politiku abiem plūsmas virzieniem.

Neatveriet visu satiksmi, lai kompensētu pārvadi, ko pakalpojums nevar pārnest. Noteikuma maiņa to nesalabos, un tas pārdzīvos incidentu.

Kad pārvade neatbilst

Ja ārējais protokols ir ārpus atbalstītās kopas, labojums ir arhitektonisks: izvēlieties pārvadi, ko ceļš var pārnest, vai pārvietojiet izeju uz kaut ko, kas pārnes vajadzīgo. OpenVPN pa UDP, WireGuard pa UDP un uz TLS balstīti tuneļi visi iekļaujas dokumentētajā kopā. Klienta pārvaldīta NAT instance ir iespēja, kad konkrēts protokols ir jāizlaiž un tā darbināšanas izmaksas ir pieņemamas.

Ienākoša VPN servera mitināšana ir atsevišķa problēma ar atsevišķu atbildi. NAT vārteja nodrošina izejošo tulkošanu un nesniedz vispārēju ienākošo portu pāradresāciju, tāpēc serverim aiz tās ir vajadzīga sava apstiprinātā publiskā ieeja, kas projektēta pēc tās pašas noteikumiem.

Darbu secība: nosauciet ārējo protokolu, apstipriniet nākamo lēcienu, salīdziniet to ar dokumentēto kopu, pēc tam mainiet arhitektūru vai pārvadi. Cits porta numurs nevar pārvērst GRE par TCP, un vēl viens atļaujošs noteikums nevar pārvērst pabeigtu vadības apmaiņu darboties spējīgā datu kanālā.

Saistītie raksti