Regels dy't alle poarten trochstjoere kinne dyn WireGuard-listener opslokke
In brede trochstjoerregel kin de eigen WireGuard- en SSH-listener fan de gateway opslokke. Kies smelle regels of in apart iepenbier adres en test dêrnei it kontrôlepaad.
In iepenbiere gateway draait al WireGuard op UDP 51820, SSH op 22 en ien applikaasje dy't fan it ynternet berikber wêze moat. De ferliedlike regel stjoert elke poarte troch nei de peer en neamt it dien. Op in WireGuard-gateway kin sa'n regel it eigen transport fan de tunnel pakke en dy bûten it masine slute dat him beëiniget. Publikaasje is in routingbeslissing mei in útsûndering foar it kontrôleflak, net ien inkelde DNAT-regel.
Iepenbiere yngong of tunnelyngong: kies ien
It publisearjen fan in tsjinst makket in nij yngongspunt nei it ynternet. Dat is net itselde as it jaan fan VPN-lidmaatskip oan in peer, want de besiker komt nea yn de tunnel en de gateway wurdt it iepenbiere gesicht fan de backend. Dy ûnderskied bepaalt it publyk fan de regel en it sertifikaat dat derby heart.
Bestjoerlike ynterfaces hearre dêr selden. In admin-side dy't troch autorisearre VPN-klanten berikt wurdt, hâldt it oanfalsflak binnen de tunnel en foarkomt dat in oanmeldformulier foar willekeurige scans iepen leit. Iepenbiere applikaasje-einpunten hawwe noch hieltyd har eigen TLS-sertifikaat, autentikaasje en snelheidsbeheining nedich; de fersifere WireGuard-hop beskermet it stik fan de besiker nei de gateway net.
As de tsjinst echt iepenbier wêze moat, skriuw dan de hostnamme op, it sertifikaat dat dêrby heart en de besikersgroepen dy't der komme moatte. Dy trije feiten bepale letter de foarm fan de regel en it filterbelied. Alles dêrboppe is omfanggroei op in iepenbiere listener.
Ien poarte yn, ien backend út
Brûk ien iepenbiere poarte en ien backend-tsjinst. Yn dit foarbyld draacht eth0 it iepenbiere adres 198.51.100.20, is it tunneladres fan de gateway 10.200.0.1 en draait de peer de applikaasje op 10.200.0.7. Iepenbiere TCP 9443 wurdt mapt op TCP 8443 fan de peer:
iptables -t nat -A PREROUTING -i eth0 -d 198.51.100.20 -p tcp --dport 9443 -j DNAT --to-destination 10.200.0.7:8443
iptables -t nat -A POSTROUTING -o wg0 -d 10.200.0.7 -p tcp --dport 8443 -m conntrack --ctorigdst 198.51.100.20 --ctorigdstport 9443 -j SNAT --to-source 10.200.0.1De SNAT-regel matcht de oersetten backend en de oarspronklike iepenbiere bestimming, sadat in oare ferbining nei deselde backend-tsjinst bûten dizze mapping bliuwt. Hy ferberget ek it adres fan de besiker foar de peer, en dat is de ôfwaging dy't in rûtearre weromreis mei behâld fan boarne in apart ûntwerp meitsje lit. De referinsje foar iptables-útwreidings beskriuwt beide doelen en har matchopsjes.
Trochstjoeren moat noch ynskeakele wurde, en de filterketen hat in tastimming nedich foar de oersetten bestimming en poarte plus beëinige antwurden. De FORWARD-keten sjocht de oersetten bestimming nei DNAT, sadat in regel tsjin it iepenbiere adres it trochstjoerde pakket net matcht. Skriuw de tastimming tsjin de backend-tuple, net tsjin de iepenbiere.
De peer moat de tsjinstferbining fan it tunneladres fan de gateway akseptearje en it antwurd werom troch de tunnel stjoere. Syn AllowedIPs moat de boarne autorisearje dy't er wier krijt, en dat is ûnder boarneoersetting it tunneladres fan de gateway; in brede 0.0.0.0/0-yngong op elke peer is foar dit ûntwerp net nedich. Wat it weromferkear lit falle, is in peer waans list dat adres mist, of in ûntwerp mei behâld fan boarne dat it adres fan de besiker sels trochstjoert, dus kontrolearje de boarne dy't de peer echt sjocht, net dy't yn dyn regel stiet.
Hâld de eigen listeners fan de gateway bûten de regel
Ferwikselje de poartematch foar in regel dy't elke TCP- en UDP-bestimming dekt, en de eigen WireGuard-socket fan de gateway falt derbinnen. Bestimmingsfertaling bart foardat it masine beslút dat in pakket lokaal is, sadat UDP 51820 by de peer telâne komme kin ynstee fan by it proses dat alle peerferbinings hâldt. De regel laadt mei súkses en de tunnel stjert, wat in dreech te lêzen flater fan de peerkant is.
SSH, monitoring-aginten en elke oare tsjinst op de gateway hawwe deselde bleatstelling. In regel dy't alles trochstjoert, ûnderskiedt it kontrôleflak net fan de publisearre applikaasje, en de earste reboot nei de wiziging is wannear't de útsluting fanselssprekkend wurdt. De catch-all warskôget net oer de tsjinst dy't er stil oernimt. Do ûntdekst it as de folgjende ferbining mislearret.
As brede trochstjoering echt nedich is, reservearje dan de kontrôlepoarten foar de catch-all of brûk in apart iepenbier adres foar publikaasje. De twadde opsje is skjinner, want it kontrôleadres hâldt syn eigen belied, mar de provider moat dat adres leverje; in DNS-record tafoegje allocearret der gjin.
Brede TCP- en UDP-trochstjoering is ek net alle protokollen. ICMP, IPv6, paad-MTU-feedback en it bûtenste VPN-transport hawwe har eigen belied nedich, en in regel dy't TCP en UDP dekt, lit dy gefallen oan de standertketen oer.
Kies it model foar't do regels skriuwst
Fjouwer foarmen dekke de measte gateway-publikaasjes, en de kar hinget ôf fan hoefolle tsjinsten do draaist en hoefolle risiko foar it kontrôleflak do tolerearje kinst. De tabel hjirûnder set se fan smelst nei breedst.
| Model | What it protects | Cost | Use when |
|---|---|---|---|
| Narrow port forward | Every other listener, including the VPN | One rule per service | Few services, stable ports |
| Catch-all with reserved ports | Ports named in the exception list | Rule order becomes critical | Many services and disciplined review |
| Separate public address | Control address fully isolated | Provider must supply the address | High-value publication |
| VPN-only access | No public entry at all | Visitors need the tunnel | Admin interfaces and internal tools |
Begjin mei it smelle model, sels as do letter mear tsjinsten ferwachtet. It is it maklikst te auditearjen, en in set smelle regels omfoarmje ta in beoardiele catch-all is ienfâldiger as ûntdekke hokker listener in brede regel pakt hat. Hokker model do ek kiest, hâld de regels by de eigenier fan de firewall. iptables-regels njonken in UFW- of nftables-konfiguraasje sette dy't deselde ketens beheart, jout in belied dat feroaret ôfhinklik fan de bootfolchoarder.
Bewiis sawol de publikaasje as it kontrôlepaad
Test fan in autorisearre bûtenclient mei de goedkarde hostnamme en in sertifikaat dat dêrfoar jildich is. Befêstigje hokker backend antwurde, en kontrolearje dan dat net-relatearre iepenbiere poarten wegere bliuwe. In útskeakele sertifikaatkontrôle is gjin slagge HTTPS-test, en in ferbining nei de ferkearde backend is slimmer as in mislearre.
Kontrolearje dêrnei de gateway sels: ferbyn in WireGuard-peer, iepenje in SSH-sesje en befêstigje dat monitoring noch rapportearret. De publisearre tsjinst kin wurkje wylst it kontrôleflak stikken is, dus beide kontrôles hearre yn itselde wizigingsfinster. Reboot ien kear om te bewizen dat de regels yn de ferwachte folchoarder opnij tapast wurde, ferwiderje dan de publikaasje en befêstigje dat it ferwiderjen wier by it tafoegjen past. In grutte set opstart-tafoegings mei in ûnfolsleine opromming is hoe't in tydlike test in permaninte iepening wurdt.