Divi atsevišķi noteikumi izšķir, vai VPN tunelis pārvarēs ugunsmūri: ports, uz kuru zvana klients, un protokols, kas pārvadā kravu. Atveriet tikai pirmo, un tunelis autentificēsies, bet pēc tam dati vairs nekustēsies. Minimums ir viens TCP ports un GRE PPTP, divi UDP porti un ESP L2TP/IPsec un IKEv2, un viens ports SSTP, OpenVPN un WireGuard. Virziens, stāvokļa izsekošana un NAT izšķir pārējo.

Sāciet ar portu, uz kuru zvana klients

Katrai saimei ir ieejas punkts, ar kuru klients sazinās pirmais, un tieši šis ieejas punkts ir jānosauc jūsu atļaujas noteikumam. PPTP klienti pieslēdzas TCP 1723. L2TP/IPsec sāk IKE uz UDP 500 un pāriet uz UDP 4500, kad tiek izmantota NAT pāreja, bet pats L2TP kadrs atrodas uz UDP 1701 tuneļa iekšienē. SSTP ietina sesiju TLS uz TCP 443, IKEv2 pārrunā uz UDP 500 un 4500, OpenVPN pēc noklusējuma izmanto UDP 1194, bet bieži tiek pārvietots uz TCP 443, un WireGuard klausās uz UDP 51820.

FamilyRule to add on the gatewayTypical mistake
WireGuardUDP port from ListenPort, for the peer addressAssuming 51820 when the config says otherwise
OpenVPNThe configured UDP or TCP port, often 443Opening 1194 after the server moved
SSTPTCP 443 limited to the gateway IPAllowing 443 to any destination
IKEv2UDP 500 and UDP 4500, plus ESPAllowing only 500 and losing NAT-T
L2TP/IPsecUDP 500, 4500, ESP, and 1701 inside the tunnelExposing 1701 to the internet
PPTPTCP 1723 and IP protocol 47Writing a rule for TCP 47

Uzskatiet šos skaitļus par noklusējuma vērtībām, nevis fiksētām īpašībām. WireGuard saskarne izmanto jebkuru klausīšanās portu, ko deklarē tās konfigurācija, un OpenVPN serveris var atrasties jebkurā portā, ko izvēlējies administrators. Izlasiet servera konfigurāciju pirms noteikuma rakstīšanas, jo ugunsmūris, kas atvērts 1194, neko nedara serverim, kas pārvietots uz 443.

Trešā kolonna ir vieta, kur lielākā daļa izmaiņu biļešu aiziet greizi. Noteikums pastāv, bet tas norāda uz nepareizu galamērķi, nepareizu virzienu vai nepareizu transportu.

GRE un ESP ir protokolu numuri, nevis porti

GRE un ESP vispār nav portu, tāpēc ugunsmūra forma, kas pieņem tikai portu numurus, tos nevar izteikt. GRE ir IP protokols 47 un ESP ir IP protokols 50, abi tiek saskaņoti pēc IP galvenes protokola lauka. Noteikums, kas rakstīts kā TCP ports 47, neatbilst nekam, un tā PPTP politika izskatās pareiza un tomēr izmet katru paketi pēc rokasspiediena.

Mājas maršrutētāji to slēpj aiz caurlaides izvēles rūtiņas, kas instalē protokola noteikumu un GRE gadījumā NAT palīgu, kas vajadzīgs plūsmas kartēšanai. Īstā ugunsmūrī protokolu pievienojat paši: atļaujiet IP protokolu 47 uz PPTP serveri, atļaujiet IP protokolu 50 uz IPsec vārteju. Tur, kur platforma nepiedāvā protokola lauku, izeja ir iekapsulēšana, tāpēc IKEv2 var atkāpties uz UDP 4500 un tāpēc OpenVPN un WireGuard nekad nesaskaras ar šo problēmu.

Pirms vainojat klientu, pārbaudiet, kam noteikums patiešām atbilst. Skaitītājs, kas vārtejā paliek uz nulles, saka, ka noteikums nekad nav iedarbojies, un nekāda pārinstalēšana klienta pusē to nemaina.

Virziens, stāvoklis un NAT maina atbildi

Klients, kas zvana uz āru, un vārteja, kas klausās uz iekšu, ir dažādas prasības, un viens un tas pats portu saraksts var būt pareizs vienā virzienā un nepareizs otrā. Ugunsmūris ar stāvokli izseko UDP plūsmu uz 500 un 4500 un ļauj atbildēm atgriezties bez otra noteikuma. ESP un GRE nepārvadā portus, tāpēc NAT ierīcei nav aiz kā aizķerties, un tai vajag palīgu vai iekapsulēšanu, lai sekotu sesijai.

NAT pāreja ir tā daļa, kas tiek aizmirsta. IKEv2 sākas uz UDP 500, atklāj NAT ierīci un turpina uz UDP 4500, tāpēc politika, kas atļauj tikai 500, dod tuneli, kas izveidojas un pēc tam apklust. L2TP/IPsec veic to pašu kustību. Ja jūsu ieraksts rāda pirmo apmaiņu, bet ne pastāvīgu trafiku, meklējiet noteikumu, kas apstājas pie 500.

Pierakstiet virzienu pie katra noteikuma. „Atļaut UDP 4500“ neko nenozīmē, kamēr nepasakāt no kurienes uz kurieni, un noteikums, kas pareizs klejojošam klientam, parasti ir nepareizs vietas-uz-vietu partnerim.

Pārbaudiet katru ceļu ar ierakstu

Palaidiet ierakstu uz vārtejas, nevis klienta: klients reģistrē tikai to, kas ieradās. Šie filtri aptver iepriekš minētās saimes un parāda, kura posma trūkst:

sudo tcpdump -ni any tcp port 1723
sudo tcpdump -ni any udp port 500 or udp port 4500
sudo tcpdump -ni any proto gre
sudo tcpdump -ni any proto 50

Lasiet izvadi kā secību. Kad parādās pārrunas, bet kravas protokols ne, nomešana notiek kaut kur starp klientu un vārteju. Kad parādās abi un lapa tomēr neizdodas, ugunsmūris vairs nav aizdomās turamais; skatieties maršrutēšanu, DNS vai klientam piešķirto adrešu kopu.

Ierīcē bez tcpdump tos pašus pierādījumus dod saskarnes un noteikumu skaitītāji. Baits ienāk, bet neiziet uz tuneļa saskarnes — tas norāda uz atgriešanās ceļu, nevis uz sākotnējo atļaujas noteikumu.

Atstājiet noteikumu kopu, ko varat aizstāvēt

SSTP uz TCP 443 nav atšķirams no parasta HTTPS nevienam uz portiem balstītam filtram, un tā ir jēga, kad tīkls atļauj tikai tīmekļa trafiku. Tāpēc arī 443 noteikumam kā galamērķis jānosauc vārteja, nevis viss internets. Dzēsiet pagaidu noteikumus no jebkurienes uz jebkurieni, tiklīdz tunelis strādā. Pierakstiet, kurš noteikums atbilda, protokola numuru, kur tāds ir, un virzienu, lai nākamais cilvēks sāktu ar pierādījumiem.

Mākoņa punkta-uz-vietu vārtejas padara izvēli redzamu: lejupielādētais profils izmanto vai nu SSTP uz 443, vai IKEv2 uz 500 un 4500, un jums vajadzētu atvērt tikai to, ko profils patiešām izvēlas. PPTP nav GRE izņēmuma vērts mūsdienu tīklā, jo mobilo sakaru operatori bieži izmet protokolu 47 neatkarīgi no jūsu ugunsmūra. Pirms biļetes aizvēršanas pārliecinieties, ka noteikums atbilst servera konfigurācijas portam, ka protokola lauks ir iestatīts tur, kur saimei tas vajadzīgs, un ka galamērķis ir vārteja, nevis jebkura adrese.

Saistītie raksti