Browser jitlob https://203.0.113.10:8443, il-proxy jaċċetta l-konnessjoni, u s-servizz fuq il-peer WireGuard qatt ma jwieġeb. Ir-regola DNAT tagħmel xogħolha; ir-risposta hija l-parti li tfalli. Segwi l-pakkett miż-żewġ traduzzjonijiet u r-regola neqsin issir ovvja. Is-sewqan huwa stqarrija NAT oħra fil-hook it-tajjeb, mhux mina ġdida.

Segwi talba waħda mill-bidu sat-tmiem

It-talba tasal fuq l-interface pubbliku tal-proxy, bl-indirizz pubbliku tal-klijent bħala sors u l-indirizz tal-proxy bħala destinazzjoni. F'nat PREROUTING ir-regola DNAT terġa' tikteb id-destinazzjoni għall-indirizz tal-mina tal-peer, 10.90.0.2. Imbagħad id-deċiżjoni tar-routing tibgħat il-pakkett 'il barra permezz ta' wg0, u t-triq tal-ibgħit tkun kompluta.

Fuq il-peer il-pakkett issa jġorr l-indirizz pubbliku tas-sors oriġinali, għax xejn ma reġa' kiteb dan. Is-servizz jaċċetta l-konnessjoni u jibgħat ir-risposta tiegħu lill-gateway default tiegħu stess, li huwa r-router tad-dar quddiem il-peer. Dak ir-router m'għandux stat għal fluss li qatt ma ra u jew jitfa' l-pakkett jew jittraduċih għall-indirizz pubbliku tiegħu stess, li l-klijent mhux se jaċċetta.

L-asimetrija hija l-problema kollha: it-talba tgħaddi mill-proxy, u r-risposta tipprova tmur direttament. L-intraċċar tal-konnessjonijiet tal-proxy jgħin biss jekk ir-risposta terġa' lura mill-proxy, u ma tistax terġa' lura hemmhekk sakemm l-indirizz tas-sors għadu jindika lejn il-klijent oriġinali.

Żid it-traduzzjoni lura

Erġa' ikteb is-sors tal-fluss mibgħut għall-indirizz tal-mina tal-proxy qabel ma jitlaq lejn il-peer. Imbagħad is-servizz iwieġeb lil 10.90.0.1, il-proxy jirċevih, u l-intraċċar tal-konnessjonijiet jaqleb iż-żewġ traduzzjonijiet qabel ma l-pakkett jerġa' lura għand il-klijent.

iptables -t nat -A PREROUTING -p tcp -m multiport --dports 8080,8443 -j DNAT --to-destination 10.90.0.2
iptables -t nat -A POSTROUTING -d 10.90.0.2 -o wg0 -p tcp -m multiport --dports 8080,8443 -j SNAT --to-source 10.90.0.1

Ir-regola POSTROUTING hija apposta dejqa: taqbel mad-destinazzjoni tradotta u mal-interface tal-mina, għalhekk ma terġax tikteb traffiku mhux relatat li jitlaq b'kumbinazzjoni permezz ta' wg0. Regola masquerade wiesgħa kienet taħbi wkoll l-indirizz tal-klijent, iżda kienet tagħmel dan għal kull fluss u tagħmel it-tabella NAT aktar diffiċli biex tiġi awditjata.

Poġġi r-regoli fejn teżisti l-mina

Regoli li jirreferu għall-indirizz jew għall-interface tal-mina għandhom jaħdmu wara li wg-quick ikun ikkonfiguraha. L-interface tinħoloq qabel PreUp, iżda l-indirizzi, MTU, DNS u rotot jiġu applikati wara, u PostUp jaħdem meta dan kollu jkun fil-post. Poġġi ż-żidiet f'PostUp u t-tħassir f'PreDown.

PostUp = iptables -t nat -A PREROUTING -p tcp -m multiport --dports 8080,8443 -j DNAT --to-destination 10.90.0.2
PostUp = iptables -t nat -A POSTROUTING -d 10.90.0.2 -o wg0 -p tcp -m multiport --dports 8080,8443 -j SNAT --to-source 10.90.0.1
PreDown = iptables -t nat -D PREROUTING -p tcp -m multiport --dports 8080,8443 -j DNAT --to-destination 10.90.0.2
PreDown = iptables -t nat -D POSTROUTING -d 10.90.0.2 -o wg0 -p tcp -m multiport --dports 8080,8443 -j SNAT --to-source 10.90.0.1

It-tħassir irid jaqbel maż-żidiet token b'token, inklużi l-qbil tal-multiport u tal-interface. Tħassir li jvarja f'qbil wieħed ma jneħħi xejn, u l-konnessjoni mill-ġdid li jmiss iżżid it-tieni kopja tar-regola. Wara xi konnessjonijiet mill-ġdid it-tabella jkun fiha duplikati li diffiċli jiġu attribwiti lil linja tal-konfigurazzjoni.

Iċċekkja r-riżultat permezz ta' iptables -t nat -S wara konnessjoni mill-ġdid. Jekk l-istess regola tidher darbtejn, il-linja PreDown ma taqbilx u t-tindif ifalli bil-kwiet.

Ibgħit, filtrazzjoni u l-NAT l-ieħor

Ippermetti l-ibgħit tal-IPv4 b'mod permanenti, imbagħad ippermetti l-fluss mibgħut fit-tabella tal-filtru. DNAT iseħħ qabel il-katina FORWARD, għalhekk ir-regola tal-filtru taqbel mad-destinazzjoni tradotta u mhux mal-indirizz pubbliku. Jekk UFW jamministra l-firewall, esprimi l-permess bħala regola tar-rotta; regola sempliċi tal-host ma tkoprix traffiku mibgħut.

Żewġ saffi NAT oħra xorta jistgħu jkissru t-triq anki meta r-regoli tal-proxy huma korretti. Fuq konnessjoni tad-dar, l-indirizz pubbliku huwa tar-router, u l-ftuħ tal-port fil-firewall tiegħu mhuwiex l-istess bħall-ħolqien ta' entrata tal-ibgħit tal-port li tibgħat dak il-port lill-proxy. Port li jidher miftuħ minn barra filwaqt li xejn ma jwieġeb spiss ikollu nieqes proprju dik il-mappa.

Fuq VPS NAT, il-fornitur jimmappa port pubbliku għall-indirizz privat. Il-mappa trid taqbel mal-port li tħabbar, u nuqqas ta' qbil jidher identiku għal mina miksura. Ikkonferma l-mappa tal-fornitur qabel ma tibdel il-konfigurazzjoni ta' WireGuard.

Ivverifika t-triq lura u aċċetta l-ispiża

Qabbad minn netwerk li mhuwiex il-LAN tal-proxy, imbagħad spezzjona l-par tat-traduzzjonijiet waqt li l-konnessjoni tkun miftuħa:

conntrack -L -p tcp --dport 8080
tcpdump -ni any tcp port 8080

L-entrata conntrack għandha turi t-tuple oriġinali, it-tuple tradott u d-direzzjoni tar-risposta. Jekk ir-risposta hija neqsin, il-peer mhuwiex qed jibgħat mill-mina, li normalment ifisser li r-regola SNAT ma ġietx applikata jew li l-firewall tal-peer stess warrab il-fluss.

Erġa' ibda darba biex tipprova li PostUp jerġa' japplika r-regoli, imbagħad waqqaf il-mina u kkonferma li PreDown neħħiehom. Regoli mejtin li jgħaddu minn skonnessjoni huma r-raġuni għaliex bidla aktar tard iġġib ruħha b'mod imprevedibbli.

Fl-aħħar, aċċetta x'inhu l-ispiża ta' SNAT. Is-servizz jara kull talba bħala li ġejja mill-proxy, għalhekk il-logs tal-aċċess, il-limiti tar-rata għal kull klijent u l-listi tal-indirizzi permessi ma jibqgħux jiddistingwu l-utenti. Il-każ hairpin jeħtieġ it-traduzzjoni tas-sors tiegħu stess għall-klijenti fuq il-LAN tal-proxy. Jekk il-peer jeħtieġ indirizzi reali tal-klijent, l-alternattiva hija rotta lura għan-netwerk tal-klijent, li hija aktar xogħol iżda tippreserva l-informazzjoni.

Artikli relatati