Vai jums nepieciešams dinamisks DNS mājas VPN serverim?
Dinamiskais DNS salabo vārdu, nevis ieejas ceļu. Trīs pārbaudes nosaka, vai ar resursdatora vārdu pietiek mājas VPN serverim vai ieejas maršruts ir salauzts.
Lielākā daļa mājas VPN kļūmju, par kurām man jautā, nav DNS kļūmes, un tomēr cilvēki vispirms nopērk dinamiskā DNS abonementu. Pirms kaut ko konfigurējat, izlemiet, vai resursdatora vārds ir tā daļa, kas patiešām ir salauzta. Atjauninātājs pārraksta ierakstu, kad pakalpojumu sniedzēja piešķirtā adrese pārvietojas; tas nevar atvērt portu, izkļūt caur operatora NAT vai likt aktīvai WireGuard sesijai pamanīt, ka tās galapunkts ir mainījies. Trīs nosacījumi izlemj, vai dinamiskais DNS ir viss risinājums vai tikai viena tā rinda.
Pirmais nosacījums: jūsu adrese patiešām mainās
Dzīvojamo ēku adreses mainās ierastu iemeslu dēļ: modems pēc strāvas padeves pārtraukuma sinhronizējas no jauna, pakalpojumu sniedzējs pārdala kopu, pēc ilga pārtraukuma pienāk jauna noma. Dažās līnijās tās mainās arī reti, un esmu redzējis, kā viena un tā pati adrese iztur gadu; biznesa plānos bieži ir statiska adrese. Ja divpadsmit mēnešos nekas nav mainījies, viens ar roku rediģējams A ieraksts ir par vienu dēmonu mazāk, kas jāuztur dzīvs.
Izmēriet, nevis miniet. Nolasiet WAN adresi maršrutētāja statusa lapā un salīdziniet to ar to, ko redz ārējā pasaule. Palaidiet šo no mašīnas LAN:
curl -fsS https://api.ipify.org; echo
Ja abas vērtības atšķiras, kaut kas tulko jūsu maršrutētāja priekšā, un neviens resursdatora vārda atjauninājums to nesalabos. Adrese 100.64.0.0/10 ietvaros ir koplietotais diapazons operatora līmeņa NAT, un tas ir ierastais iemesls, kāpēc pareizi atjaunināts vārds tomēr no ārpuses beidzas ar taimautu.
Otrais nosacījums: klienti vārdu meklē vēlreiz
Īss TTL ir tā daļa, ko cilvēki izlaiž. Rekursīvie risinātāji ievēro ieraksta TTL, bet klientu steiki kešo atsevišķi, un jau pacelts tunelis neko no jauna neatrisina. Atkļūdošanas laikā iestatiet ierakstu uz 60-300 sekundēm; tas saīsina logu, kurā tiek pasniegta novecojusi atbilde, un nepārvieto pievienoto sesiju.
OpenVPN katru reizi atkārtoti pieslēdzoties no jauna atrisina rindu remote vpn.example.net 1194 , un resolv-retry infinite liek tam turpināt mēģināt, nevis iziet, kad meklēšana neizdodas. Serverī float ļauj izveidotai sesijai sekot partnerim, kura avota adrese ir mainījusies. WireGuard ir tiešāks: wg-quick up konfigurācijas piemērošanas brīdī atrisina Endpoint galapunktu, un klients to atrisina vēlreiz, kad pārbūvē tuneli, tāpēc rokas sasveicināšanās, kas joprojām izdodas pret veco adresi, izdodas, līdz tā apstājas.
Šī atšķirība veido plānu. Ja klienti pieslēdzas pēc pieprasījuma, adreses maiņa maksā vienu atkārtotu pieslēgšanos. Ja viņi tur sesiju atvērtu dienām ilgi, sagaidiet, ka tunelis mirs nākamajā rokas sasveicināšanās reizē, un lieciet klientam mēģināt vēlreiz, nevis pieņemiet, ka tas paliek.
Trešais nosacījums: ieejas ceļš joprojām ir atvērts
Dinamiskais DNS maina tikai to, uz ko norāda vārds, un neko citu. Portu pāradresācija maršrutētājā, ugunsmūra noteikums VPN resursdatorā un pakalpojumu sniedzēja atļauja ienākošajiem paketiem visiem jābūt pirms ierakstam ir nozīme. Pievērsiet uzmanību, uz ko vērsta pāradresācija: ja tā ir piesaistīta WAN adresei, nevis saskarnei, adreses maiņa klusi salauž pāradresāciju un ieraksts saņem vainu.
Pārbaudiet no ārpuses. Telefons mobilajos datos ar izslēgtu Wi-Fi ir lētākais godīgais tests; portatīvais dators tajā pašā LAN nav. Kad vārds atrisinās uz jūsu publisko adresi un maršrutētājam nav NAT cilpas, iekšējais tests neizdodas, lai gan ieraksts ir pilnīgi pareizs, un tas aizsūta lielāko daļu cilvēku labot ierakstu, kas nekad nav bijis nepareizs.
Ko palaist, kad visas trīs izpildās
ddclient ir vismazāk pārsteidzošais atjauninātājs mazam resursdatoram. Minimāla konfigurācija publicē adresi, ko redz pakalpojumu sniedzējs, un tas apiet dubultā NAT kļūdu:
protocol=dyndns2
use=web, web=https://api.ipify.org
server=updates.your-dns-provider.net
login=vpn-home
password=update-token
vpn.example.netPalaidiet to no systemd taimera ik pēc dažām minūtēm, nevis no shell cilpas, un reģistrējiet pakalpojumu sniedzēja atbildi, nevis pieņemiet panākumus. Izmantojiet akreditācijas datus kā atslēgu, jo tie nosaka, kur tiek sūtīts katrs klients: izmantojiet ierobežotu atjaunināšanas žetonu, nevis konta paroli, turiet failu 0600 režīmā un sūtiet atjauninājumus pa HTTPS.
Pārbaudiet pirms apņemšanās
Viens vaicājums pasaka, ko redz pārējā pasaule, un izdrukā TTL, kas jāgaida pēc izmaiņām:
dig +noall +answer vpn.example.net @1.1.1.1
Salīdziniet šo adresi ar maršrutētāja WAN adresi. Ja tās sakrīt, vārds dara savu darbu, un tas, kas joprojām neizdodas, ir ienākošā sasniedzamība, atslēga vai klients, kas nav atrisinājis no jauna. Ja tās atšķiras, atjauninātājs publicē nepareizo saskarni, bieži tāpēc, ka tas darbojās VPN resursdatorā aiz maršrutētāja, nevis pašā maršrutētājā.
Turiet vienas minūtes atritināšanu: pierakstiet pēdējo strādājošo adresi un iepriekšējo TTL, lai abus varētu publicēt ar roku, kamēr pakalpojumu sniedzējam ir slikta pēcpusdiena.
Kad atbilde ir nē
Ja pirmais vai trešais nosacījums neizpildās, mainās lēmums, nevis konfigurācija. Aiz operatora NAT jūsu praktiskās iespējas ir lūgt pakalpojumu sniedzējam publisku adresi, pārcelt ieejas punktu uz mazu VPS ar stabilu adresi, vai izmantot pārklājumu, kas uztur savu satikšanās punktu. Ja adrese ir statiska, izlaidiet atjauninātāju: viens A ieraksts, viens AAAA ieraksts, ja lietojat IPv6, tā pati portu pāradresācija.
Ja adrese mainās, kamēr klienti paliek pievienoti, godīgais labojums dzīvo klientā: atkārtotas pieslēgšanās loģika un atkārtošanas intervāls, nevis ātrāks atjauninātājs. Otrs pakalpojumu sniedzējs tikai paslēpj intervālu.
Pirms turpināt, secīgi apstipriniet četras lietas:
- Adrese, ko publicē atjauninātājs, sakrīt ar maršrutētāja WAN adresi.
- Ieraksta TTL ir pietiekami īss, lai izmaiņas parādītos dažu minūšu laikā.
- Portu pāradresācija ir saistīta ar saskarni, nevis ar fiksētu adresi.
- Viens īsts klients kopš pēdējām izmaiņām ir atkārtoti pieslēdzies un laidis satiksmi.
Ja visas četras izpildās, atstājiet iestatījumu mierā; jūsu nākamā kļūme ir atslēga vai ugunsmūra noteikums, nevis nosaukumu problēma. Ja kāda neizpildās, salabojiet to rindu, pirms pievienojat vēl vienu kustīgu daļu. RFC 2136 apraksta pašu atjaunināšanas mehānismu, ja vēlaties redzēt, ko dēmons liek uz vada.