Heqja e një regjistri VPN të vjetëruar nga baza e të dhënave resolvconf
Në një host ku Debian resolvconf zotëron gjendjen, fshirja e një zëri është e lehtë. Së pari vërtetoni se regjistri është i vjetëruar dhe pa pronar, pastaj kontrolloni rishkrimin.
Një emër i brendshëm ende zgjidhet te serveri VPN një ditë pasi tuneli u mbyll, dhe skedari i zgjidhësit vazhdon të kthehet me atë zë. Aty ku Debian resolvconf zotëron gjendjen, ai skedar montohet nga regjistrat e furnitorëve, dhe njëri prej tyre është mbetja. Fshirja e regjistrit merr një minutë; vërtetimi se është i sigurt ta fshish është puna e vërtetë. Këto porta ekzekutohen me radhë, dhe një portë e dështuar e përfundon procedurën në vend që t'ju dërgojë te hapi tjetër.
Konfirmoni që resolvconf zotëron gjendjen
Së pari identifikoni pronarin, sepse i njëjti simptom nën systemd-resolved kërkon komanda të tjera dhe një riparim tjetër. Paketa resolvconf mban një bazë të dhënash nën /run/resolvconf dhe drejton /etc/resolv.conf te skedari që ndërton nga ajo bazë. Dy lexime e zgjidhin çështjen: objektivi i lidhjes simbolike, dhe nëse paketa është e instaluar dhe aktive. Një objektiv nën /run/systemd/resolve nënkupton modelin tjetër, ku asgjë më poshtë nuk vlen.
dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service
Nëse lidhja tregon diku tjetër ose paketa mungon, ndaloni këtu. Një mbështjellës përputhshmërie që huazoi emrin, i ofruar nga një menaxher tjetër i zgjidhësit, nuk e zotëron këtë bazë të dhënash.
Baza e të dhënave mban hyrje, jo përgjigjen
Baza e të dhënave mban hyrje dhe skedari është dalje, prandaj listimi i hyrjeve është mënyra e vetme për të parë cili program instaloji zërin që dëshironi të hiqni. Regjistrat janë të shkurtër, dhe çelësat e tyre janë dorezat që do t'ju duhen më vonë. Lexojini përpara se të vendosni cili është i vjetëruar, sepse një emër që duket si ndërfaqe VPN mund t'i përkasë një klienti tjetër. Mbani adresat private dhe domenet e kërkimit të brendshme jashtë diagnostikimit të përbashkët; çelësi vetëm zakonisht e identifikon regjistrin.
sudo resolvconf --list
sudo resolvconf -i
Komanda e parë printon regjistrat e ofruar pa i përpunuar, dhe e dyta liston ndërfaqet që aktualisht ofrojnë konfigurimin DNS. Çelësat zakonisht ndërtohen nga një emër ndërfaqeje plus programi ofrues. Manuali i resolvconf përshkruan bazën e të dhënave që adresojnë këta çelësa.
Kopjoni çelësin nga dalja në vend që ta rindërtoni. Një zë nuk quhet tun0 vetëm sepse një skript i vjetër përdori atë emër.
Vërtetoni se regjistri nuk ka pronar
Një regjistër është i sigurt për t'u fshirë kur asnjë lidhje e gjallë nuk e ka instaluar. Lidhni çelësin me lidhjen që e krijoi, pastaj konfirmoni se ajo lidhje iku. Ajo korrelacion është e gjithë porta, dhe është hapi që anashkalohet më shpesh në rrugën drejt komandës së fshirjes. Nëse provat janë të paqarta, trajtojeni regjistrin si të gjallë dhe ndaloni.
Emrat e proceseve janë prova të dobëta. OpenConnect thërret vpnc-script, prandaj një kontroll i procesit vpnc nuk thotë asgjë se cili regjistër është aktual. Një lidhje e re mund të ripërdorë një emër ndërfaqeje që la një e vjetër, gjë që e bën çelësin të duket më i vjetër se sa është. Krahasoni adresën e serverit brenda regjistrit me adresat e tuneleve që janë ende lart, dhe ndaloni nëse përputhen.
Një shkëputje normale përmes menaxherit pronar është ilaçi i parë. Ajo tërheq atë që instaloji ajo lidhje dhe i lë furnitorët e tjerë të paprekur.
Kontrolloni heqjen dhe rishkrimin
Pasi regjistri konfirmohet i vjetëruar, fshijeni me çelësin e saktë dhe pastaj lexoni rezultatin në vend që ta supozoni. Komanda ndryshon gjendjen e zgjidhësit për çdo aplikacion në host, prandaj ekzekutojeni në një dritare që ju kontrolloni. Vendoseni çelësin në thonjëza, sepse përmban karaktere që shell-i do t'i zgjeronte ndryshe. Mbajtësi i vendit në bllok përfaqëson çelësin që kopjuat nga lista, jo një varg literal.
sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example
Fshirja ekzekuton skriptet e përditësimit kur përditësimi është i aktivizuar; kur përditësimet janë të çaktivizuara, ai e shtyn përditësimin, prandaj një regjistër i hequr dhe një skedar i rishkruar janë dy ngjarje të ndara. Rilexoni listën dhe konfirmoni se çelësi iku përpara se të shikoni skedarin. Pastaj kërkoni një emër që ende duhet të zgjidhet përmes furnitorëve të mbetur dhe një emër publik, dhe krahasoni të dy me atë që patë përpara ndryshimit. Nëse një emër privat ndalon plotësisht së zgjidhuri, ai regjistër ende po e mbante.
resolvconf -u ekzekuton vetëm ata skripte përditësimi. Ai nuk e identifikon dhe nuk e fshin kurrë një regjistër të vjetëruar, dhe rindërtimi nga hyrje të vjetruara riprodhon të njëjtin skedar të padëshiruar.
Një grep shkëputjeje i vrarë e lë regjistrin pas
Një pastrim i njëhershëm rivendos gjendjen e sotme, dhe mbyllja e ndërprerë e radhës e kthen regjistrin. Ecni rrugën e çmontimit: grepi i shkëputjes së klientit, ndihmësi që thërret ai grep, dhe çfarë ndodh kur ndonjëri prej tyre vritet. Një mbyllje e ndërprerë është origjina e zakonshme, sepse grepi nuk u ekzekutua fare. Regjistroni një herë statusin e daljes së grep-it dhe do të dini nëse po dështon në heshtje.
Mbajeni konfigurimin dhe pastrimin nën një pronar. Një skript i dytë që hamendëson emra ndërfaqesh përfundimisht do të fshijë regjistrin e një lidhjeje tjetër, gjë që është më keq se zëri i vjetëruar me të cilin filluat. Pronari duhet të vendosë edhe kur një regjistër është i vjetëruar, sepse e di cila lidhje e instaloji.
Pastaj ushtroni ciklin e jetës: lidhuni, shkëputuni, listoni sërish regjistrat. Zhdukja e vetvetishme e zërit është prova e vetme se riparimi qëndron.