Tógann sé nóiméad seoladh a athshannadh. An tseachtain ina dhiaidh is ea an áit a mbriseann an aistriú, agus is annamh ann a mholann consól an tsoláthraí é. Déantar tagairt do IP poiblí nua i gceithre áit: an soicéad a éisteann an daemon air, an t-ancaire muiníne a fhíoraíonn cliaint, gach riail a ainmníonn an sean-seoladh, agus an taifead DNS a cheanglaíonn le chéile iad. Breathnaíonn dhá aistriú mar an gcéanna ó phainéal rialaithe ach iompraíonn siad go hiomlán difriúil: an seoladh a athshannadh ar an meaisín a oibríonn tú, nó dara endpoint a thógáil agus cliaint a bhogadh chuige. Cuireann na seiceálacha thíos na teipeanna saora ar dtús, agus luann gach roinn cé acu aistriú a bhfuil sé i bhfeidhm air.

Is jabanna éagsúla iad ionadú ar an láthair agus aistriú comhthreomhar

Coinníonn ionadú ar an láthair an t-óstach, na heochracha, an tábla ródaithe agus an liosta úsáideoirí; ní athraíonn ach an seoladh. Sin a dhéanann athshannadh IP ar snámh, agus ag roinnt soláthraithe ní thugann an t-aoi faoi deara é, mar tarlaíonn an aistriúchán os comhair an chás. Tá ath-thógáil nó athshannadh ón soláthraí níos déine: feiceann an t-aoi an t-athrú, agus foghlaimíonn gach rud a bhí tar éis an tseanluach a chur i dtaisce é ag an nóiméad céanna.

Is éard is endpoint comhthreomhar ann an dara hóstach a dhéanann an obair chéanna. Tóg é, tástáil le próifíl amháin é, agus fág an seancheann ag freagairt go dtí go gcruthóidh an ceann nua é féin ar chonair fhíor. Is é an praghas ná staid. Gan iontrálacha peer comhroinnte, cúlghairmeacha agus lógáil, tá dhá líonra agat a roinneann ainm de thimpiste.

QuestionIn-place swapParallel endpoint
Rollback in one step?Only if you can get the old address backPoint DNS back; old host still up
Blast radiusEvery client at onceOnly the clients you moved
Best whenThe address is yours to reassignThe old address is gone for good

Faigh gach áit a bhfuil an sean-seoladh scríofa

Tosaigh le scuabadh téacs, mar is iad na comhaid chumraíochta an leath éasca. Cuardaigh cumraíocht an daemon, blúirí balla dóiteáin, spriocanna monatóireachta agus aon bheart cliaint ginte ar an diosca. Cuir an seoladh IPv6 san áireamh má fhoilsíonn tú ceann; fágann aistriú nach leanann ach an taifead A cliaint dé-stac ar an seanchonair.

OLD=203.0.113.10
grep -RIn -- "$OLD" /etc /root
ss -lunpt | grep -F "$OLD"
nft list ruleset | grep -F "$OLD"
iptables-save | grep -F "$OLD"
wg show all endpoints

Ansin scuab an eithne, mar coimeádann córas atá ag rith an seoladh in áiteanna nach luann aon chomhad. Maireann riail NAT foinse statach, iontráil ipset, seoladh bind agus iontráil conntrack níos faide ná an t-athrú cumraíochta a bhain iad, agus maireann cuid acu athbhootáil freisin mar tháinig siad ar ais ó shraith rialacha sábháilte. Leibhéal amháin níos airde, níl grúpaí slándála an tsoláthraí, spriocanna an chothromóra ualaigh ná seiceálacha monatóireachta ar do chóras comhad ar chor ar bith.

Scríobh an fhardal síos sula n-athraíonn tú aon rud; feidhmíonn sé freisin mar script aischuir.

Tagann cliaint ainm óstaigh chucu féin; éiríonn cliaint IP liteartha ina dtost

Má shroicheann cliaint an freastalaí trí ainm óstaigh, is fadhb DNS den chuid is mó é an t-aistriú, agus socraíonn an TTL a shocraigh tú inné cé chomh dona agus a bheidh sé. Cuireann réitigh i dtaisce, cuireann réitigh stub i dtaisce arís, agus ní lorgaíonn mórán cliant an t-ainm ach ar nasc nua, mar sin coinníonn tollán bunaithe a sheoladh tosaigh.

Má tá an endpoint ina sheoladh liteartha, ní réitítear aon rud arís agus ní logálann aon rud gearán. Stórálann WireGuard seoladh soicéid réitithe: éiríonn Endpoint = vpn.example.net:51820 ina IP an nóiméad a ritheann wg-quick up agus fanann sé mar an IP sin go dtí go n-athraíonn tú é. Tá OpenVPN níos trócaire: réitíonn sé an t-ainm óstaigh remote ag am naisc agus, le resolv-retry infinite, triailfidh sé DNS arís ar athnasc. Le IP liteartha, leanann an dá cheann ag diailiú meaisín nach bhfuil ann a thuilleadh.

Is é an rud a mheallann daoine ná an íomhá scátháin. Cliant atá dírithe cheana ar an seoladh nua, agus an sean-éisteoir fós ag freagairt, téann sé trí gach tástáil a dhéanann tú ó do dheasc féin. Táim curtha amú aige sin: tháinig an endpoint nua aníos ar ghuthán ar an gcéad iarracht, agus níor tháinig cliant le próifíl sean chun solais go dtí gur múchadh an sean-éisteoir i bhfad níos déanaí.

Ní aistríonn muinín leis an seoladh

Dealaíonn WireGuard féiniúlacht ó inrochtaineacht, rud a fhágann go bhfuil aistriú seoladh beagnach saor. Aithnítear peers le heochair phoiblí, agus níl san endpoint ach an áit a dtéann paicéid faoi láthair; nuashonraíonn óstach endpoint peer ó sheoladh foinse an phaicéid fhíordheimhnithe is déanaí. Teastaíonn cúis ó peer díomhaoin fós chun labhairt leis an áit nua, agus ní fhoghlaimíonn sé an seoladh go dtí go n-éiríonn a sheisiún sean agus go dtéann na hathiarrachtaí handshake ar gcúl in áit éigin infheicthe. Clúdaíonn tús mear WireGuard réimse an endpoint.

Is é an cás os coinne é freastalaithe atá bunaithe ar TLS. Tá an teastas ceangailte le hainm, agus déanann cliant a dhiaileann seoladh comparáid idir an rud a dhiail sé agus ainmneacha malartacha an ábhair. Ceangail trí IP le teastas nach bhfuil ann ach SAN DNS, agus teipeann an fhíorú: níl an t-ainm a d'úsáid an cliant sa teastas. Réitíonn ath-eisiúint le SAN IP an nasc amháin sin agus déanann sé an chéad aistriú eile níos measa. Má choinníonn tú ainm óstaigh sa phróifíl agus verify-x509-name ina áit, fanann an tseiceáil dian agus an seoladh thíos ag athrú.

Ansin seiceáil cad chuige a bhfuil an daemon ceangailte; teipeann soicéad atá greamaithe den seanseoladh go ciúin. Diúltaíonn freastalaí OpenVPN a thosaítear le local 203.0.113.10 teacht aníos nuair a imíonn an seoladh sin, agus leanann éisteoir ar 0.0.0.0 an t-athrú saor in aisce. Roinntear NAT ar an mbealach céanna: leanann MASQUERADE cibé seoladh atá ag an meaisín anois, agus leanann SNAT --to-source 203.0.113.10 statach ag athscríobh chuig seoladh nach bhfuil agat a thuilleadh, mar sin imíonn trácht fillte. Má thagann an seoladh nua le geata upstream difriúil, seiceáil rp_filter: caitheann scagadh cosáin droim ar ais trácht fillte a shroicheann comhéadan nach raibh súil ag an eithne leis.

Ord an aistrithe agus an fhianaise gur oibrigh sé

Ísligh an TTL lá roimh ré, tóg an t-éisteoir nua, agus cruthaigh é le próifíl nach bhfuil ach agatsa. Ní chruthaíonn tástáil ón taobh istigh den líonra céanna beagnach aon rud, mar sin úsáid guthán ar shonraí móibíleacha agus tástáil rud éigin atá an tollán le hiompar seachas ping chuig an endpoint.

Faire an dá sheoladh ar feadh na fuinneoige. Insíonn wg show all latest-handshakes ar an óstach nua, nó comhad stádais OpenVPN, duit cé mhéad peer atá tar éis bogadh i ndáiríre. Nuair a bhíonn na peers a bhfuil súil agat leo ag an endpoint nua agus gan ach iad siúd atá ar gcúl ag an seancheann, cuir an sean-éisteoir ar scor, bain an riail NAT atá as dáta agus bain an seoladh de bhall dóiteáin an tsoláthraí. Is é baint an tsean-éisteora an chéim a ndéantar dearmad uirthi, agus dúnann sé an bhearna ina sroicheann próifíl as dáta an seanelíonra fós.

Socraigh an truicear aischuir i scríbhinn sula dtosaíonn tú: mura bhfaighidh an endpoint nua handshake ó aon chliant fíor tar éis na fuinneoige comhaontaithe, cuir an seanseoladh ar ais agus stop ag dáileadh próifílí. Athrith an scuabadh ina dhiaidh sin agus deimhnigh nach bhfuil aon éisteoir fós ceangailte le seoladh scortha. Téann dhá rud ar aghaidh chuig an gcéad aistriú eile: ainm óstaigh i bpróifíl an chliaint ionas gur eagarthóireacht DNS an chéad athrú eile, agus an fhardal a stóráladh in aice le nótaí aisghabhála an fhreastalaí.

Ailt ghaolmhara