Två særskilde reglar avgjer om ein VPN-tunnel overlever ein brannmur: porten klienten ringjer til, og protokollen som ber nyttelasta. Opne berre den første, så vert tunnelen autentisert, og etterpå flyttar ingen data seg. Minimumet er éin TCP-port pluss GRE for PPTP, to UDP-portar pluss ESP for L2TP/IPsec og IKEv2, og éin einaste port for SSTP, OpenVPN og WireGuard. Retning, tilstandssporing og NAT avgjer resten.

Byrj på porten klienten ringjer til

Kvar familie har eit inngangspunkt klienten kontaktar først, og det inngangspunktet er det tillatingsregelen din må nemne. PPTP-klientar koplar til TCP 1723. L2TP/IPsec startar IKE på UDP 500 og går over til UDP 4500 når NAT-traversering er i bruk, medan sjølve L2TP-ramma ligg på UDP 1701 inne i tunnelen. SSTP pakkar sesjonen inn i TLS på TCP 443, IKEv2 forhandlar på UDP 500 og 4500, OpenVPN nyttar UDP 1194 som standard men vert ofte flytt til TCP 443, og WireGuard lyttar på 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

Handsam desse tala som standardverdiar og ikkje som faste eigenskapar. Eit WireGuard-grensesnitt nyttar den lyttporten konfigurasjonen oppgir, og ein OpenVPN-tenar kan sitje på kva som helst port administratoren valde. Les tenarkonfigurasjonen før du skriv regelen, for ein brannmur opna for 1194 gjer ingenting for ein tenar som er flytt til 443.

Den tredje kolonnen er der dei fleste endringssakene går gale. Regelen finst, men han peikar på feil mål, feil retning eller feil transport.

GRE og ESP er protokollnummer, ikkje portar

GRE og ESP har ingen portar i det heile, så eit brannmurskjema som berre godtek portnummer kan ikkje uttrykkje dei. GRE er IP-protokoll 47 og ESP er IP-protokoll 50, begge vert matcha via protokollfeltet i IP-hovudet. Ein regel skriven som TCP-port 47 matchar ingenting, og slik ser ein PPTP-policy rett ut og slepp likevel kvar pakke etter handtrykket.

Forbrukar-rutarar gøymer dette bak ei gjennomgangsavkryssing som installerer protokollregelen og, for GRE, NAT-hjelparen som trengst for å kartleggje straumen. På ein ekte brannmur legg du til protokollen sjølv: tillat IP-protokoll 47 til PPTP-tenaren, tillat IP-protokoll 50 til IPsec-gatewayen. Der plattformen ikkje tilbyr protokollfelt, er innkapsling vegen ut, difor kan IKEv2 falle tilbake til UDP 4500, og difor treff OpenVPN og WireGuard aldri problemet.

Kontroller kva regelen faktisk matchar før du klandrar klienten. Ein pakketeljar som vert ståande på null på gatewayen seier at regelen aldri vart utløyst, og inga mengd ominstallering på klientsida endrar det.

Retning, tilstand og NAT endrar svaret

Ein klient som ringjer ut og ein gateway som lyttar inn er ulike krav, og den same portlista kan vere rett i éi retning og feil i den andre. Ein tilstandsbasert brannmur sporar UDP-straumen på 500 og 4500 og slepp svara tilbake utan ein andre regel. ESP og GRE ber ingen portar, så eit NAT-apparat har ingenting å feste seg i og treng ein hjelpar eller ei innkapsling for å fylgje sesjonen.

NAT-traversering er den delen som vert oversett. IKEv2 startar på UDP 500, oppdagar eit NAT-apparat og held fram på UDP 4500, så ein policy som berre tillèt 500 gjev ein tunnel som kjem opp og deretter vert stille. L2TP/IPsec gjer det same trekket. Viss opptaket ditt viser den første utvekslinga, men ikkje vedvarande trafikk, sjå etter ein regel som stoppar ved 500.

Noter retninga med kvar regel. «Tillat UDP 4500» tyder ingenting før du seier kvarfrå og kvar, og ein regel som er rett for ein roamingklient er vanlegvis feil for ein site-til-site-partnar.

Sjekk kvar veg med eit opptak

Køyr opptaket på gatewayen, ikkje på klienten: ein klient registrerer berre det som kom fram. Desse filtra dekkjer familiane over og viser kva trinn som manglar:

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

Les utdata som ein sekvens. Når forhandlinga dukkar opp, men nyttelastprotokollen ikkje, skjer droppet ein stad mellom klient og gateway. Når begge viser seg og sida framleis feilar, er brannmuren ikkje lenger den mistenkte; sjå på ruting, DNS eller adressepoolen klienten fekk.

På ein boks utan tcpdump kjem dei same prova frå grensesnitt- og regelteljarar. Bytes inn, men ikkje ut på tunnegrensesnittet peikar på returvegen og ikkje på den opphavlege tillatingsregelen.

Etterlat eit regelsett du kan forsvare

SSTP på TCP 443 kan ikkje skiljast frå vanleg HTTPS for noko portbasert filter, og det er poenget når eit nettverk berre tillèt webtrafikk. Det er òg grunnen til at 443-regelen bør nemne gatewayen som mål i staden for heile internett. Slett mellombelse reglar frå kva-som-helst-til-kva-som-helst så snart tunnelen verkar. Skriv ned kva regel som traff, protokollnummeret der det finst, og retninga, så neste person startar med prov.

Skybaserte punkt-til-site-gatewayar gjer valet synleg: profilen du lastar ned nyttar anten SSTP på 443 eller IKEv2 på 500 og 4500, og du bør berre opne den profilen faktisk vel. PPTP er ikkje GRE-unntaket verdt i eit moderne nettverk, sidan mobiloperatørar ofte droppar protokoll 47 uansett brannmur. Før du lukkar saka, stadfest at regelen passar porten i tenarkonfigurasjonen, at protokollfeltet er sett der familien treng det, og at målet er gatewayen og ikkje kva som helst adresse.

Relaterte artiklar