vpn.example.com in een firewall-uitzondering typen voelt als een DNS-abonnement nemen. Wat meestal gebeurt, is een vertaling bij het laden, waarna de regel adressen vasthoudt en niets ze ververst. Twee componenten delen nu het werk: de resolver die antwoordt en de firewall die opslaat. De meeste storingen van eindpunten beginnen waar die overdracht nooit is ontworpen.

Een hostnaam in een regel is geen live abonnement

Sommige hulpmiddelen lossen een naam op wanneer de configuratie laadt; andere houden een hostnaam en lossen die volgens hun eigen schema opnieuw op; weer andere accepteren alleen adressen. De zichtbare configuratie zegt zelden welke. Documentatievoorbeelden gaan meestal uit van het laadgeval, waardoor het verschil mensen tijdens een migratie verrast. Lees het gedrag van de implementatie voordat je aanneemt dat een adreswijziging wordt opgemerkt, want een verouderde toelatingslijst ziet er precies zo uit als een die werkt tot het eindpunt verhuist.

Een regel die de juiste host noemt, kan nog steeds het verkeerde adres toestaan. Die kloof is de mythe, geen spelfout.

Cache-TTL is niet de timer van je firewall

DNS-records hebben een levensduur, en resolvers cachen antwoorden voor die periode. De DNS-specificatie definieert dat cachegedrag, maar beheert DNS-gegevens, niet de aparte adresopslag van een firewall. Een korte TTL maakt geen verversingstaak waar die niet bestaat. Caching gebeurt ook op meer dan één laag, dus het antwoord dat een terminal ziet is misschien niet dat wat de firewall zag.

Stel het echte product drie vragen: wanneer het oplost, waar het het resultaat opslaat en wat een update activeert. Als het antwoord alleen bij het opstarten is, kan een langdurige sessie het adres overleven waartoe ze werd toegelaten.

dig +short vpn.example.com
resolvectl query vpn.example.com

Ontwerp verversing en fout als één beleid

Een onderhouden uitzondering vereist expliciete antwoorden: wat een verversing activeert voordat de client een nieuw adres kiest, hoe de toegestane set verandert zonder een breed tijdelijk venster te openen, en wanneer verouderde vermeldingen worden verwijderd. Schrijf die antwoorden naast de regel.

Kies het foutgedrag bewust. Het oude adres behouden kan een sessie redden en een verouderde toestemming achterlaten; de set leegmaken kan herstel blokkeren. Geen van beide mag een toevallig gevolg van een mislukte opzoeking zijn. Schrijf het gekozen gedrag in de runbook, zodat de volgende operator niet improviseert onder druk.

Houd ook bootstrap-DNS smal. Een onvoorwaardelijke uitzondering voor een publieke resolver is een directe DNS-route voor alles wat erop past, niet alleen voor de naam van het eindpunt.

Bewijs de eindpuntwijziging, niet de eerste verbinding

Gebruik de ondersteunde beheerder van de client als die al resolutie en blokkering coördineert. Behoud op een door de site beheerde PF-host het eigendom en het herstelplan van de site in plaats van hostnaamtabel-syntaxis van een ander platform met ander levenscyclusgedrag te kopiëren.

Vergelijk met een goedgekeurde, onschadelijke test het adres dat de client kiest met de actieve toegestane set vóór en na een gecontroleerde wijziging. Dek een mislukte opzoeking, het verwijderen van een vermelding die niet meer geldig is en, waar ondersteund, een andere adresfamilie. De bedoelde tunnel moet herstellen terwijl ongerelateerd direct verkeer onder beleid blijft. Een geslaagde eerste verbinding bewijst alleen dat de eerste vertaling toevallig correct was.

Gerelateerde artikelen