L-assenjazzjoni mill-ġdid ta' indirizz tieħu minuta. Il-ġimgħa ta' wara hija l-post fejn il-moviment jinqasam, u rari fejn tissuġġerixxi l-console tal-fornitur. IP pubbliku ġdid jiġi riferut f'erba' postijiet: is-socket li fuqha jisma' d-daemon, l-ankra tal-fiduċja li jivverifikaw il-klijenti, kull regola li ssemmi l-indirizz il-qadim, u r-rekord DNS li jgħaqqadhom. Żewġ movimenti jidhru identiċi minn pannell ta' kontroll iżda jġibu ruħhom għal kollox differenti: l-assenjazzjoni mill-ġdid tal-indirizz fuq il-magna li tmexxi, jew it-tqegħid ta' tieni endpoint u t-tmexxija tal-klijenti lejh. Il-verifiki hawn taħt iqiegħdu l-ħsarat irħas l-ewwel, u kull taqsima tgħid liema moviment japplika għaliha.

Is-sostituzzjoni fil-post u l-qbiż parallel huma xogħlijiet differenti

Is-sostituzzjoni fil-post iżżomm il-host, iċ-ċwievet, it-tabella tar-routing u l-lista tal-utenti; jinbidel biss l-indirizz. Hekk tagħmel assenjazzjoni mill-ġdid ta' IP għaddej, u f'ħafna fornituri l-mistieden lanqas biss jinduna, għax it-traduzzjoni ssir quddiem l-istanza. Bini mill-ġdid jew assenjazzjoni mill-ġdid mill-fornitur hija iebsa aktar: il-mistieden jara l-bidla, u kull ma kien qed iżomm il-valur il-qadim fil-cache jitgħallimha fl-istess mument.

Endpoint parallel huwa tieni host li jagħmel l-istess xogħol. Ibnieh, ippruvah b'profil wieħed, u ħalli l-qadim iwieġeb sakemm il-ġdid juri ruħu fuq mogħdija reali. Il-prezz huwa l-istat. Mingħajr entrati peer maqsuma, revoki u reġistrazzjoni, għandek żewġ netwerks li jinqasmu isem b'kumbinazzjoni.

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

Sib kull post fejn huwa miktub l-indirizz il-qadim

Ibda bi skanjar tat-test, għax il-fajls tal-konfigurazzjoni huma n-nofs faċli. Fittex fil-konfigurazzjoni tad-daemon, fil-frammenti tal-firewall, fil-miri tal-monitoraġġ u fi kwalunkwe bundle tal-klijent iġġenerat fuq id-diska. Inkludi l-indirizz IPv6 jekk tippubblika wieħed; moviment li jsegwi biss ir-rekord A iħalli l-klijenti b'doppja stack fuq il-mogħdija l-qadima.

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

Imbagħad skanna l-kernel, għax sistema li taħdem iżżomm l-indirizz f'postijiet li l-ebda fajl ma jsemmihom. Regola NAT tas-sors statika, entrata ipset, indirizz bind u entrata conntrack jgħixu aktar mill-editjar tal-konfigurazzjoni li neħħiehom, u xi wħud jgħixu wkoll wara restart għax ġew lura minn sett ta' regoli salvat. Safa waħda 'l fuq, il-gruppi tas-sigurtà tal-fornitur, il-miri tal-load balancer u l-verifiki tal-monitoraġġ mhumiex affattu fuq is-sistema tal-fajls tiegħek.

Ikteb l-inventarju qabel ma tbiddel xi ħaġa; jaqdi wkoll bħala skript tar-rollback.

Il-klijenti bl-isem tal-host jirkupraw; il-klijenti b'IP litterali jsikktu

Jekk il-klijenti jilħqu s-server bl-isem tal-host, il-qbiż huwa l-aktar problema DNS, u t-TTL li stabbilixxejt ilbieraħ jiddeċiedi kemm se jkun ħażin. Ir-resolvers jaħżnu l-cache, ir-resolvers stub jerġgħu jaħżnu, u ħafna klijenti jfittxu l-isem biss fuq konnessjoni ġdida, għalhekk tunnel stabbilit iżomm l-indirizz tal-bidu tiegħu.

Jekk l-endpoint huwa indirizz litterali, xejn ma jiġi riżolt mill-ġdid u xejn ma jirreġistra lment. WireGuard jaħżen indirizz tas-socket riżolt: Endpoint = vpn.example.net:51820 isir IP fil-mument li jitħaddem wg-quick up u jibqa' dak l-IP sakemm ma tibdilx. OpenVPN huwa aktar tolleranti: jirriżolvi l-isem tal-host remote fil-ħin tal-konnessjoni u, b'resolv-retry infinite, jerġa' jipprova DNS meta jerġa' jgħaqqad. B'IP litterali, it-tnejn ikomplu jċemplu magna li ma għadhiex teżisti.

Dak li jqarraq lin-nies huwa l-immaġni tal-mera. Klijent li diġà qed jipponta lejn l-indirizz il-ġdid, waqt li s-semmiegħ il-qadim għadu jwieġeb, jgħaddi minn kull test li tagħmel mill-iskrivanija tiegħek. Ġejt ivvintat hekk ukoll: l-endpoint il-ġdid tela' fuq telefon mill-ewwel prova, u klijent b'profil qadim deher biss meta s-semmiegħ il-qadim intefa ħafna aktar tard.

Il-fiduċja ma tiċċaqlaqx mal-indirizz

WireGuard jifred l-identità mill-aċċessibilità, u dan jagħmel il-moviment tal-indirizz kważi b'xejn. Il-peers jiġu identifikati b'ċavetta pubblika, u l-endpoint huwa biss fejn il-pakketti jmorru bħalissa; host jaġġorna l-endpoint ta' peer mill-indirizz tas-sors tal-aħħar pakkett awtentikat. Peer inattiv xorta jeħtieġ raġuni biex jitkellem mal-post il-ġdid, u jitgħallem l-indirizz biss meta s-sessjoni tiegħu tixjieħ u l-attenti mill-ġdid ta' handshake ifallu f'post viżibbli. Il-bidu mgħaġġel ta' WireGuard ikopri l-qasam endpoint.

Is-servers ibbażati fuq TLS huma l-każ oppost. Iċ-ċertifikat huwa marbut ma' isem, u klijent li jċempel indirizz iqabbel dak li ċempel man-nomi alternattivi tas-suġġett. Qabbad permezz ta' IP ma' ċertifikat li jġorr biss SAN DNS u l-verifika tfalli: l-isem li uża l-klijent mhuwiex fiċ-ċertifikat. Ħruġ mill-ġdid b'SAN IP jissewwi dik il-konnessjoni waħda u jagħmel il-moviment li jmiss agħar. Iż-żamma ta' isem tal-host fil-profil u t-tħalli ta' verify-x509-name f'postu żżomm il-verifika stretta waqt li l-indirizz taħtu jinbidel.

Imbagħad iċċekkja ma' xiex huwa marbut id-daemon; socket imwaħħal mal-indirizz il-qadim ifalli bil-kwiet. Server OpenVPN li jinbeda b'local 203.0.113.10 jirrifjuta li jitla' hekk kif dak l-indirizz jgħib, waqt li semmiegħ fuq 0.0.0.0 isegwi l-bidla b'xejn. NAT jinqasam bl-istess mod: MASQUERADE isegwi kwalunkwe indirizz li għandha l-magna issa, u SNAT --to-source 203.0.113.10 statiku jibqa' jikteb mill-ġdid lejn indirizz li m'għandekx aktar, u għalhekk it-traffiku tar-ritorn jisparixxi. Jekk l-indirizz il-ġdid jiġi b'gateway upstream differenti, iċċekkja rp_filter: il-filtrazzjoni tal-mogħdija maqluba twarrab traffiku tar-ritorn li jasal fuq interface li l-kernel ma stenna.

L-ordni tal-qbiż u l-evidenza li ħadem

Niżżel it-TTL jum qabel, waqqaf is-semmiegħ il-ġdid, u ppruvah b'profil li għandek biss int. Test minn ġewwa l-istess netwerk kważi ma jipprova xejn, għalhekk uża telefon fuq iċ-ċellulari u pprova xi ħaġa li t-tunnel għandu jġorr minflok ping lejn l-endpoint.

Osserva ż-żewġ indirizzi matul it-tieqa. wg show all latest-handshakes fuq il-host il-ġdid, jew il-fajl tal-istat ta' OpenVPN, jgħidlek kemm-il peer effettivament marru. Meta l-endpoint il-ġdid ikollu l-peers li tistenna u l-qadim ikollu biss dawk li baqgħu lura, irtira s-semmiegħ il-qadim, neħħi r-regola NAT skaduta u neħħi l-indirizz mill-firewall tal-fornitur. It-tneħħija tas-semmiegħ il-qadim hija l-pass li jinqabeż, u tagħlaq il-vojt fejn profil skadut għadu jasal għan-netwerk il-qadim.

Issettja bil-miktub il-trigger tar-rollback qabel tibda: jekk l-endpoint il-ġdid ma jkollux handshake minn ebda klijent reali wara t-tieqa miftiehma, erġa' stabbilixxi l-indirizz il-qadim u waqqaf it-tqassim tal-profiles. Erġa' ħaddem l-iskannjar wara u kkonferma li ebda semmiegħ mhuwa marbut ma' indirizz irtirat. Żewġ affarijiet jgħaddu għall-moviment li jmiss: isem tal-host fil-profil tal-klijent biex il-bidla li jmiss tkun editjar DNS, u l-inventarju maħżun ħdejn in-noti tal-irkupru tas-server.

Artikli relatati