Samhlaíonn tú an freastalaí VPN ag léamh sheoladh do ríomhaire glúine ón bpacáid agus á scríobh i loga. Is é a léann sé an rud a chuir an léim NAT dheireanach sa cheannteideal seachtrach, agus ar fhón a úsáidtear mar phointe rochtana is minic gurb é sin seoladh a roinntear le na céadta síntiúsóirí eile. Ní thrasnaíonn seoladh do mheaisín féin 192.168.x.x an t-idirlíon sa cheannteideal sin riamh, agus tugann an freastalaí seoladh an tolláin tar éis an nasc a bheith bunaithe cheana. Mar sin nuair nach n-aontaíonn loga an fhreastalaí agus ip addr ar an ríomhaire glúine, níl ceachtar acu mícheart; cuireann siad síos ar shraitheanna éagsúla d'aon seisiún amháin.

Trí sheoladh, agus níl ach ceann amháin sa loga

Tagann an mearbhall as trí sheoladh a chónascadh ina n-aon. Tá úinéir difriúil ag gach ceann, maireann sé i gceannteideal difriúil agus sroicheann sé an freastalaí ar chonair dhifriúil.

AddressWho assigns itWhere it sitsVisible to the VPN server
Device address, e.g. 192.168.1.24Your router via DHCPOuter header, before translationNo, rewritten in place
Translated address and portRouter, ISP CGNAT, or bothOuter header, after translationYes, this is the tuple it logs
Tunnel address, e.g. 10.8.0.6The VPN server itselfInner header, after decapsulationYes, but it chose it

Níl ach an tsraith lárnach anaithnid tráth an naisc. Scríobhann an freastalaí é ina thábla piaraí, ina chomhad staid nó ina loga sreafa ag brath ar an daemon: tugann WireGuard an pointe deiridh air, cuireann comhad staid OpenVPN an lipéad Real Address air, agus tuairiscíonn strongSwan é mar óstach cianda an IKE_SA. Athnuaitear an luach sin gach uair a thagann pacáid ó fhoinse dhifriúil, mar sin athraíonn sé gan aon duine aon rud a atosú.

Is é an tsraith íochtarach an rud a léann daoine go mícheart mar éileamh aitheantais. Cuireann sé spota i gcumraíocht an fhreastalaí in iúl, ní duine, mar gheall gur roghnaigh an freastalaí é as a linn féin. Is féidir le beirt úsáideoirí an seoladh tolláin céanna a fháil ar laethanta éagsúla, agus is féidir le duine amháin beirt acu a choinneáil ó dhá ghléas.

Cén fáth a n-athraíonn an tuple logáilte agus an tollán fós suas

Is tábla le hamadóir é aistriú seoladh, ní ceangal buan. Coinníonn ródaire baile a mhapáil UDP ar feadh tamaill tar éis na pacáide deireanaí, athchúrsálann geata iompróra portanna de réir a sceidil féin, agus filleann fón a léimeann ó Wi-Fi go LTE le foinse iomlán difriúil. Is tagarmharc úsáideach iad réamhshocruithe conntrack Linux anseo: is é nf_conntrack_udp_timeout 30 soicind agus is é an leagan sruthaithe 120, mar sin is féidir le tollán ciúin a mhapáil a chailleadh i bhfad sula dtuigeann an t-úsáideoir.

Maireann an tollán mar go ndéanann an prótacal fíordheimhniú ar an bpiara, ní ar an seoladh. Tá WireGuard gan staid tar éis an chroitheadh láimhe, mar sin nuashonraíonn aon phacáid fhíordheimnithe an pointe deiridh stóráilte agus leigheasann athcheangal ar an gcéad phacáid eile; sin an fáth a bhfuil persistent-keepalive = 25 ann, chun an mhapáil a choinneáil te agus é díomhaoin. Déanann --float OpenVPN an obair chéanna agus ligeann sé do chliant fíordheimnithe leanúint ar aghaidh ó sheoladh agus port nua. Ar na leaganacha 2.4 agus 2.5 ina bhfuil float múchta de réir réamhshocraithe, athshocraíonn athcheangal an seisiún agus athcheanglaíonn an cliant.

Sroicheann IPsec ansin le níos mó píosaí gluaisteacha. Tugann IKEv2 faoi deara an t-aistriú trí na haiseanna foinse agus cinn scríbe a chur i gcomparáid sna hualaí braite NAT, aistríonn sé go hionchapsúchán UDP 4500, agus leanann sé keepalives go dtí an tuple nua. Nuair a chuirtear bac ar keepalives fanann an SA suas ar pháipéar agus stopann trácht i dtreo amháin go ciúin.

Cad is féidir leis an bhfreastalaí a chur i leith, agus cad nach féidir

Is é an miotas is fiú a mharú ná go gcuireann aistriú i bhfolach thú ón oibreoir. Athraíonn sé an lipéad, ní an bhreathnóireacht. Feiceann geata taobh thiar de NAT an iompróra spás 100.64.0.0/10 nó aon seoladh poiblí amháin a roinntear le go leor síntiúsóirí, agus is féidir leis fós an sreabhadh a cheangal le hábhar teastais, le heochair phoiblí WireGuard, le seoladh tolláin sannta, le hairíomhánna beart agus le fuinneog ama. Ní gá aon cheann acu do sheoladh LAN.

Téann na teorainneacha an bealach eile freisin. Tagraíonn seoladh roinnte i loga do gheata, ní do theaghlach; is gléasanna difriúla iad dhá sheisiún ón seoladh aistrithe céanna ar phortanna éagsúla; féadfaidh an seoladh céanna ar dhá lá éagsúla a bheith ina bheirt síntiúsóirí gan ghaol má athchúrsáladh an port. Ní féidir le freastalaí nach dtaifeadann ach eochracha piaraí ceann a mhapáil chuig custaiméir gan an bunachar sonraí cuntas, agus ní féidir le freastalaí nach dtaifeadann ach seoltaí idirdhealú a dhéanamh idir ríomhaire glúine agus fón taobh thiar den ródaire céanna.

Cuir an dá cheann i gcomparáid in ionad buille faoi thuairim a thabhairt

Chun a shocrú cad a tharla, gabh an nasc céanna ag an dá cheann ag an am céanna agus cuir an tuple i gcomparáid, ní an seoladh. Ar an gcliant, roimh aon aistriú:

ss -uapn 'dport = :51820'
ip -4 route get 203.0.113.10
wg show wg0 endpoints

Ansin léigh an iontráil aistrithe ar an ródaire nó ar gheata CGNAT, agus an rud a shroicheann an freastalaí sa deireadh:

conntrack -L -p udp --dport 51820
tcpdump -ni eth0 udp port 51820

Míníonn trí phatrún an chuid is mó de na héagsúlachtaí. Tá port foinse an fhreastalaí difriúil ón bport áitiúil agus an ceann scríbe ag teacht: gnáthaistriú port. Baineann seoladh foinse an fhreastalaí le bloc ISP nach leatsa é: ar a laghad sraith NAT amháin breise. Stopann pacáidí tar éis tréimhse díomhaoine agus atosaíonn siad le port nua: tá an mhapáil imithe in éag, ní locht ródaithe. Má tá na stampaí ama níos mó ná soicind nó dhó óna chéile, tá dhá iarracht dhifriúla á gcur i gcomparáid agat.

Cén áit a mbriseann an difríocht rudaí

Is anseo a thosaíonn briseadh a bhíonn cosúil le lochtanna freastalaí de ghnáth. Teipeann ar riail rochtana atá ceangailte le do sheoladh baile tar éis léas an ISP a athrú. Cuireann riail fail2ban a mheaitseálann seoladh aistrithe cosc ar gach síntiúsóir taobh thiar den gheata sin ag an am céanna. Stopann piara láithreán-go-láithreán le seoladh cianda seasta ag athnuachan eochracha tar éis nasc soghluaiste a athrú. Bhí prótacal an tolláin ceart; ní raibh an toimhde faoin tuple seachtrach.

Tagann an mearbhall céanna chun solais ar thaobh an fhreastalaí. Má tá an bosca VPN féin taobh thiar de NAT teastaíonn atreorú port agus cosán aistrithe oibre uait; clúdaíonn treoir aistrithe strongSwan an cás sin do IPsec. Ní fheiceann freastalaí atá inrochtana ar sheoladh príobháideach amháin an tuple aistrithe a chuireann a chliaint i láthair riamh, agus is fadhb dhifriúil é sin ó chliaint a bheith aistrithe.

Téigh tríd an gceithre sheiceáil seo in ord agus stop ag an gcéad cheann a theipeann:

  • Gabh ag an dá cheann ag an am céanna; deimhnigh go n-aontaíonn port foinse, port cinn scríbe agus stampaí ama.
  • Léigh liosta piaraí an fhreastalaí don seoladh atá aige faoi láthair, ní don seoladh a raibh súil agat leis.
  • Seiceáil tábla conntrack nó NAT don iontráil agus dá saolré atá fágtha.
  • Deimhnigh go n-aontaíonn seoladh chomhéadan an tolláin ar an gcliant leis an gceann a shann an freastalaí, ní le seoladh LAN.

Má aontaíonn an dá ghabháil ar an tuple agus má theipeann ar an tollán fós, ní é an t-aistriú d'fhadhb; téigh ar aghaidh chuig an chroitheadh láimhe agus chuig an tábla ródaithe taobh istigh den tollán.

Ailt ghaolmhara