OpenVPN-instanssi nousee käynnistyksessä esiin nimellä, jota et tunnista, ja sen pysäyttäminen toimii seuraavaan uudelleenkäynnistykseen asti. Tämä kuvio tarkoittaa, että olet poistanut prosessin mutta et aktivointia. Ne ovat kaksi eri objektia, ja vain toinen niistä näkyy tilanäkymässä. Aktivoinnin löytäminen vaatii neljä vain luku -komentoa ja yhden päätöksen.

Nimeä ensin tarkka yksikkö

Lähde yksikön nimestä journalissa, älä profiilitiedoston nimestä. Instanssi voi olla nimeltään openvpn@, openvpn-client@, openvpn-server@ tai jotain jakelukohtaista, ja nimen arvaaminen vie sinut väärään malliin. Tilatuloste nimeää yksikön, joka todella suoritettiin, ja se on ainoa nimi, jolla on tässä merkitystä. Kopioi se tarkasti, mukaan lukien mahdollinen pääte.

Seuraavat komennot kuvaavat kyseistä yksikköä muuttamatta mitään. systemctl show raportoi fragmentin polun, lähdepolun, yksikkötiedoston tilan, mahdolliset drop-init ja sen, mikä sen käynnisti. list-dependencies --reverse näyttää, mitkä ladatut yksiköt osoittavat siihen. Molemmat ovat vain luku -komentoja, joten suorita ne ennen kuin muodostat teorian.

Korvaa havaittu nimi kaikkialla. Kopioitu esimerkkinimi on yleisin tapa tutkia väärää palvelua, ja se tuottaa itsevarmoja vastauksia yksiköstä, jota ei koskaan suoritettu.

Lue malli, jotta tiedät tiedostonimen

Instanssiyksikkö on mallin laajennus, ja malli päättää, mitä asetustiedostoa se lukee. Komentorivi, joka päättyy instanssikohtaiseen paikkamerkkiin, ratkeaa instanssin nimeksi ja päätteeksi. Jos pääte on .conf ja instanssi on nimeltään old, tiedosto on old.conf. Jos nimeät instanssin old.conf, sama malli pyytää old.conf.conf.

Tämä yksityiskohta selittää yhden kopioiden luokan. Joku lisää toisen instanssin väärällä nimellä, ensimmäinen jatkaa toimintaansa, ja isäntä jää kahden tunnelin ja yhden hämmentävän lokin kanssa.

Lue voimassa oleva malli sen tiedoston sijaan, jonka muistat muokanneesi. Drop-in voi korvata komentorivin, ja korvaava versio on se, joka suoritetaan käynnistyksessä.

Jäljitä, miten se päätyy käynnistystapahtumaan

Kolme reittiä on yleisiä: wants-linkki kohteesta, toisen yksikön vaatimus tai pakettigeneraattorin tuottama yksikkö. Käänteisten riippuvuuksien luettelo kattaa kaksi ensimmäistä ladattuina graafimerkintöinä. Se ei kata ajastinta, hookia tai ulkoista pyyntöä, ja siksi luettelo on todiste eikä täydellinen auditointi.

Generoitu tuloste /run/systemd/generator-hakemistossa on tuote, ei lähde. Sen muokkaaminen kestää vain seuraavaan generointiin, ja siksi sinne tehty korjaus näyttää onnistuneelta ja peruuntuu sitten.

Tarkista paketin dokumentoitu syöte ennen kuin oletat, mistä generaattori lukee. Dokumentoimaton hakemiston skannaus on tavallinen syy siihen, että yksikkö ilmestyy ilman aktivointilinkkiä.

Poista aktivointi, älä vain prosessia

Jos instanssi on suoraan aktivoitu ja todella vanhentunut, systemctl disable --now pysäyttää sen ja poistaa käynnistyslinkin yhdessä vaiheessa. Tarkista ensin, ettei tämä tunneli ole ainoa hallinnollinen reittisi isäntään. Komento on elinkaariesimerkki, ei ehdotus pysäyttää jokainen koneen VPN. Suorita tarkistus ennen komentoa, älä sen jälkeen.

Kaksi puoliskoa ovat erotettavissa ja menevät usein sekaisin. Käytöstä poistaminen ei pysäytä käynnissä olevaa palvelua, eikä pysäyttäminen poista aktivointia, joten osittainen komento selittää ongelman, joka palaa käynnistyksessä.

Käytöstä poistettu yksikkö voidaan silti käynnistää toisen yksikön tai eksplisiittisen pyynnön kautta. Kun generaattori omistaa aktivoinnin, korjaa generaattorin syöte sen sijaan, että poistaisit sen tulosteen käytöstä. Peittäminen estää useampia reittejä mutta voi rikkoa riippuvuuksia, joten se ei korvaa ymmärrystä.

Vahvista uudelleenkäynnistyksellä, älä tilanäkymällä

Lataa systemd uudelleen, jos yksikkömääritelmät tai generaattorin syötteet muuttuivat, ja tarkastele sitten syntynyttä tilaa. Daemonin uudelleenlataus ei työnnä uutta profiilia käynnissä olevaan tunneliin, joten kaksi tarkistusta ovat erillisiä. Ajoita uudelleenkäynnistys ja vahvista, että instanssi pysyy poissa, kun samalla aiottu tunneli toimii edelleen.

Pidä vanha profiili, kunnes sen omistajuus on ymmärretty, ja poista se sitten aiottua prosessia käyttäen. Menestys on puuttuva yksikkö ja toimiva pääsypolku, ei yhdeltä näytöltä puuttuva epäonnistunut yksikkö.

Aiheeseen liittyvät artikkelit