Proč vaše rozhraní VPN neustále opouští svou zónu ve firewalld
Zóna vydrží, dokud se tunel znovu nepřipojí, a pak je pryč. Zjistěte, zda toto rozhraní vlastní NetworkManager, nebo firewalld, než příkaz vložíte.
Přidáte tun0 do správné zóny, aplikace začne fungovat a oprava se při dalším opětovném připojení vypaří. Opětovné spuštění stejného příkazu funguje, což vypadá, jako by firewalld zapomněl. Nezapomněl; něco se silnějším nárokem na toto rozhraní ho přiřadilo znovu.
Zóna přežije, dokud se rozhraní nevytvoří znovu
Přiřazení zóny firewalld k rozhraní je vazba a vazby jsou svázány s objektem rozhraní v podobě, v jaké existuje nyní. Klient VPN, který zařízení zruší a znovu vytvoří, vytvoří nový objekt a ten nový začíná tím, co řekne komponenta, která přiřazuje. Proto se příznak opakuje při každém opětovném připojení, a ne u každého paketu.
Stejná logika vysvětluje chování při restartu: běhové vazby nepřežijí restart a trvalé vazby platí jen pro zařízení, o kterých se firewalld domnívá, že je vlastní.
Než cokoli změníte, zjistěte, která komponenta zónu přiřazuje.
Než cokoli změníte, přečtěte si tři věci
Zapište zónu, kterou rozhraní právě má, aktivní zóny s jejich rozhraními a trvalý seznam rozhraní pro zónu, kterou zamýšlíte. Tyto dotazy spusťte před změnou, po opětovném připojení a po restartu. Porovnání tří výsledků vám řekne, zda se vazba nahrazuje, ignoruje, nebo jen aplikuje pozdě. Pokud trvalý seznam už zařízení uvádí, zatímco běhová zóna nesouhlasí, něco vaši úpravu přebíjí.
Zapisujte také skutečný název zařízení v každém kroku, protože tunel, který dnes přistane na tun0, může zítra přistát na tun1.
Uložená vazba na obecný název není kontrola identity a dvě minuty zápisu ušetří hodinu hádání.
Když je vlastníkem připojení NetworkManager
Pokud připojení VPN spravuje NetworkManager, jeho profil nese zónu a předává ji firewalld, když se připojení aktivuje. Trvalá vazba rozhraní ve firewalld pro stejné zařízení pak může být ignorována, protože vlastníkem je NetworkManager. Nastavte zónu na připojení a ověřte, že upravujete profil VPN, a ne nesouvisející fyzické připojení nebo dočasný záznam.
Změna této vlastnosti může okamžitě ovlivnit aktivní připojení.
Udržujte dostupnou cestu správy a před použitím si přečtěte politiku cílové zóny. Úprava pole ZONE v souboru ifcfg je správná jen tam, kde je tento soubor stále zdrojem konfigurace.
Když je vlastníkem vazby firewalld
Pro samostatný tunel se záměrně stabilním názvem rozhraní je trvalá změna rozhraní správný nástroj. Použijte ji přes reload nebo životní cyklus, který váš deployment používá, a poté zkontrolujte běhový stav, protože úprava jen v trvalém nastavení popisuje záměr, a ne to, co je aktivní. Obě se mohou rozcházet tak dlouho, jak dlouho trvá reload.
Pokud je název rozhraní dynamický, udržujte přiřazení po celý životní cyklus připojení, místo abyste závodili s tunelem, který název získá první.
Nedávejte rozhraní do trusted jen proto, aby aplikace fungovala.
Otestujte reload, opětovné připojení a restart
Změna je hotová, teprve když přežije všechny tři.
Nejprve reloadujte, protože tam mizí úpravy jen v běhovém stavu. Potom znovu připojte tunel, protože tam nahrazené rozhraní ztrácí svou vazbu. Potom restartujte, protože tam se nakonec ukáže nesoulad vlastníka. V každé fázi zapište zónu a porovnejte ji se záměrem, který jste si zapsali, a poznamenejte, který krok rozdíl vytvořil.
Pokud je zóna správná a aplikace přesto selhává, problém je v pravidlech zóny nebo v klasifikaci podle zdroje, ne v členství. Dokumentace firewalld o připojeních a rozhraních je referencí pro to, jak má vlastnictví fungovat.
Zapište vlastníka, hodnotu a očekávaný výsledek do runbooku a příští přiřazení bude vysvětlitelné.