Is féidir leat teacht ar fho-líonra taobh thiar de chríochphointe tolláin ar thrí bhealach, agus is gnách go ndíbreoidh nóiméad de bhailiú fíricí dhá cheann acu. Is iad na fíricí cé acu an gcaithfidh na freastalaithe ansin idirdhealú a dhéanamh idir úsáideoirí, an scairfidh aon duine ansin riamh chuig do raon, agus cé a fhéadann ródaire an chríche i bhfad a chur in eagar. Freagair an triúr sin agus roghnóidh an dearadh é féin. Glactar leis sa chuid eile gurbh tú a ritheann an críochphointe agus gur féidir leat a bhalla dóiteáin a chur in eagar.

Trí rogha, agus cad a athraíonn gach ceann i ndáiríre

Aistríonn mapáil réimíre, DNAT in aghaidh an ósta agus réimír ródáilte paicéid idir an dá raon chéanna, ach athraíonn siad rudaí éagsúla. Ceapann mapáil raon ailias agus athscríobhann sé seoltaí go huimhriúil le linn eitilte. Athscríobhann rialacha in aghaidh an ósta freisin, ach amháin go n-ainmnítear gach ceann scríbe de láimh. Ní athscríobhann réimír ródáilte rud ar bith: coinníonn paicéid na seoltaí iarbhír agus aontaíonn an dá cheann faoi cá gcónaíonn na seoltaí sin.

What the far side needsPrefix mappingPer-host DNATRouted prefix
Users visible to its logsOnly without source NATSame conditionYes, unchanged
To start a connection toward youNo, alias is localNo, same reasonYes, both ends route
To absorb a new hostYes, arithmetic onlyNo, one rule per addressYes, it simply routes
To require no config changeYes, with source NATYes, same conditionNo, it needs a route back

Cuir tús leis an eisiamh ar an taobh thall, áit a bhfuil na srianta is deacra a athrú. Má scríobhann freastalaí ansin seoltaí cliant isteach i logaí, má sheiceálann sé iad i gcoinne liosta ceadaithe nó má thugann sé do chóras eile iad, scriosann aistriú na foinse a haitheantas amháin. Má chaithfidh an taobh thall scairt isteach freisin, tá aistriú as ar fad, mar níl a fhios ag aon duine ansin go bhfuil an t-ailias ann. Ní bhíonn na roghanna níos saoire sábháilte ach amháin nuair nach ndéanann an taobh thall ach freagra a thabhairt ar iarratais.

Péirí réimíre, agus cén fáth a gcaithfidh na méideanna a bheith ar cóimhéid

Is sprioc de chuid an tábla nat é NETMAP a oibríonn ar phéire réimírí den fhad céanna. Níl tábla in aghaidh an tseolta istigh ann: baineann sé an réimír, coinníonn sé na giotáin ósta agus ceanglaíonn sé arís iad leis an réimír nua, agus sin an fáth a ndéantar /24 a mhapáil ar /24 agus go deo ní ar /25. Socraíonn an suíomh an treo: athscríobhann meaitseáil chinn scríbe in PREROUTING cá dtéann paicéad, agus athscríobhann meaitseáil foinse in POSTROUTING cá as a dtáinig sé.

Tá óstach ag 192.168.2.17 le feiceáil ag do chliaint mar 10.50.1.17, agus níl an ochtad deireanach maisiúil — is é an uimhir chéanna é ar an dá thaobh. Cuir óstach ag 192.168.2.40 leis amárach agus is é 10.50.1.40 a ailias, gan aon riail le cur in eagar.

Teastaíonn bealach ó na cliaint fós don raon ailias a dhíríonn ar do bhosca, mura bhfuil an t-ailias laistigh d'fho-líonra a shroicheann siad cheana. Ní theastaíonn bealach ar bith ón ngeata don ailias, mar ritheann aistriú cinn scríbe in PREROUTING, roimh an gcuardach bealaigh. Caithfidh an t-ard-seoladh a bheith ar siúl freisin, nó caitheann an t-eithne an paicéad tar éis an athscríofa. Is iad na trí ordú thíos an socrú iomlán ar gheata ar nós Debian agus cliaint ar br0, an t-ailias ar 10.50.1.0/24 agus an tollán ar tun0.

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -i br0 -d 10.50.1.0/24 -j NETMAP --to 192.168.2.0/24
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Caithfidh an freagra a bhealach ar ais a aimsiú dó féin

Ní shocraíonn athscríobh an chinn scríbe ach cá seachadtar paicéad. Caithfidh freastalaí an taobh thall freagra a thabhairt fós ar sheoladh ar féidir leis rochtain a fháil air, agus tá dhá bhealach chun é sin a eagrú. Aistrigh an fhoinse ionas go bhfillfidh freagraí ar do bhosca, nó fág an fhoinse i léig agus tabhair bealach don taobh thall don raon cliant.

Is é an masquerade ar an mbealach amach an bealach is giorra: riail amháin in POSTROUTING agus feiceann an taobh thall seoladh do tholláin, mar sin ní theastaíonn a bhealach féin uaidh. Is é an costas go dtitfidh gach úsáideoir isteach in aon seoladh amháin, agus go stopfaidh logaí in aghaidh an úsáideora de bheith ag ciallú rud ar bith. Má choinnítear an fhoinse slán, coimeádtar an fhaisnéis sin, ach ansin caithfidh an suíomh i bhfad freagraí an raoin cliant a sheoladh ar ais tríd an tollán. Ar OpenVPN freastalaí is é sin push "route 10.50.9.0 255.255.255.0", móide líne route 192.168.2.0 255.255.255.0.

Is é an teip chostasach a bheith ag déanamh leath de gach rud. Má dhéanann tú masquerade ar chuid den trácht agus an taobh thall ag iompar bealach ar ais do thrácht eile freisin, tagann freagraí ar chomhéadan nár feiceadh iontráil rianaithe naisc riamh air. Tuairiscíonn an cliant amú ama d'iarratas a thaifead an freastalaí mar cheann a ndearnadh freastal air. Caithfidh an dá threo de shruth an sampla netfilter céanna a thrasnú: geata amháin ag aistriú, ní dhá bhalla dóiteáin as a chéile.

conntrack -L -d 10.50.1.17
iptables -t nat -L PREROUTING -v -n

Léigh an iontráil sa dá threo: coinníonn an tuple bunaidh d'ailias ar an gceann scríbe, agus iompraíonn tuple an fhreagra an seoladh iarbhír. Mura bhfuil tuple an fhreagra ann, is é an bealach ar ais an fhadhb seachas an riail. Mura mbog cuntair PREROUTING riamh, níor shroich an paicéad an crúca sin riamh.

Imbhuailtí agus an cuardach a ritheann ar dtús

Is féidir le dhá raon éagsúla imbhuailt agus breathnaíonn an dá theip mar thollán briste seachas mar riail dhona. Caithfidh an t-ailias a cheapann tú a bheith gan úsáid ar feadh an bhealaigh ar fad, agus ní fhéadfaidh raon iarbhír an taobh thall a bheith ann cheana ar do líonra. Cruthaíonn dúblach trácht eatramhach chuig an óstach mícheart, rud is deacra a dhiagnóisiú ná nasc diúltaithe. Fiafraigh den tábla ródála sula gcuireann tú riail leis.

Ar an ngeata, ba cheart do ip route get 192.168.2.17 gléas an tolláin a ainmniú; ciallaíonn droichead áitiúil go bhfuil an raon i bhfad faoi scáth agus ní dheiseoidh aon riail nat é. Má úsáideann do líonra féin 192.168.2.0/24 cheana, athuimhrigh an suíomh i bhfad seachas mapáil a chruachadh ar an imbhuailt.

É a thástáil ó chliant iarbhír, agus ansin é a choimeád

Tástáil ó mheaisín a úsáidfidh an t-ailias i ndáiríre, ní ón ngeata, mar ní thrasnaíonn trácht a ghintear go háitiúil PREROUTING riamh ar an mbealach céanna. Oscail nasc chuig óstach amháin le hailias agus féach ar na cuntair agus ar iontráil conntrack teacht le chéile, ansin dún é agus deimhnigh go n-imeoidh an iontráil. Cuireann iontráil shean in iúl nasc leathoscailte, rud a chiallaíonn de ghnáth nár tháinig an freagra riamh ar ais.

curl -sv http://10.50.1.17/ -o /dev/null
ss -tn dst 10.50.1.17
conntrack -L -d 10.50.1.17

Cruthaíonn dhá nó trí nasc rathúla an uimhríocht, ach ní deir siad aon rud faoi mharthanacht ná faoin innealtóir seo chugainn. Sábháil na rialacha san áit a léann an próiseas tosaithe iad, rud a chiallaíonn ar Debian agus Ubuntu iptables-save > /etc/iptables/rules.v4 le netfilter-persistent cumasaithe. Tá mapáil a imíonn ar atosú níos measa ná ceann ar bith, mar tagann an tsos cionn gan aon athrú le déanaí le milleán a chur air.

Fág nóta cois na rialacha: an raon ailias, an raon iarbhír, an chúis leis an bpéire agus cé a fhéadann tús a chur. Scarann an nóta sin dearadh ó charn rialacha nach leomhfaidh aon duine a scriosadh. Socraíonn sé freisin an cheist níos déanaí, nuair a chuireann an suíomh i bhfad óstach leis agus freagraíonn seoladh nach ndearna aon duine é a chumrú cheana. Má deir an nóta go dteastaíonn bealach ar ais ón taobh thall, tá a fhios ag an gcéad duine eile go mbriseann baint na rialach masquerade an nascacht. Tá an doiciméadú saor anseo; ní hamhlaidh atá d'athfhionnachtain spleáchais NAT ag a trí ar maidin.

Ailt ghaolmhara