Helbide bat berriz esleitzeak minutu bat behar du. Hurrengo astea da mugiketa hausten den tokia, eta gutxitan hornitzailearen kontsolak iradokitzen duen tokian. IP publiko berria lau tokitan aipatzen da: daemonak entzuten duen socket-ean, bezeroek egiaztatzen duten konfiantza-ankeran, helbide zaharra izendatzen duen arau bakoitzean eta haiek lotzen dituen DNS erregistroan. Bi mugikek berdin dirudite kontrol-panel batetik, baina erabat desberdin jokatzen dute: helbidea zuk gidatzen duzun makinan berriz esleitzea, edo bigarren endpoint bat altxatzea eta bezeroak hara mugitzea. Azpiko egiaztapenek hutsegite merkeak jartzen dituzte lehenengo, eta atal bakoitzak zein mugikketari dagokion adierazten du.

Lekukoa ordezkatzea eta paraleloko mozketa lan desberdinak dira

Lekukoa ordezkatzeak ostalaria, gakoak, bideratze-taula eta erabiltzaile-zerrenda mantentzen ditu; helbidea soilik aldatzen da. Hori egiten du IP flotatzaile baten berresleipenak, eta hainbat hornitzailerekin ostalariak ez du ezer nabaritzen, itzulpena instantziaren aurrean gertatzen delako. Birsorkuntza batek edo hornitzailearen berresleipenak gogorrago jokatzen du: ostalariak aldaketa ikusten du, eta balio zaharra cachean zuen guztiak une berean ikasten du.

Endpoint paralelo bat lan bera egiten duen bigarren ostalari bat da. Eraiki, probatu profil batekin, eta utzi zaharrak erantzuten berriak bide erreal batean bere burua frogatu arte. Prezioa egoera da. Peer erregistro, ezeztatze eta erregistratze partekaturik gabe, izena kasualitatez partekatzen duten bi sare dituzu.

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

Aurkitu helbide zaharra idatzita dagoen toki bakoitza

Hasi testu-araketa batekin, konfigurazio-fitxategiak erdia erraza direlako. Bilatu daemonaren konfigurazioan, suebaki-zatietan, monitorizazio-helburuetan eta diskoan sortutako edozein bezero-paketetan. Sartu IPv6 helbidea argitaratzen baduzu; A erregistroa soilik jarraitzen duen mugiketa batek pila bikoitzeko bezeroak bide zaharrean uzten ditu.

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

Gero arakatu kernela, martxan dagoen sistema batek helbidea inolako fitxategik aipatzen ez dituen tokietan gordetzen duelako. NAT iturri arau estatiko batek, ipset sarrera batek, bind helbide batek eta conntrack sarrera batek kendu zituzten konfigurazio-aldaketak baino gehiago irauten dute, eta batzuek berrabiaraztea ere gainditzen dute gordetako arau-multzo batetik itzuli zirelako. Maila bat gorago, hornitzailearen segurtasun-taldeak, karga-balantzagailuaren helburuak eta monitorizazio-egiaztapenak ez dira zure fitxategi-sisteman ere.

Idatzi inbentarioa ezer aldatu aurretik; atzeratzeko script gisa ere balio du.

Host-izena duten bezeroak suspertu egiten dira; IP literaleko bezeroak isildu egiten dira

Bezeroak ostalari-izenaren bidez iristen badira zerbitzarira, mozketa batez ere DNS arazoa da, eta atzo ezarri zenuen TTLak erabakitzen du zein txarra izango den. Ebazleek cachean gordetzen dute, stub ebazleek berriro cachean, eta bezero askok konexio berri batean soilik bilatzen dute izena, beraz ezarritako tunel batek hasierako helbidea mantentzen du.

Endpoint-a helbide literala bada, ezer ez da berriro ebazten eta ezerk ez du kexarik erregistratzen. WireGuardek socket helbide ebatzita gordetzen du: Endpoint = vpn.example.net:51820 IP bihurtzen da wg-quick up exekutatzen den unean, eta IP hori mantentzen da aldatzen duzun arte. OpenVPN toleranteagoa da: remote ostalari-izena konexio unean ebazten du eta, resolv-retry infinite erabiliz, DNS berriro saiatzen du berrkonektatzean. IP literala emanda, biek existitzen ez den makina bat deitzen jarraitzen dute.

Jendea engainatzen duena ispilu-irudia da. Helbide berrira jada zuzenduta dagoen bezero batek, entzule zaharrak oraindik erantzuten duen bitartean, zure mahaitik egiten duzun proba guztiak gainditzen ditu. Nik horrekin engainatu ninduten: endpoint berria telefono batean lehen saiakeran altxatu zen, eta profil zaharra zuen bezero bat entzule zaharra askoz geroago itzali zenean agertu zen soilik.

Konfiantza ez da helbidearekin mugitzen

WireGuardek identitatea irisgarritasunetik bereizten du, eta horrek helbide-mugiketa ia doakoa egiten du. Peer-ak gako publikoaren bidez identifikatzen dira, eta endpoint-a paketeak oraintxe doazen tokia baino ez da; ostalari batek peer baten endpoint-a eguneratzen du autentifikatutako azken paketearen iturburu-helbidetik. Peer inaktibo batek oraindik arrazoi bat behar du toki berriarekin hitz egiteko, eta helbidea bere saioa zahartzen denean eta handshake berriro-saiakerak toki ikusgarriren batean huts egiten dutenean ikasten du. WireGuarden abio azkarrak endpoint eremua lantzen du.

TLSan oinarritutako zerbitzariak kontrako kasua dira. Ziurtagiria izen bati lotuta dago, eta helbide bat markatzen duen bezeroak markatu duena subjektuaren izen alternatiboekin alderatzen du. Konektatu IPz DNS SAN bat soilik daraman ziurtagiri batera eta egiaztapenak huts egiten du: bezeroak erabili duen izena ez dago ziurtagirian. IP SAN batekin berrargitaratzeak konexio hori konpontzen du eta hurrengo mugiketa okerragoa egiten du. Profilan ostalari-izen bat mantentzeak eta verify-x509-name bere tokian uzteak egiaztapena zorrotz mantentzen du helbidea azpian aldatzen den bitartean.

Gero egiaztatu zeri lotuta dagoen daemona; helbide zaharrean finkatutako socket batek isil-isilik huts egiten du. local 203.0.113.10 rekin abiatutako OpenVPN zerbitzari batek ez du altxatu nahi izaten helbide hori desagertzen denean, 0.0.0.0 en dagoen entzule batek aldaketa doan jarraitzen duen bitartean. NATak modu berean banatzen da: MASQUERADE makina orain duen helbideari jarraitzen dio, eta SNAT --to-source 203.0.113.10 estatiko batek jada ez duzun helbide batera berridazten jarraitzen du, beraz itzulerako trafikoa desagertzen da. Helbide berria upstream ate ezberdin batekin badator, egiaztatu rp_filter: bide alderantzizko iragazketak kernelak espero ez zuen interfaze batean iristen den itzulerako trafikoa botatzen du.

Mozketaren ordena eta funtzionatu duen froga

Jaitsi TTL-a egun bat lehenago, altxatu entzule berria, eta frogatu zu bakarrik duzun profil batekin. Sare bereko barrutik egindako probak ia ezer ez du frogatzen, beraz erabili telefono bat mugikor-sarean eta probatu tuneletik garraiatu behar duen zerbait, endpoint-era ping bat egin beharrean.

Begiratu bi helbideak leiho osoan zehar. wg show all latest-handshakes ostalari berrian, edo OpenVPN egoera-fitxategiak, zenbat peer mugitu diren esaten dizu. Endpoint berriak espero dituzun peer-ak dituenean eta zaharrak atzeratuak soilik, erretiratu entzule zaharra, kendu NAT arau zaharkitua eta atera helbidea hornitzailearen suebakitik. Entzule zaharra kentzea da gainean pasatzen den urratsa, eta profil zaharkitu batek oraindik sare zaharrean sartzen den hutsunea ixten du.

Idatzi atzeratze-abiarazlea hasteko: akordiozko leihoaren ondoren endpoint berriak benetako bezero bakar batetik handshake-rik ez badu, berrezarri helbide zaharra eta utzi profilak banatzeari. Exekutatu araketa berriro ondoren eta baieztatu entzulerik ez dagoela erretiratutako helbide bati lotuta. Bi gauza pasatzen dira hurrengo mugiketera: bezeroaren profilean ostalari-izen bat, hurrengo aldaketa DNS edizioa izan dadin, eta zerbitzariaren berreskuratze-oharren ondoan gordetako inbentarioa.

Erlazionatutako artikuluak