Ricaktimi i një adrese kërkon një minutë. Java pasardhëse është vendi ku lëvizja prishet, dhe rrallë aty ku e sugjeron konsola e ofruesit. Një IP publike e re përmendet në katër vende: soketi ku dëgjon daemoni, ankorimi i besimit që verifikojnë klientët, çdo rregull që emërton adresën e vjetër dhe regjistrimi DNS që i lidh. Dy lëvizje duken njësoj nga një panel kontrolli por sillen krejt ndryshe: ricaktimi i adresës në makinën që ju drejtoni, ose ngritja e një endpointi të dytë dhe zhvendosja e klientëve atje. Kontrollet më poshtë i vënë të parat dështimet e lira, dhe çdo seksion tregon për cilën lëvizje vlen.

Zëvendësimi në vend dhe kalimi paralel janë punë të ndryshme

Zëvendësimi në vend mban hostin, çelësat, tabelën e rrugëzimit dhe listën e përdoruesve; ndryshon vetëm adresa. Këtë bën një ricaktim i një IP lundruese, dhe te disa ofrues mysafiri nuk e vëren fare, sepse përkthimi ndodh përpara instancës. Një rindërtim ose ricaktim nga ofruesi është më i ashpër: mysafiri e sheh ndryshimin, dhe gjithçka që e mbante vlerën e vjetër në cache e mëson në të njëjtin moment.

Një endpoint paralel është një host i dytë që bën të njëjtën punë. Ndërtojeni, provojeni me një profil dhe lëreni të vjetrin të përgjigjet derisa i riu të provojë veten në një rrugë reale. Çmimi është gjendja. Pa zëra peer të përbashkët, revokime dhe regjistrim, keni dy rrjeta që ndajnë rastësisht një emër.

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

Gjeni çdo vend ku është shkruar adresa e vjetër

Filloni me një skanim teksti, sepse skedarët e konfigurimit janë gjysma e lehtë. Kërkoni në konfigurimin e daemonit, fragmentet e firewall-it, objektivat e monitorimit dhe çdo paketë klienti të gjeneruar në disk. Përfshini adresën IPv6 nëse publikoni një të tillë; një lëvizje që ndjek vetëm regjistrimin A i lë klientët me dy stack në rrugën e vjetër.

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

Më pas shqyrtoni kernelin, sepse një sistem në punë e mban adresën në vende që asnjë skedar nuk i përmend. Një rregull NAT statik i burimit, një zë ipset, një adresë bind dhe një zë conntrack i mbijetojnë ndryshimit të konfigurimit që i hoqi, dhe disa i mbijetojnë edhe një rindezjeje sepse u kthyen nga një grup rregullash i ruajtur. Një shtresë më lart, grupet e sigurisë së ofruesit, objektivat e balancuesit të ngarkesës dhe kontrollet e monitorimit nuk janë fare në sistemin tuaj të skedarëve.

Shkruani inventarin përpara se të ndryshoni ndonjë gjë; shërben edhe si skript rikthimi.

Klientët me emër hosti rikuperohen; klientët me IP fjalëpërfjalë heshtin

Nëse klientët e arrijnë serverin përmes emrit të hostit, kalimi është kryesisht një problem DNS, dhe TTL-i që caktuat dje vendos sa keq do të jetë. Zgjidhësit bëjnë cache, zgjidhësit stub bëjnë cache përsëri, dhe shumë klientë e kërkojnë emrin vetëm në një lidhje të re, prandaj një tunel i vendosur e mban adresën e tij fillestare.

Nëse endpointi është një adresë fjalëpërfjalë, asgjë nuk rizgjidhet dhe asgjë nuk regjistron një ankesë. WireGuard ruan një adresë soketi të zgjidhur: Endpoint = vpn.example.net:51820 bëhet IP në momentin që ekzekutohet wg-quick up dhe mbetet ajo IP derisa ta ndryshoni. OpenVPN është më i butë: e zgjidh emrin e hostit remote në momentin e lidhjes dhe, me resolv-retry infinite, provon përsëri DNS në rilidhje. Me një IP fjalëpërfjalë, të dyja vazhdojnë të telefonojnë një makinë që nuk ekziston më.

Ajo që i mashtron njerëzit është imazhi i pasqyrës. Një klient i drejtuar tashmë nga adresa e re, ndërsa dëgjuesi i vjetër ende përgjigjet, kalon çdo test që bëni nga tavolina juaj. Edhe mua më mashtroi: endpointi i ri u ngrit në një telefon me provën e parë, dhe një klient me profil të vjetër u shfaq vetëm kur dëgjuesi i vjetër u fik shumë më vonë.

Besimi nuk zhvendoset me adresën

WireGuard e ndan identitetin nga arritshmëria, gjë që e bën zhvendosjen e adresës pothuajse falas. Peer-ët identifikohen me çelës publik, dhe endpointi është vetëm vendi ku shkojnë paketat tani; një host përditëson endpointin e një peer nga adresa burimore e paketës së fundit të autentikuar. Një peer joaktiv gjithsesi ka nevojë për një arsye për të folur me vendin e ri, dhe adresën e mëson vetëm kur sesioni i tij vjetërohet dhe përpjekjet e përsëritura të handshake dështojnë në një vend të dukshëm. Fillimi i shpejtë i WireGuard mbulon fushën endpoint.

Serverët e bazuar në TLS janë rasti i kundërt. Certifikata është e lidhur me një emër, dhe një klient që formon një adresë e krahason atë që formoi me emrat alternativë të subjektit. Lidhuni me IP me një certifikatë që mban vetëm një SAN DNS dhe verifikimi dështon: emri që përdori klienti nuk është në certifikatë. Rilëshimi me një SAN IP e rregullon atë lidhje dhe e keqëson lëvizjen tjetër. Mbajtja e emrit të hostit në profil dhe lënia e verify-x509-name në vend e mban kontrollin të rreptë ndërsa adresa poshtë ndryshon.

Më pas kontrolloni se me çfarë është lidhur daemoni; një soket i gozhduar në adresën e vjetër dështon në heshtje. Një server OpenVPN i nisur me local 203.0.113.10 refuzon të ngrihet sapo ajo adresë zhduket, ndërsa një dëgjues në 0.0.0.0 e ndjek ndryshimin falas. NAT ndahet në të njëjtën mënyrë: MASQUERADE ndjek çfarëdo adrese që ka makina tani, dhe një SNAT --to-source 203.0.113.10 statik vazhdon të rishkruajë drejt një adrese që nuk e zotëroni më, kështu që trafiku i kthimit zhduket. Nëse adresa e re vjen me një gateway upstream të ndryshëm, kontrolloni rp_filter: filtrimi i rrugës së kundërt hedh poshtë trafikun e kthimit që arrin në një ndërfaqe që kerneli nuk e priste.

Rendi i kalimit dhe provat se funksionoi

Ulini TTL-në një ditë më parë, ngrini dëgjuesin e ri dhe provojeni me një profil që e keni vetëm ju. Një test nga brenda të njëjtit rrjet nuk provon pothuajse asgjë, prandaj përdorni një telefon në rrjet celular dhe provoni diçka që tuneli duhet të mbajë, jo një ping drejt endpointit.

Mbikëqyrni të dyja adresat gjatë gjithë dritares. wg show all latest-handshakes në hostin e ri, ose skedari i statusit të OpenVPN, ju thotë sa peer janë zhvendosur vërtet. Kur endpointi i ri ka peer-ët që prisni dhe i vjetri ka vetëm të mbeturit, tërhiqni dëgjuesin e vjetër, hiqni rregullin NAT të vjetëruar dhe hiqni adresën nga firewall-i i ofruesit. Heqja e dëgjuesit të vjetër është hapi që anashkalohet, dhe mbyll boshllëkun ku një profil i vjetëruar ende arrin rrjetin e vjetër.

Caktoni me shkrim nxitësin e rikthimit përpara se të filloni: nëse endpointi i ri nuk merr handshake nga asnjë klient real pas dritares së rënë dakord, riktheni adresën e vjetër dhe ndaloni shpërndarjen e profileve. Ekzekutoni përsëri skanimin dhe konfirmoni se asnjë dëgjues nuk është ende i lidhur me një adresë të tërhequr. Dy gjëra kalojnë në lëvizjen tjetër: një emër hosti në profilin e klientit që ndryshimi tjetër të jetë një redaktim DNS, dhe inventari i ruajtur pranë shënimeve të rikuperimit të serverit.

Artikuj të ngjashëm