Fjerne ei forelda VPN-oppføring frå resolvconf-databasen
På ein vert der Debian resolvconf eig tilstanden, er det enkelt å sletta ei oppføring. Prov først at oppføringa er forelda og utan eigar, og kontroller deretter omskrivinga.
Eit internt namn blir framleis løyst til VPN-tenaren ein dag etter at tunnelen vart stengd, og resolverfila kjem stadig tilbake med den oppføringa. Der Debians resolvconf eig tilstanden, blir fila sett saman av oppføringar frå leverandørar, og éi av dei er resten. Det tek eitt minutt å sletta oppføringa; å prova at det er trygt er det verkelege arbeidet. Desse portane blir køyrde i rekkjefølgje, og ein port som feilar avsluttar prosedyren i staden for å senda deg vidare til neste steg.
Stadfest at resolvconf eig tilstanden
Identifiser eigaren først, fordi det same symptomet under systemd-resolved krev andre kommandoar og ei anna reparasjon. resolvconf-pakken held ein database under /run/resolvconf og peikar /etc/resolv.conf mot fila han byggjer frå den databasen. To lesingar avgjer spørsmålet: målet til symlenkja, og om pakken er installert og aktiv. Eit mål under /run/systemd/resolve tyder det andre designet, der ingenting nedanfor gjeld.
dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service
Viss lenkja peikar ein annan stad eller pakken manglar, stopp her. Ei kompatibilitetsinnpakning som har lånt namnet, og som blir levert av ein annan resolver-handterar, eig ikkje denne databasen.
Databasen held inndata, ikkje svaret
Databasen held inndata og fila er utdata, så å lista inndataa er den einaste måten å sjå kva program som installerte oppføringa du vil bli kvitt. Oppføringane er korte, og nøklane deira er handtaka du treng seinare. Les dei før du avgjer kva som er forelda, fordi eit namn som ser ut som eit VPN-grensesnitt kan høyra til ein annan klient. Hald private adresser og interne søkedomenar utanfor delt diagnostikk; nøkkelen åleine identifiserer vanlegvis oppføringa.
sudo resolvconf --list
sudo resolvconf -i
Den første kommandoen skriv ut leverte oppføringar utan å handsama dei, og den andre listar grensesnitta som for tida leverer DNS-konfigurasjon. Nøklar blir vanlegvis bygde frå eit grensesnittnamn pluss programmet som leverer det. resolvconf-handboka skildrar databasen desse nøklane adresserer.
Kopier nøkkelen ut av utdataa i staden for å byggja han på nytt. Ei oppføring heiter ikkje tun0 berre fordi eit gammalt skript brukte det namnet.
Prov at oppføringa ikkje har nokon eigar
Ei oppføring er trygg å sletta når ingen levande tilkobling installerte ho. Korreler nøkkelen med tilkoblinga som oppretta han, og stadfest deretter at den tilkoblinga er borte. Den korrelasjonen er heile porten, og det er steget som oftast blir hoppa over på vegen til slettekommandoen. Viss prova er tvitydige, handsamar du oppføringa som levande og stoppar.
Prosessnamn er svake prov. OpenConnect kallar vpnc-script, så ein sjekk av ein vpnc-prosess seier ingenting om kva oppføring som er gjeldande. Ei ny tilkobling kan også bruka om att eit grensesnittnamn som ei gammal la igjen, noko som får nøkkelen til å sjå eldre ut enn han er. Samanlikn tenaradressa inne i oppføringa med adressene til tunnelar som framleis er oppe, og stopp viss dei stemmer.
Ei normal fråkobling gjennom handteraren som eig tilkoblinga er det første rådet. Ho trekkjer tilbake det den tilkoblinga installerte og lèt andre leverandørar vera urørte.
Kontroller fjerninga og omskrivinga
Når oppføringa er stadfesta forelda, slett ho med den nøyaktige nøkkelen og les deretter resultatet i staden for å ta det for gjeve. Kommandoen endrar resolvertilstanden for kvar applikasjon på verten, så køyr han i eit vindauge du kontrollerer. Set nøkkelen i hermeteikn, fordi han inneheld teikn skalet elles ville utvida. Plasshaldaren i blokka står for nøkkelen du kopierte frå lista, ikkje for ein bokstaveleg streng.
sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example
Sletting køyrer oppdateringsskripta når oppdatering er slått på; med oppdateringar slått av utset ho oppdateringa, så ei fjerna oppføring og ei omskriven fil er to separate hendingar. Les lista på nytt og stadfest at nøkkelen er borte før du ser på fila. Spør deretter etter eitt namn som framleis skal løysast gjennom dei attverande leverandørane og eitt offentleg namn, og samanlikn begge med det du såg før endringa. Viss eit privat namn sluttar heilt å løysast, bar den oppføringa det framleis.
resolvconf -u køyrer berre dei oppdateringsskripta. Han identifiserer eller slettar aldri ei forelda oppføring, og å byggja på nytt frå forelda inndata gjev den same uønskte fila.
Ein drepen fråkoblingskrok lèt oppføringa liggja att
Ein eingongs opprydding gjenopprettar tilstanden i dag, og neste avbrotne avslåing set oppføringa tilbake. Gå nedrivingsvegen: fråkoblingskroken til klienten, hjelparen kroken kallar, og kva som skjer når ein av dei blir drepen. Ei avbroten avslåing er den vanlege årsaka, fordi kroken aldri køyrde i det heile. Logg utgangsstatusen til kroken éin gong, og du veit om han feilar stille.
Hald oppsett og opprydding under éin eigar. Eit andre skript som gissar på grensesnittnamn vil til slutt sletta oppføringa til ei anna tilkobling, noko som er verre enn den forelda oppføringa du byrja med. Eigaren bør også avgjera når ei oppføring er forelda, fordi han veit kva tilkobling som installerte ho.
Deretter tren på livssyklusen: kople til, kople frå, list oppføringane på nytt. At oppføringa forsvinn av seg sjølv er det einaste provet på at reparasjonen held.