Inštancia OpenVPN sa pri štarte objaví pod názvom, ktorý nepoznáte, a jej zastavenie funguje do ďalšieho reštartu. Tento vzor znamená, že ste odstránili proces, ale nie aktiváciu. Sú to dva rôzne objekty a na obrazovke stavu je viditeľný len jeden z nich. Nájdenie aktivácie vyžaduje štyri príkazy len na čítanie a jedno rozhodnutie.

Najprv pomenujte presnú jednotku

Vychádzajte z názvu jednotky v journali, nie z názvu súboru profilu. Inštancia sa môže volať openvpn@, openvpn-client@, openvpn-server@ alebo nejako špecificky pre distribúciu, a hádanie názvu vás zavedie k nesprávnej šablóne. Výstup stavu uvádza jednotku, ktorá skutočne bežala, a to je jediný názov, na ktorom tu záleží. Skopírujte ho presne, vrátane prípadnej prípony.

Nasledujúce príkazy opisujú túto jednotku bez toho, aby čokoľvek menili. systemctl show hlási cestu fragmentu, cestu zdroja, stav súboru jednotky, prípadné drop-iny a čo ju spustilo. list-dependencies --reverse ukazuje, ktoré načítané jednotky na ňu ukazujú. Oba sú len na čítanie, preto ich spustite, skôr než vytvoríte teóriu.

Nahraďte pozorovaný názov všade. Skopírovaný príkladový názov je najčastejší spôsob, ako skúmať nesprávnu službu, a dáva sebavedomé odpovede o jednotke, ktorá nikdy nebežala.

Prečítajte šablónu, aby ste zistili názov súboru

Inštančná jednotka je rozšírením šablóny a šablóna rozhoduje, ktorý konfiguračný súbor číta. Príkazový riadok končiaci zástupným symbolom pre inštanciu sa preloží na názov inštancie plus príponu. Ak je prípona .conf a inštancia sa volá old, súbor je old.conf. Ak inštanciu pomenujete old.conf, tá istá šablóna si vyžiada old.conf.conf.

Tento detail vysvetľuje jednu triedu duplikátov. Niekto pridá druhú inštanciu pod nesprávnym názvom, prvá beží ďalej a hostiteľ skončí s dvoma tunelmi a jedným mätúcim logom.

Čítajte efektívnu šablónu, nie súbor, o ktorom si pamätáte, že ste ho upravovali. Drop-in môže nahradiť príkazový riadok a pri štarte beží práve náhrada.

Vysledujte, ako sa dostane do štartovacej transakcie

Časté sú tri cesty: wants odkaz z cieľa, požiadavka inej jednotky alebo jednotka vygenerovaná generátorom balíčka. Zoznam reverzných závislostí pokrýva prvé dve ako načítané položky grafu. Nepokrýva časovač, hook ani externú požiadavku, a preto je zoznam dôkazom, nie úplným auditom.

Generovaný výstup v /run/systemd/generator je produkt, nie zdroj. Jeho úprava prežije len do ďalšieho generovania, a preto oprava tam vykonaná vyzerá úspešne a potom sa vráti.

Skontrolujte dokumentovaný vstup balíčka, skôr než predpokladáte, odkiaľ generátor číta. Nedokumentované skenovanie adresára je obvyklý dôvod, prečo sa jednotka objaví bez odkazu na aktiváciu.

Odstráňte aktiváciu, nie len proces

Ak je inštancia priamo aktivovaná a skutočne zastaraná, systemctl disable --now ju zastaví a v jednom kroku odstráni štartovací odkaz. Najprv skontrolujte, že tento tunel nie je vaša jediná administratívna cesta k hostiteľovi. Príkaz je príkladom životného cyklu, nie návrhom zastaviť každú VPN na stroji. Spustite kontrolu pred príkazom, nie po ňom.

Obe polovice sú oddeliteľné a často sa zamieňajú. Vypnutie nezastaví bežiacu službu a zastavenie neodstráni aktiváciu, takže čiastočný príkaz vysvetľuje problém, ktorý sa pri štarte vracia.

Vypnutú jednotku môže stále spustiť iná jednotka alebo výslovná požiadavka. Keď aktiváciu vlastní generátor, opravte jeho vstup namiesto vypnutia jeho výstupu. Maskovanie blokuje viac ciest, ale môže rozbiť závislosti, takže nenahrádza pochopenie.

Overte reštartom, nie obrazovkou stavu

Znovu načítajte systemd, ak sa zmenili definície jednotiek alebo vstupy generátora, a potom skontrolujte výsledný stav. Znovunačítanie démona nevtlačí nový profil do bežiaceho tunela, takže obe kontroly sú oddelené. Naplánujte reštart a potvrďte, že inštancia zostane neprítomná, kým zamýšľaný tunel stále funguje.

Ponechajte starý profil, kým nebude jeho vlastníctvo pochopené, a potom ho vyraďte zamýšľaným postupom. Úspech je neprítomná jednotka a funkčná prístupová cesta, nie neúspešná jednotka chýbajúca na jednej obrazovke.

Súvisiace články