Зашто ваше VPN сучеље стално напушта своју firewalld зону
Зона се држи док се тунел поново не повеже, а затим је нема. Откријте да ли то сучеље поседује NetworkManager или firewalld пре него што налепите команду.
Додате tun0 у праву зону, апликација почне да ради, а исправка испари при следећем поновном повезивању. Поновно покретање исте команде ради, због чега изгледа као да је firewalld заборавио. Није заборавио; нешто са јачим правом на то сучеље доделило га је изнова.
Зона преживи док се сучеље не створи изнова
Додела firewalld зоне сучељу је повезивање, а повезивања су везана за објекат сучеља у облику у којем сада постоји. VPN клијент који разгради уређај и поново га створи производи нови објекат, а нови почиње од онога што каже компонента која додељује. Зато се симптом понавља при сваком поновном повезивању, а не при сваком пакету.
Иста логика објашњава понашање при рестарту: runtime повезивања не преживе рестарт, а трајна повезивања важе само за уређаје за које firewalld верује да их поседује.
Пре него што ишта промените, откријте која компонента додељује зону.
Прочитајте три ствари пре него што ишта промените
Забележите зону коју сучеље тренутно има, активне зоне са њиховим сучељима и трајни списак сучеља за зону коју намеравате. Покрените те упите пре промене, после поновног повезивања и после рестарта. Поређење три резултата показује да ли се повезивање замењује, занемарује или само примењује прекасно. Ако трајни списак већ наводи уређај, а runtime зона се не слаже, нешто надјачава вашу измену.
Бележите и стварни назив уређаја на сваком кораку, јер тунел који данас слеће на tun0 сутра може да слети на tun1.
Сачувано повезивање на општи назив није провера идентитета, а два минута бележења штеде сат нагађања.
Када NetworkManager поседује везу
Ако NetworkManager управља VPN везом, његов профил носи зону и предаје је firewalld када се веза активира. Трајно повезивање сучеља у firewalld за исти уређај тада може бити занемарено, јер је власник NetworkManager. Поставите зону на везу и потврдите да уређујете VPN профил, а не неповезану физичку везу или привремени запис.
Промена тог својства може одмах утицати на активну везу.
Држите пут управљања доступним и прочитајте политику одредишне зоне пре примене. Уређивање поља ZONE у ifcfg датотеци исправно је само тамо где је та датотека још извор конфигурације.
Када firewalld поседује повезивање
За самостални тунел са намерно стабилним називом сучеља трајна промена сучеља је прави алат. Примените је кроз поновно учитавање или животни циклус који користи ваше распоређивање, затим прегледајте runtime стање, јер измена само у трајним поставкама описује намеру, а не оно што је активно. Њих двоје могу да се разилазе све док траје поновно учитавање.
Ако је назив сучеља динамичан, одржавајте доделу кроз животни циклус везе уместо да се тркате са тунелом који први заузме назив.
Не бацајте сучеље у trusted само да би апликација прорадила.
Тестирајте поновно учитавање, поновно повезивање и рестарт
Промена је готова тек када преживи сва три.
Прво поново учитајте, јер ту нестају измене само у runtime-у. Затим поново повежите тунел, јер ту замењено сучеље губи своје повезивање. Затим рестартујте, јер ту се коначно покаже неслагање власника. Бележите зону у свакој фази и упоредите је са намером коју сте записали, и забележите који је корак створио разлику.
Ако је зона исправна, а апликација ипак не ради, проблем је у правилима зоне или у класификацији по извору, а не у чланству. firewalld документација о везама и сучељима је референца за то како би власништво требало да ради.
Запишите власника, вредност и очекивани резултат у runbook, и следећа додела ће бити објашњива.