Waarom uw VPN-interface steeds zijn firewalld-zone verlaat
De zone houdt stand tot de tunnel opnieuw verbindt, en dan is hij weg. Zoek uit of NetworkManager of firewalld die interface bezit voordat u de opdracht plakt.
U voegt tun0 toe aan de juiste zone, de toepassing begint te werken, en de oplossing verdampt bij de volgende herverbinding. Dezelfde opdracht opnieuw uitvoeren werkt, waardoor het lijkt alsof firewalld het vergeten is. Het is het niet vergeten; iets met een sterker recht op die interface heeft hem opnieuw toegewezen.
De zone blijft bestaan tot de interface opnieuw wordt aangemaakt
Een firewalld-zonetoewijzing aan een interface is een binding, en bindingen zijn gekoppeld aan het interface-object zoals het er nu is. Een VPN-client die het apparaat afbreekt en opnieuw aanmaakt, levert een nieuw object op, en het nieuwe begint bij wat de toewijzende component zegt. Daarom herhaalt het symptoom zich bij elke herverbinding en niet bij elk pakket.
Dezelfde logica verklaart het gedrag bij een herstart: runtime-bindingen overleven een herstart niet, en permanente bindingen gelden alleen voor apparaten waarvan firewalld vindt dat hij ze bezit.
Voordat u iets wijzigt, zoekt u uit welke component de zone toewijst.
Lees drie dingen voordat u iets wijzigt
Noteer de zone die de interface nu heeft, de actieve zones met hun interfaces, en de permanente interfacelijst voor de zone die u bedoelt. Voer die query's uit vóór de wijziging, na een herverbinding en na een herstart. De drie resultaten vergelijken vertelt u of de binding wordt vervangen, genegeerd of pas laat wordt toegepast. Als de permanente lijst het apparaat al noemt terwijl de runtime-zone het er niet mee eens is, dan overstemt iets uw wijziging.
Noteer bij elke stap ook de werkelijke apparaatnaam, want een tunnel die vandaag op tun0 landt, kan morgen op tun1 landen.
Een opgeslagen binding aan een generieke naam is geen identiteitscontrole, en twee minuten noteren bespaart een uur gissen.
Wanneer NetworkManager de verbinding bezit
Als NetworkManager de VPN-verbinding beheert, draagt het profiel de zone en geeft die door aan firewalld wanneer de verbinding activeert. Een permanente firewalld-interfacebinding voor hetzelfde apparaat kan dan worden genegeerd, omdat NetworkManager de eigenaar is. Stel de zone in op de verbinding, en bevestig dat u het VPN-profiel bewerkt en niet een ongerelateerde fysieke verbinding of een tijdelijk record.
Het wijzigen van die eigenschap kan een actieve verbinding onmiddellijk beïnvloeden.
Houd een beheerpad beschikbaar en lees het beleid van de doelszone voordat u het toepast. Het ZONE-veld van een ifcfg-bestand bewerken is alleen juist daar waar dat bestand nog de configuratiebron is.
Wanneer firewalld de binding bezit
Voor een op zichzelf staande tunnel met een bewust stabiele interfacenaam is een permanente interfacewijziging het juiste gereedschap. Pas die toe via het herladen of de levenscyclus die uw uitrol gebruikt, en inspecteer daarna de runtimestatus, want een alleen-permanente wijziging beschrijft de bedoeling en niet wat actief is. De twee kunnen van elkaar afwijken zolang het herladen duurt.
Als de interfacenaam dynamisch is, onderhoud de toewijzing dan gedurende de levenscyclus van de verbinding in plaats van te racen met de tunnel die de naam het eerst opeist.
Gooi de interface niet in trusted alleen om de toepassing te laten werken.
Test het herladen, de herverbinding en de herstart
Een wijziging is pas klaar wanneer hij alle drie overleeft.
Herlaad eerst, want daar verdwijnen wijzigingen die alleen in runtime bestaan. Verbind daarna de tunnel opnieuw, want daar verliest een vervangen interface zijn binding. Herstart daarna, want daar komt een eigenaarsverschil eindelijk aan het licht. Noteer de zone bij elke fase en vergelijk die met de bedoeling die u hebt opgeschreven, en noteer welke stap het verschil maakte.
Als de zone correct is en de toepassing toch faalt, zit het probleem in de regels van de zone of in een op bron gebaseerde classificatie, niet in het lidmaatschap. De firewalld-documentatie over verbindingen en interfaces is de referentie voor hoe eigenaarschap bedoeld is te werken.
Schrijf de eigenaar, de waarde en het verwachte resultaat in de runbook, en de volgende toewijzing zal verklaarbaar zijn.