Kva VPN-portar du bør opne i ein brannmur: protokoll for protokoll
PPTP treng TCP 1723 pluss GRE, L2TP/IPsec treng UDP 500 og 4500 pluss ESP, og SSTP, OpenVPN og WireGuard treng éin port kvar. Her er kva du skal opne.
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.
| Family | Rule to add on the gateway | Typical mistake |
|---|---|---|
| WireGuard | UDP port from ListenPort, for the peer address | Assuming 51820 when the config says otherwise |
| OpenVPN | The configured UDP or TCP port, often 443 | Opening 1194 after the server moved |
| SSTP | TCP 443 limited to the gateway IP | Allowing 443 to any destination |
| IKEv2 | UDP 500 and UDP 4500, plus ESP | Allowing only 500 and losing NAT-T |
| L2TP/IPsec | UDP 500, 4500, ESP, and 1701 inside the tunnel | Exposing 1701 to the internet |
| PPTP | TCP 1723 and IP protocol 47 | Writing 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.