WireGuard DNS DNAT: coinnigh an cosán freagartha ag obair
Athscríobhann DNAT an ceann scríbe, ní an fhoinse. Socraigh conas is féidir leis an réititheoir srutha suas freagra a thabhairt sula gcuireann tú an riail leis, agus coinnigh gach meaitseáil scóipthe.
Nuair a dhírítear iarratas DNS ó chliant WireGuard chuig réititheoir eile, breathnaíonn sé cosúil le riail amháin ach iompraíonn sé mar thrí chinneadh. Caithfear an ceann scríbe a athscríobh, caithfear an paicéad a chur ar aghaidh, agus caithfidh an freagra a bhealach a aimsiú ar ais tríd an staid aistriúcháin a chruthaigh an geata. Má scipeann tú an tríú ceann, fhágann an t-iarratas go glan agus fanann an cliant go deo.
Tóg sampla na gcliant údaraithe i 10.77.0.0/24 a thagann ar wg0, a chuireann ceist ar an seoladh fógraithe 10.77.0.1 agus a bhfuil réititheoir ag teastáil uathu ag 203.0.113.53. Is ionadaí doiciméadaithe é an seoladh srutha suas, ní seirbhís atá ag obair.
Ní athraíonn atreorú iarratais ach a cheann scríbe
Athscríobhann riail NAT ceann scríbe i PREROUTING an seoladh sula ndéantar an cinneadh ródaithe, agus mar sin ródáiltear an paicéad ansin i dtreo an chinn scríbe nua in ionad an tsean-cheann. Ní théann oibríocht sin i bhfeidhm ar sheoladh foinse an chliaint. Sin é an fáth ar féidir le riail atá cosúil le bheith iomlán ciúnas a tháirgeadh fós: téann an t-iarratas anois chuig réititheoir nár chuala riamh faoi raon príobháideach an chliaint. D'aistrigh an geata réimse amháin agus fuair sé dara fadhb le hoidhreacht.
Teastaíonn rialacha meaitseála ón dá iompróir DNS, mar go bhfilleann cliant ar TCP nuair a ghearrtar freagra.
Roghnaíonn na rialacha thíos comhéadan ionchuir amháin, raon cliant amháin agus seoladh ceann scríbe bunaidh amháin. Ní dhéantar difear d'aon rud eile ar an ngeata, agus ní mheaitseálann iarratas ón ngeata féin ar chor ar bith.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -i wg0 -s 10.77.0.0/24 -d 10.77.0.1 -p udp --dport 53 -j DNAT --to-destination 203.0.113.53:53
iptables -t nat -A PREROUTING -i wg0 -s 10.77.0.0/24 -d 10.77.0.1 -p tcp --dport 53 -j DNAT --to-destination 203.0.113.53:53
Cinneadh ar leithligh is ea an cosán freagartha
Ligeann dhá shocrú don fhreagra teacht ar ais, agus má roghnaíonn tú ceann go luath sábhálann tú seisiún dífhabhtaithe. Bíodh ród ag an réititheoir srutha suas ar ais go 10.77.0.0/24 tríd an ngeata seo, nó aistríonn an geata an fhoinse ar an eisbealach ionas go dtagann an freagra chuig seoladh a bhfuil aithne ag an sruth suas air cheana. Oibríonn an dá rud; ní thagann ach ceann acu le do smacht ar an sruth suas.
Tá an ródú tuillte ag an gcéad iarracht, mar coinníonn sé seoladh an chliaint le feiceáil ag an réititheoir agus seachnaíonn sé an dara sraith aistriúcháin. Nuair atá an sruth suas lasmuigh de do smacht, is é aistriú na foinse ar an gcomhéadan eisbealaigh ar leith an rogha phraiticiúil.
Cuir scóip chomh cúng sin leis an aistriúchán is atá leis an atreorú, nó beidh an riail ina NAT ilchuspóireach do gach rud a tharlaíonn a mheaitseáil:
iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -d 203.0.113.53 -o eth0 -p udp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -d 203.0.113.53 -o eth0 -p tcp --dport 53 -j MASQUERADE
Coinníonn rianú na nasc an mhapáil péireáilte, agus mar sin athscríobhtar an freagra ar ais chuig tuple bunaidh an chliaint ar an mbealach isteach. Gan an riail eisbealaigh, seolann an réititheoir a fhreagra i dtreo seoladh príobháideach nach féidir leis a bhaint amach, agus feiceann an cliant amúchadh in ionad earráide.
Scríobh na rialacha níos cúinge ná mar a bhreathnaíonn an tasc
Baineann cead cur chun cinn leis an scóip chéanna. Ceadaigh an sreabhadh ón gcliant go dtí an réititheoir agus an trácht fillte a aithníonn conntrack cheana, in ionad gach nasc DNAT ar an meaisín a ghlacadh. Údaraíonn glacadh ginearálta freisin cur chun cinn port nach bhfuil baint ar bith acu le DNS.
Is cosán cód difriúil é réititheoir an gheata féin. Téann iarratas a eisítear go háitiúil trí OUTPUT, agus mar sin ní chleachtann tástáil ó bhlaosc an gheata riail PREROUTING ná an beartas cur chun cinn. Sin é an fáth a n-éiríonn le tástáil áitiúil agus gach cliant ag teip, agus tá a mhalairt chomh coitianta céanna.
Ní chlúdaíonn aon rud anseo DNS thar HTTPS ar phort 443 ná DNS thar TLS ar phort 853, agus ní chlúdaíonn aon rud IPv6. Déanfaidh cliant a bhfuil réititheoir IPv6 cumraithe aige neamhaird shásta den socrú iomlán.
Cad a chruthaíonn iarratas nua
Meabhraíonn rianú na nasc mapálacha níos luaithe, agus mar sin is féidir freagra a thabhairt ar iarratas a seoladh roimh athrú rialach ón sean-staid agus an riail nua a dhéanamh cosúil le bheith briste. Tosaigh le port foinse nua agus, san áit a ndéanann an cliant freagraí a thaisceadh, le hainm nua.
dig @10.77.0.1 example.com A +short
conntrack -L -p udp --dport 53 | head
Taispeánann an chéad ordú an réitítear cosán an chliaint ar chor ar bith, agus taispeánann an dara ceann an t-aistriúchán a shuiteáil an geata i ndáiríre, lena n-áirítear an dá threo den tuple. Is fadhb cosáin fillte é mapáil a dhíríonn ar an réititheoir ceart agus a bhfuil a chuntar freagraí sáinnithe ag nialas, ní fadhb scagtha.
Deimhnigh go bhfuil aithne ag an réititheoir ar na hainmneacha a bhfuil tú ag súil leo sula n-atríonn tú aon rud. Athraíonn Ionadaí a thugann freagra ar ainmneacha poiblí ach ní ar do chrios príobháideach cuardach atá ag obair ina NXDOMAIN atá cosúil le tollán briste. Tástáil an réititheoir go díreach, ón ngeata, sula mbíonn baint ag cosán an chliaint. Agus déanann tagairt na bhforlíontán iptables doiciméadú ar shémantach DNAT agus masquerade a bhfuil na rialacha seo ag brath orthu.