VPN klientas pašalintas, bet tunelis vis tiek paleidžiamas įkrovimo metu
Pašalintas VPN klientas gali palikti systemd unit, išsaugotą profilį, pagalbinę programą ir apt saugyklą. Surašykite visus keturis prieš ką nors valydami.
Jūsų distribucija pašalina paketą, meniu praranda įrašą, o tunelis vis tiek pakyla po kito perkrovimo. Komercinis VPN klientas palieka dalis, kurių paketų tvarkyklė niekada nesekė, todėl švarus pašalinimas nėra tas pats kaip švari mašina. Keturios iš tų dalių paaiškina beveik kiekvieną vaiduoklinį ryšį: unit, ryšio profilis, privilegijuota pagalbinė programa ir tiekėjo saugykla. Perskaitykite visas keturias prieš ką nors šalindami, tada pašalinkite kiekvieną per komponentą, kuriam ji priklauso.
Ko šalintuvas niekada neužrašė
Paketų tvarkyklė pašalina failus, kuriuos pati užsirašė, ir nieko daugiau. Ji neturi įrašo apie ryšio profilį, kurį klientas sukūrė veikimo metu, apie unit, įjungtą po įdiegimo, nei apie pagalbinę programą, kuri užsiregistravo veikdama su padidintomis teisėmis. Kiekviena jų priklauso kitai posistemei, ir kiekviena gali pergyventi paketą vieną ar daugiau perkrovimų. Būtent šis trūkumas paaiškina, kodėl tunelis gali būti sveikas, kai jį sukūrusi programinė įranga jau dingo.
Likutis visada turi savininką, ar tai būtų systemd, NetworkManager, saugyklos konfigūracija, ar kiekvieno naudotojo automatinio paleidimo įrašas. Būtent savininko radimas pirmiausia neleidžia valymui pavirsti pusiau sukonfigūruota mašina. Tiesioginis failų šalinimas paprastai veikia tol, kol savininkas jų iš naujo nesukuria, todėl toliau pateiktos komandos prasideda užklausomis.
Keturi savininkai, pirmiausia tik skaitymas
Pradėkite užklausomis, o ne šalinimu, ir užsirašykite tikslius grįžtančius pavadinimus. Tiekėjai dažnai pateikia versijuotą paketą šalia metapaketo, todėl vienas produktas gali pasirodyti dviem pavadinimais. Pavadinimas, esantis abiejuose sąrašuose, yra vienas produktas su dviem savininkais, ir abu reikia pašalinti. Pirmoji partija apima paketus ir unit, kur dauguma likučių tampa matomi.
dpkg -l | grep -i acmevpn
systemctl list-unit-files | grep -i acmevpn
systemctl list-units --type=service --state=running | grep -i acmevpn
Antroji partija apima du komponentus, kurie dažniausiai pergyvena valymą, būtent ryšio profilį ir tiekėjo saugyklą. Skaitykite UUID stulpelį, o ne pavadinimą, nes pasikartojantys pavadinimai yra įprasti, o šalinimo komanda tikisi identifikatoriaus. Saugyklos eilutę verta perskaityti net jei šiandien jos nešalinate, nes mirusi tiekėjo stotis po mėnesių gali sugadinti nesusijusią diegimą. Nė vienas sąrašas nieko nekeičia, ir būtent todėl jie paleidžiami pirmiausia.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list
Procesas, kuris po valymo dar gyvas, yra arba aktyvus unit, arba kitos programos vaikas. Perskaitykite procesų lentelę ir jos tėvų grandinę prieš kaltindami paslaugą, kurios jau nėra. Kiekvieno naudotojo automatinio paleidimo įrašams reikia tos pačios patikros, ir jie pasirodo tik naujame prisijungimo apvalkale, o ne root sesijoje.
Trys veiksmažodžiai, kurių negalima sukeisti
Stabdymas užbaigia dabartinį paleidimą, išjungimas pašalina įkrovimo nuorodas, o maskavimas nukreipia unit į /dev/null. Tik trečiasis taip pat blokuoja aktyvavimą per lizdą, laikmatį ar priklausomybę, todėl jis yra stipriausias iš trijų. Tvarka svarbi tol, kol vis dar sprendžiate, ką daryti su mašina. Sprendimo metu maskavimas yra teisinga būsena, nes jis garsiai sugenda, o ne tyliai paleidžiamas per kitą įkrovimą.
Prieš perdiegdami nuimkite maskavimą, kitaip naujas paketas atrodys sulaužytas dėl priežasties, kurios niekas neužrašė. Toks pat atsargumas galioja pakavimo skirtumams: viena versija pateikia unit, kurį galima sustabdyti, o kita visai nepalieka paslaugos. Prieš pasirinkdami veiksmažodį nustatykite, kokį pakavimą turite, nes valymo kelias skiriasi.
Šablonais pašalinate ne tą profilį
Pašalinkite profilį su užrašytu UUID ir niekada su šablonu. keyfile kataloge taip pat yra visi mašinos Wi-Fi ir Ethernet profiliai, todėl platus atitikimas pašalina dalykus, kurių dar reikia. Rankiniu būdu pašalintas keyfile gali būti iš naujo sukurtas politikos, kuriai jis priklauso, todėl šalinimas atrodo neveiksmingas.
nmcli connection delete uuid <uuid>
Pirmiausia eksportuokite šliuzą ir tapatybę, jei tas profilis yra vienintelė jūsų turima kopija, nes vietinis šalinimas nieko neatšaukia serveryje. Saugykla laikosi tos pačios taisyklės: pašalinkite vieną tiekėjo failą ir jo raktų ryšulį, tada atnaujinkite paketų sąrašus ir bandykite iš naujo diegimą, kurio iš tikrųjų norėjote. Pasenęs trečiosios šalies įrašas gali užrakinti seną priklausomybę arba visai neatsakyti. Abu šalinimai nedideli, ir bet kurį galima atšaukti iš jūsų saugomos kopijos.
Kas dar veikia po perkrovimo
Perkraukite prieš skelbdami pergalę, tada ieškokite artefaktų, o ne programos. Tunelio sąsaja, pasenęs padalytas maršrutas ir kiekvienos jungties DNS, kuriuos paliko senas klientas, kiekvienam reikia savo komandos. Visi trys gali pergyventi valymą, kuris sėkmingai pašalino kiekvieną paketą.
ip link
ip route
resolvectl status
Taip pat atidarykite naują prisijungimo apvalkalą, nes automatinio paleidimo įrašas suveikia tik ten. Tada skaitykite /etc/NetworkManager/dispatcher.d/ ieškodami scenarijaus, kuris pakelia ryšį kiekvieną kartą, kai sąsaja pakeičia būseną, o tai paaiškina be paslaugos grįžtantį tunelį. Jei kažkas vis dar skambina į išorę, sekite procesą iki jo tėvo, o ne trinkite failus, kol simptomas nesiliaus. Mašinos valymas ir paskyros atšaukimas lieka atskiri darbai, ir tik vienas jų būna baigtas, kai perkrovimas atrodo tyliai.