Twa VPN-klanten kinne fia twa ferskillende iepenbiere IPv4-adressen nei bûten gean, en de regel dy’t dat docht is koarter as de measte minsken ferwachtsje. Wat it wurkje lit is net de iptables-syntaksis, mar de tastân fan it pakket as it de útgongsketen berikt: it boarneadres dêr moat de klanten noch útinoar hâlde kinne. As in eardere masquerade beide al op ien adres gearfoege hat, kin gjin regel per klant it ûnderskie weromhelje. Besljochtsje earst dy fraach, skriuw dan de oersetting.

Hokker identiteit oerlibbet oant de poarte

De regel komt oerien mei it boarneadres fan it pakket, net mei in VPN-brûkersnamme en ek net mei de namme dy’t in klantapplikaasje toant. Alles wat it pakket earder op ’e wei oerset, bepaalt wat jo regel noch sjen kin. Rin de nat-tabel yn folchoarder en fyn it punt dêr’t de boarne noch per klant is.

iptables -t nat -S POSTROUTING

Lês dy list fan boppen. In masquerade-regel tichtby de boppekant skriuwt de boarne oer foar elke oerienkommende stream, en ynskriuwings per klant dy’t dêrnei pleatst wurde, komme oerien mei in adres dat net mear bestiet. As twa LAN-apparaten ien tunnel diele en as ien ynterne adres oankomme, moat it ûntwerp feroarje foardat de firewall dat docht: hâld harren boarneberikken apart of jou elk syn eigen ynterne adres.

Keppelje de tawizing fan it ynterne adres oan de autentisearre klant. It jaan fan dat adres oan in oar apparaat jout it útgongsbelied mei, en boarneoersetting is op himsels gjin identiteitsbewiis.

Oersetting kin gjin adres betinke

Elk iepenbier adres moat oan dit útgongspunt tawiisd of dêrhinne rûte wurde, en de antwurden moatte har wei werom fine. In regel dy’t ferkear stjoert fan in adres dêr’t nimmen werom rûte, wurdt oan ’e oare kant fuortsmitten of beantwurde oan in host dy’t der nea om frege hat. In ynstânsje by in wolkeprovider hat meastentiids syn iepenbiere adres oerset nei in partikulier ynterface-adres foardat it pakket fuortgiet, dat de SNAT-boarne moat it adres wêze dat de provider akseptearret, net de wearde dy’t de konsôle toant. Lês it adresmodel fan de provider en folgje it ynstee fan de iepenbiere wearde yn elk pakket te kopiearjen.

Yn ’e praktyk betsjut dat it kontrolearjen fan it rûtearre foarheaksel yn ’e konsôle fan de provider foardat jo de firewall oanreitsje, en it brûken fan it partikuliere ynterface-adres as oersettingsboarne as de mapping ien-op-ien is. De adressen yn ’e foarbylden hjirûnder komme út ’e dokumintaasjeberikken, dus it earste dat ferfongen wurde moat is de adrestekst sels.

Foegje yn foar de generike masquerade

Befêstigje it útgongsynterface en de hjoeddeiske keten foardat jo eat tafoegje. It earste bepaalt hokker pakketten de regel oerienkomme kin, en it twadde toant wat der al foar stiet.

ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers

It earste kommando neamt it ynterface dêr’t in pakket nei it ynternet wier troch fuortgiet. It twadde printsje de keten mei rigelnûmers. De generike masquerade-ynskriuwing is de rigel dêr’t jo boppe bliuwe moatte.

iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78

De twa regels hjirboppe komme elk oerien mei ien ynterne adres, beheine de oerienkomst ta it útgongsynterface en sette de boarne eksplisyt. Foegje yn ynstee fan ta te foegjen: op posysje 1 wurde se foar de masquerade-rigel evaluearre. De folchoarder tusken de twa makket net út, om’t har boarnen ferskille. Ferfange ens3 troch wat it rûtekommando rapporteare, en hâld oare firewall-behearders fan deselde hooks ôf, om’t twa ark dy’t ien tabel skriuwe de gewoane reden is dat in korrekte regel gjin effekt hat.

Bewiis de boarne mei in nije stream

Stateful NAT bynt in oersetting as in stream begjint en brûkt dy wer foar lettere pakketten, dus in sesje dy’t foar de feroaring iepene is, behâldt syn âlde boarne nei de feroaring. Allinnich in nij begûn ferbining bewiist de regel.

conntrack -L -s 10.88.4.20 -p tcp --dport 443

Lês de antwurdriging fan dy ynskriuwing: it bestimming is it adres dat it fiere einpunt as de boarne sjocht. Ferlykje it mei it iepenbiere adres dat jo bedoelden, en beskôgje in ynskriuwing mei it âlde adres as bewiis fan in stream dy’t te betiid begûn, net as in stikken regel. Freegje de klant in nije ferbining te iepenjen en werhelje dan de fraach. It hiele folchtafel leegje om de test te twingen ûnderbrekt elke oare sesje op ’e poarte.

Oersetting kiest noch altyd net de rûte, lit de stream net troch it filter en publisearret gjin ynkommende tsjinst. In ferkearde rûte en in ûntbrekkende tastienregel bliuwe mislearjen nei in perfekte SNAT-regel. Kontrolearje ek IPv6 en elk sekundêr útgongspaad, en notearje dan de ynterne-nei-iepenbiere pearen yn ’e dokumintaasje fan ’e firewall, sadat de folgjende feroaring by de mapping begjint ynstee fan by de regeltekst.

Relatearre artikelen