VPN pakalpojumu sniedzēja maiņa: plānojiet resursdatora nosaukumu, ne tikai IP
Jauns DNS ieraksts nepārvieto esošās sesijas. Plānojiet, kas kontrolē nosaukumu, kad katrs klients to atrisina un kā jūs izbeigsit veco galapunktu.
Jūsu DNS ieraksts ir pareizs, aizstājējs ir vesels, un tomēr daži klienti stundām ilgi zvanās uz veco adresi. Daži uzreiz cieš neveiksmi pret nosaukumu, kas tiek atrisināts un nekad neatbild. Abi rezultāti nāk no vienas nepilnības: resursdatora nosaukums maina to, ko klients meklē, nevis kad tas meklē, un nevis kam tas uzticas, kad atbilde ierodas.
Simptoms: pareizs ieraksts, novecojuši tuneļi
Profils, kas glabā nosaukumu, nav klients, kas to nepārtraukti atrisina. Lielākā daļa to atrisina vienreiz, piemērojot konfigurāciju vai kad tunelis paceļas, un pēc tam izmanto šo adresi līdz sesijas beigām. Gara TTL kārta virs tā ir iemesls, kāpēc pāreja jāplāno ap atkārtotiem savienojumiem, nevis ap DNS rediģēšanu.
Neviena no šīm divām uzvedībām nav defekts, un tieši tas padara simptomu mulsinošu. Klients strādā ar atbildi, ko tas saņēma iepriekš, un nekas servera pusē nerāda, kura atbilde tā bija. Plānojiet atkārtotu savienojumu apkopes logā un pastāstiet lietotājiem, ko viņi redzēs, vai arī pavadiet logu, atbildot uz pieteikumiem. Identisku ziņojumu rinda ir ierastais rezultāts.
Kas kontrolē nosaukumu un ko klients pārbauda
Kontrole pār zonu nosaka, cik ātri migrācija var virzīties. Turiet ierakstu pie reģistrētāja, kurā varat ielogoties, un pierakstiet, kas vēl to var mainīt.
Uzticība neseko nosaukumam. Uz TLS balstīts klients var pārbaudīt sertifikāta identitāti vai piespraustu nosaukumu, savukārt WireGuard autentificē partnera publisko atslēgu un pilnībā ignorē resursdatora nosaukumu. Šī atšķirība nosaka, vai ar DNS rediģēšanu pietiek, vai katram profilam vajadzīgs jauns nospiedums. Ieraksta maiņa nekad nedrīkstētu atļaut galapunktu, ko neviens nav apstiprinājis.
Turiet administratīvo un atjaunošanas piekļuvi tālu no publiskā klienta nosaukuma. Hostinga konta zaudēšana nedrīkstētu atņemt arī ierakstu, kas novirza klientus. Glabājiet atjaunošanas ceļu vietā, kas nav atkarīga no pakalpojumu sniedzēja, kuru pametat.
Kad katrs klients nolasa nosaukumu vēlreiz
Atrisināšanas laiks ir katra klienta īpašība, tāpēc pārbaudiet implementāciju, ko jūs patiešām piegādājat, pirms solīt pārejas logu. wg-quick atrisina galapunktu, kad saskarne paceļas, un saglabā šo adresi, līdz tunelis tiek restartēts. OpenVPN klients meklē nosaukumu, kad pievienojas, un tas, vai tas ieskatīsies vēlreiz atkārtota savienojuma laikā, ir atkarīgs no tā opcijām.
| Client | When it resolves | What it verifies |
|---|---|---|
| wg-quick | At interface start, cached for the session | Peer public key, not the name |
| OpenVPN 2.6 | On connect, possibly again on reconnect | Certificate identity or pinned name |
| Mobile clients | May hold the answer across sleep or a network change | Platform trust store, same certificates |
Mobilie klienti ir ierastais pārsteigums, jo tie var saglabāt atrisinātu adresi miega vai tīkla maiņas laikā. Publicējiet A un AAAA ierakstus tikai tad, ja aizstājējs atbild abās saimēs. Adrese, kas atbild vienā saimē, neko nepierāda par otru, un miris AAAA ieraksts pievieno taimautu katram mēģinājumam. Dokumentējiet atrisināšanas uzvedību katram atbalstītajam klientam, pēc tam testējiet ierīcēs, ko cilvēki patiešām lieto.
Atkārtots savienojums lielākajā daļā klientu ir lietotāja darbība, un serveris to nevar uzspiest. Ievietojiet šo soli apkopes piezīmē ar rindu par to, ko lietotājs redzēs, kad tas notiks.
Pārejiet, pamatojoties uz pierādījumiem, pēc tam izbeidziet veco galapunktu
Pirms pārslēgšanas pierādiet katru slāni aizstājējā: klausītājs atbild, ugunsmūris laiž cauri portu, maršruti atgriežas pareizi, nosaukums tiek atrisināts uz jauno adresi un zināma identitāte tiek pieņemta. Klausītājs, kas pieņem savienojumu, nav tas pats, kas pabeidz roku sasveicināšanu, tāpēc testējiet roku sasveicināšanu, nevis portu. Turiet pašreizējo atsaukšanas sarakstu blakus konfigurācijai, jo atjaunots dublējums no jauna izveido partneru sarakstu tādu, kāds tas bija, un atkal atvērtu jau slēgtu piekļuvi. Pierakstiet, ar kādu identitāti jūs testējāt, jo «tas strādā» nav pierādījums, ko kāds varētu atkārtot.
getent hosts vpn.example.com
ss -lunp | grep 51820
wg show wg0 latest-handshakes
Pārejas laikā novērojiet savienojumu mēģinājumus abos galapunktos par to pašu identitāti. Klients, kas joprojām autentificējas pret veco adresi, ir profils vai kešatmiņā saglabāta atbilde, kas nekad nav pārvietojusies. Izbeidziet veco galapunktu saskaņā ar datētu plānu, jo divi pakalpojumi, kas pieņem vienu identitāti, atstāj divas durvis atvērtas.
Pārejas tests ir lietojumprogrammas sesija caur jauno galapunktu, nevis ping. Kad šī sesija darbojas un vecais galapunkts visā atkārtota savienojuma ciklā nereģistrē nevienu atļautu mēģinājumu, pārvietošana ir pabeigta.