Бірдеңе OpenVPN юнитін қайта-қайта іске қосады: көзін табыңыз
Юнитті өшіру оның белсендірілуін жоюмен бірдей емес. Профильді жоймас бұрын дананы, үлгі сәйкестігін және кері тәуелділіктерді оқыңыз.
OpenVPN данасы жүктелу кезінде сіз танымайтын атаумен пайда болады және оны тоқтату келесі қайта жүктеуге дейін жұмыс істейді. Бұл үлгі сіз процесті жойғаныңызды, бірақ белсендіруді жоймағаныңызды білдіреді. Бұл екі түрлі нысан және олардың тек біреуі күй экранында көрінеді. Белсендіруді табу үшін төрт тек оқу командасы және бір шешім қажет.
Алдымен нақты юнитті атаңыз
Профиль файлының атауынан емес, journalдағы юнит атауынан бастаңыз. Дана openvpn@, openvpn-client@, openvpn-server@ немесе таратуға тән басқа атаумен аталуы мүмкін, ал атауды болжау сізді қате үлгіге апарады. Күй шығысы шын мәнінде жұмыс істеген юнитті атайды және бұл жерде маңызды жалғыз атау сол. Оны кез келген жұрнақты қоса, дәл көшіріңіз.
Келесі командалар ештеңені өзгертпестен сол юнитті сипаттайды. systemctl show фрагмент жолын, бастау көзінің жолын, юнит файлының күйін, бар болса drop-in-дерді және оны не іске қосқанын хабарлайды. list-dependencies --reverse қандай жүктелген юниттер оған сілтейтінін көрсетеді. Екеуі де тек оқуға арналған, сондықтан теория құрмас бұрын оларды орындаңыз.
Бақыланған атауды барлық жерде ауыстырыңыз. Көшірілген мысал атауы қате қызметті тексерудің ең көп тараған жолы және ешқашан жұмыс істемеген юнит туралы сенімді жауаптар береді.
Файл атауын білу үшін үлгіні оқыңыз
Дана юниті — үлгінің кеңейтілуі, және үлгі қай конфигурация файлын оқитынын шешеді. Данаға тән орынтолтырғышпен аяқталатын команда жолы дана атауы мен жұрнаққа айналады. Жұрнақ .conf болып, дана old деп аталса, файл old.conf болады. Дананы old.conf деп атасаңыз, сол үлгі old.conf.conf файлын сұрайды.
Бұл бөлшек көшірмелер класын түсіндіреді. Біреу қате атаумен екінші дана қосады, біріншісі жұмысын жалғастырады, ал хост екі туннель және бір түсініксіз журналмен қалады.
Өңдеген деп есте қалған файлды емес, қолданыстағы үлгіні оқыңыз. Drop-in команда жолын ауыстыруы мүмкін, ал жүктелу кезінде жұмыс істейтін нәрсе — дәл сол ауыстыру.
Оның жүктелу транзакциясына қалай кіретінін қадағалаңыз
Үш жол жиі кездеседі: мақсаттан келетін wants байланысы, басқа юниттен келетін талап немесе пакет генераторы жасаған юнит. Кері тәуелділіктер тізімі алғашқы екеуін жүктелген граф жазбалары ретінде қамтиды. Ол таймерді, ілгекті немесе сыртқы сұранысты қамтымайды, сондықтан тізім толық аудит емес, дәлел.
/run/systemd/generator астындағы жасалған шығыс — өнім, көз емес. Оны өңдеу тек келесі генерацияға дейін сақталады, сондықтан онда қолданылған түзету сәтті болып көрінеді де, кейін қайтады.
Генератордың қайдан оқитынын болжамас бұрын пакеттің құжатталған кірісін тексеріңіз. Құжатталмаған каталог сканерлеуі юниттің белсендіру байланысынсыз пайда болуының әдеттегі себебі.
Белсендіруді жойыңыз, тек процесті емес
Егер дана тікелей белсендірілген және шынымен ескірген болса, systemctl disable --now оны тоқтатып, жүктелу байланысын бір қадамда жояды. Алдымен бұл туннельдің хостқа барар жалғыз әкімшілік жолыңыз еместігін тексеріңіз. Команда — өмірлік цикл мысалы, машинадағы әрбір VPNды тоқтату ұсынысы емес. Тексеруді командадан бұрын жасаңыз, кейін емес.
Екі жарты бөлінетін және жиі шатастырылады. Өшіру жұмыс істеп тұрған қызметті тоқтатпайды, ал тоқтату белсендіруді жоймайды, сондықтан ішінара команда жүктелу кезінде қайтатын мәселені түсіндіреді.
Өшірілген юнитті бәрібір басқа юнит немесе айқын сұраныс іске қоса алады. Белсендіру генераторға тиесілі болса, оның шығысын өшіруге өтінудің орнына кірісін түзетіңіз. Маскалау көбірек жолды бөгейді, бірақ тәуелділіктерді сындыруы мүмкін, сондықтан ол түсінуді алмастырмайды.
Күй экранымен емес, қайта жүктеумен тексеріңіз
Юнит анықтамалары немесе генератор кірістері өзгерген болса, systemdды қайта жүктеңіз, содан кейін пайда болған күйді қарап шығыңыз. Демонды қайта жүктеу жұмыс істеп тұрған туннельге жаңа профильді итермейді, сондықтан екі тексеру бөлек. Қайта жүктеуді жоспарлаңыз және көзделген туннель әлі жұмыс істеп тұрғанда дананың жоқ болып қалатынын растаңыз.
Ескі профильді оның иелігі түсінілгенше сақтаңыз, содан кейін оны көзделген процесс арқылы шығарыңыз. Сәттілік — бір экранда жоқ сәтсіз юнит емес, жоқ юнит және жұмыс істейтін кіру жолы.