Úsáideann an dá shuíomh an raon LAN céanna, agus ní hé an forluí a bhrisfidh an dearadh i ndáiríre. Caithfidh an mol ceann a roghnú gan ach an seoladh sprice a úsáid, agus ní thugann dhá cheann scríbe chomhionanna aon rud dó lena roghnú. Is malairt níos measa de ghnáth athuimhriú oifige atá ag feidhmiú chun tollán a shásamh ná seoladh ar leith a thabhairt do gach seirbhís fhoilsithe ar féidir leis an tollán a iompar. Foilsíonn an dearadh thíos seirbhís HTTPS amháin in aghaidh an tsuímh agus tada eile.

Cén fáth nach é an forluí an fíorfhadhb

Seolann WireGuard de réir sprice: cinneann AllowedIPs piara cé acu piara a fhaigheann paicéad. Ní féidir le dhá phiara an 10.10.7.0/24 a fhógairt araon gan duine acu gach cuardach a bhuachan. Airí de thábla na bpiara atá ansin, ní de na tolláin, agus is ar an ábhar sin gur plean seoltaí atá sa réiteach anseo, ní cleas ródaithe.

Is é an plean stopadh ag fógairt an LAN ar fad. Fógair ailias in aghaidh na seirbhíse ina ionad, seoladh amháin in aghaidh an tsuímh, agus lig do gheata gach suímh an t-ailias sin a aistriú chuig a fíorfheidhmchlár.

Ródálann an t-úsáideoir dhá sheoladh uathúla, ní fheiceann sé riamh an réimír dhéchiallach, agus ní athraíonn aon rud in aon cheann den dá oifig. Deir sé seo an teorainn go hionraic freisin: tá tú ag foilsiú seirbhíse HTTPS amháin ó gach suíomh, ní ag cumasc dhá líonra. Fanann na rialacha a leanann beag toisc go bhfuil an ráiteas cúng. Bheadh rialacha níos leithne ag teastáil ó ráiteas níos leithne, agus is mar sin a éiríonn na dearaí seo casta.

Tabhair ailias do gach suíomh ar féidir leis an úsáideoir é a ródú

Roghnaigh seoltaí ó raon nach dtagann sé salach ar aon rud ar mheaisín an úsáideora, ar an mol ná ar cheachtar den dá LAN. Anseo is é 10.66.0.1 an mol, is é 10.66.0.10 an t-úsáideoir, is iad 10.66.0.21 agus 10.66.0.22 na geataí, agus is iad 10.77.1.20 agus 10.77.2.20 an dá ailias. Foilsíonn an mol gach ailias tríd an bpiara a shealbhaíonn é, mar sin ní féidir le paicéad amach atá dírithe ar aon ailias amháin imeacht ach tríd an suíomh comhfhreagrach:

[Interface]
Address = 10.66.0.1/32
ListenPort = 51820
PrivateKey = HUB_KEY

[Peer]
PublicKey = USER_PUBLIC_KEY
AllowedIPs = 10.66.0.10/32

[Peer]
PublicKey = SITE_A_PUBLIC_KEY
AllowedIPs = 10.66.0.21/32, 10.77.1.20/32

[Peer]
PublicKey = SITE_B_PUBLIC_KEY
AllowedIPs = 10.66.0.22/32, 10.77.2.20/32

Níl ag taobh an úsáideora ach an dá ailias, rud a choinníonn cumraíocht an chliaint saor ón dá réimír LAN. Ní luann aon rud sa chumraíocht sin ceachtar den dá LAN fíor:

[Interface]
Address = 10.66.0.10/32
PrivateKey = USER_KEY

[Peer]
PublicKey = HUB_PUBLIC_KEY
Endpoint = hub.example.net:51820
AllowedIPs = 10.77.1.20/32, 10.77.2.20/32
PersistentKeepalive = 25

Fógraíonn gach geata an mol agus foinse an úsáideora, agus tada eile, mar sin ní fhoghlaimíonn suíomh riamh LAN an tsuímh eile. Coinníonn Keepalive mapáil NAT ar uplink an tsuímh; ní údaraíonn sé trácht, agus cinneann an balla dóite fós cad a ligtear isteach. Tá sé ceart cumraíocht geata amháin a chóipeáil chuig an gceann eile chomh fada agus a athraíonn an eochair phríobháideach, seoladh an chomhéadain agus an t-ailias ar fad.

Cad a chaithfidh an mol a cheadú idir dhá cheann dá phiara

Seolann an mol paicéid idir dhá cheann dá phiara féin, is cinneadh sa slabhra forward é sin seachas cinneadh ionchuir. Cumasaigh seoladh IPv4 trí ghnáth-mheicníocht an ardáin, ansin ceadaigh go beacht na péirí a theastaíonn ón dearadh.

Ceadaíonn an riail thíos don úsáideoir dul chuig aon ailias amháin agus aon phort amháin, agus ceadaíonn sí trácht fillte trí rianú naisc. Caitheann sí gach rud eile ar an gcosán forward, agus sin an pointe:

nft add table inet hub_transit
nft add chain inet hub_transit forward '{ type filter hook forward priority 0 ; policy drop ; }'
nft add rule inet hub_transit forward ct state established,related accept
nft add rule inet hub_transit forward iifname wg0 oifname wg0 tcp dport 443 ip saddr 10.66.0.10 ip daddr 10.77.1.20 accept

Is fiú dhá mhionsonra a lua mar go mbíonn teipeanna ciúine ina mbun. Ní sháraíonn accept i mbunchlár amháin drop i gclár eile, mar sin cónaisc é seo leis an mbeartas atá ann cheana in ionad é a lódáil ina aice. Agus aithníonn an seoladh foinse an gléas, ní an duine; coinnigh fíordheimhniú an fheidhmchláir scartha ó ligean isteach ar an líonra.

Cén áit a n-éiríonn ailias ina sheoladh fíor

Faigheann suíomh A iarratas ar 10.77.1.20, athscríobhann sé an ceann scríbe chuig an bhfíorfheidhmchlár, agus athscríobhann sé an fhoinse chuig a sheoladh LAN féin ionas gur féidir leis an bhfreagra filleadh gan ród chuig an tollán. Coinneoidh déanamh an dá aistriú in aon áit amháin an chuid eile den líonra aineolach faoin ailias. Is iad na rialacha thíos an mheicníocht ar fad:

nft add table ip site_a_nat
nft add chain ip site_a_nat pre '{ type nat hook prerouting priority -100 ; policy accept ; }'
nft add chain ip site_a_nat post '{ type nat hook postrouting priority 100 ; policy accept ; }'
nft add rule ip site_a_nat pre iifname wg0 tcp dport 443 ip saddr 10.66.0.10 ip daddr 10.77.1.20 dnat to 10.10.7.20:443
nft add rule ip site_a_nat post iifname wg0 oifname lan0 tcp dport 443 ip saddr 10.66.0.10 ip daddr 10.10.7.20 snat to 10.10.7.2

Ansin caithfidh beartas forward shuíomh A ligean don sreabhadh aistrithe dul ó chomhéadan an tolláin chuig comhéadan an LAN, chomh maith leis an treo fillte. Feiceann an hook forward an ceann scríbe tar éis aistriú an chinn scríbe agus roimh athscríobh na foinse, agus is ar an ábhar sin a luann an riail seoladh an fhíorfheidhmchláir. Léigh an dá hook sin san ord sin aon uair a bhíonn cuma ar riail nach n-oirfeadh sí d'aon rud. Ní féidir le riail forward a scríobhtar i gcoinne an ailias teacht riamh, mar níl an t-ailias ann a thuilleadh ag an hook sin.

Athdheineann suíomh B é seo lena ailias féin agus lena eochair féin. Ní cheadaítear dó eochair phríobháideach shuíomh A a athúsáid, mar is earráid chumraíochta é dhá phiara ag roinnt aon aitheantais amháin atá deacair a fheiceáil agus éasca a chruthú trí chomhad a chóipeáil. Coinnigh an dá dhoiciméad geata comhionann seachas na luachanna a chaithfidh a bheith difriúil, ionas go seasfaidh an difríocht amach agus an t-athbhreithniú á dhéanamh. Is é comhad cóipeáilte an ghnáthfhoinse don locht sin.

Tá costas ar athscríobh na foinse. Feiceann an feidhmchlár an geata mar a chliant, mar sin ní thaispeánann a lóig a thuilleadh cé an t-úsáideoir a cheangail. Coinnigh rian iniúchóireachta an gheata, agus ná lagaigh logáil isteach an fheidhmchláir chun aitheantas líonra a d'fhág an t-aistriú ar lár a chúiteamh.

Conas a chruthú go bhfreagraíonn an dá ainm fhoilsithe

Tabhair ainm DNS do gach ailias agus cumraigh an feidhmchlár agus an deimhniú don ainm sin, mar ní athscríobhann an t-aistriú atreoruithe ná URLanna absalóideacha leabaithe. Úsáid ainm amháin in aghaidh an tsuímh ionas nach féidir míréir deimhnithe a mhearbhall riamh le locht ródaithe.

Tástáil ón bhfíorchliant, deimhnigh cén suíomh a d'fhreagair, agus tástáil port neamhúdaraithe freisin. Úsáid naisc nua tar éis aon athrú NAT, mar choinníonn an stát bunaithe an tseanmhapáil:

wg show wg0 allowed-ips
sudo nft list ruleset
curl -sS -o /dev/null -w "%{http_code}\n" https://site-a.example.net/

Ciallaíonn ailias folamh nó gan choinne sa chéad ordú go bhfuil roghnú na bpiara mícheart sula mbíonn aon riail balla dóite tábhachtach. Má tá an t-ailias ceart agus má theipeann ar an ainm fós, tá an fhadhb tar éis bogadh go DNS agus go deimhnithe. A luaithe a fhreagraíonn an dá ainm agus a fhanann an tríú port dúnta, déanann an dearadh a bhfuil sé á rá: dhá sheirbhís fhoilsithe go cúng, ní dhá LAN cumaiscthe.

Ailt ghaolmhara