Правилото за рестартирање додадено за еден тунел почнува да се применува на секој тунел на машината. Ова не е грешка во systemd; ова е разликата помеѓу drop-in на примерок и drop-in на шаблон. Патеката под која ја пишувате датотеката одлучува колку услуги ќе ја наследат.

Изберете го опсегот пред поставката. Двата директориуми изгледаат речиси идентично, а само еден од нив е ограничен на примерокот што го мислевте.

Симптомот: една измена, сите тунели

Drop-in специфичен за примерок живее под директориум именуван по целосниот примерок, на пример [email protected]. Drop-in на шаблон живее под [email protected], со знакот @ и без име на примерок помеѓу нив. Првиот важи само за office. Вториот важи за секоја услуга создадена од тој шаблон.

Формата на шаблон не допира посебен шаблон [email protected] и не допира неповрзани услуги што имаат openvpn во името.

Изберете го директориумот што одговара на опсегот

Двата директориуми се под /etc/systemd/system/. Ако го испуштите последниот компонент system, се создава патека што systemd не ја чита како системско препишување, а тоа е тивок начин да се направи датотека што изгледа исправно да не прави ништо. Запишете ја целата патека еднаш и користете ја повторно.

Drop-in бара и правилен наслов на секција. Поставките на услугата припаѓаат под [Service]. Датотека со поставки но без секција се игнорира или се одбива, а unit-от продолжува да се однесува како порано додека датотеката стои таму и изгледа авторитативно.

Задржете ја целта во името на датотеката ако додавате повеќе од еден drop-in. Лексикографскиот редослед го одлучува спојувањето, а името што кажува што прави датотеката го прави тој редослед читлив.

Прочитајте ја споената unit пред да пишувате

Прочитајте ја споената unit пред да напишете било што. systemctl cat [email protected] ја печати главната unit и секој применлив drop-in по редослед на спојување. Споредете ја со втор примерок кога размислувате за промена на шаблонот. Тоа споредување покажува точно кои услуги би ја наследиле измената.

Датотеката на примерокот не ги брише поставките на шаблонот. Двете се спојуваат, затоа заборавена вредност од шаблонот може да важи и понатаму.

Учествуваат и други именувани drop-in, поставки во време на извршување и конфигурацијата што ја даваат пакетите. Не претпоставувајте дека датотеката што ја уредувавте последна е целата unit. Споениот излез е unit.

Држете ја политиката на unit-от надвор од профилот

Држете ја политиката на unit-от и VPN конфигурацијата одделно. Директивата на профилот не станува валидна systemd синтакса затоа што стои под [Service]. Поставката за рестартирање исто така не припаѓа во датотека .ovpn.

Ова одвојување е и причината зошто политиката за рестартирање не е исто што и OpenVPN сопственото обновување на партнери. Одлучете какво однесување сакате пред да изберете опсег.

Применете и проверете го примерокот

По измената, вчитајте ги повторно дефинициите на менаџерот со systemctl daemon-reload. Тоа вчитување не го рестартира тунелот; само повторно ги чита датотеките на unit-от. Потоа применете ја наменетата акција од животниот циклус на точниот примерок.

Проверете со повторно читање на вчитаната unit и со набљудување на однесувањето што го сменивте. Рестартирањето што носи активна работа заслужува планирано прекинување, а не брз тест на продукциски тунел. Запишете ја целта и опсегот на препишувањето покрај распоредувањето за да знае следната личност дали датотеката била наменета за споделување.

Ако политиката навистина е споделена, преместете ја намерно во шаблонот и проверете втор примерок пред да го прогласите за готово.Референцата за systemd unit документира приоритет на drop-in и редослед на спојување.

Поврзани статии