Klienten försöker återansluta och inget lämnar maskinen, trots att samma profil fungerade förra veckan. Slutpunktens värdnamn löses nu ut till en annan adress, och undantaget för utgående trafik namnger fortfarande den gamla. Det enda inaktuella tillståndet räcker för att förvandla en fungerande kill switch till ett totalt avbrott, och det syns inte i någon statusindikator på skrivbordet. Reparationen är ett litet arbetsflöde, inte en ändring av en rad.

Tunneln återansluter, sedan lämnar inget maskinen

En utgående regel som namnger en destinationsadress är en ögonblicksbild, och DNS-svar är det inte. När leverantören roterar en adress matchar paketet som klienten skickar mot den nya peeren ingenting och släpps av standardnekningen. Klienten rapporterar då en timeout, vilket låter som ett serverproblem snarare än ett brandväggsproblem.

Att låsa den adress som en offentlig sökning returnerar får det att fungera i dag och lämnar morgondagen trasig. Det är en engångsändring, inte en underhållspolicy.

Beskriv undantaget du faktiskt menar

Börja med att skriva ner de fyra värden som regeln behöver: det godkända slutpunktsnamnet eller adressmängden, transporten, destinationsporten och det gränssnitt som paketet lämnar via. Alla fyra är en del av tillståndet, och vilket som helst av dem kan vara fel medan regeln fortfarande verkar rimlig. En regel som är korrekt på tre av dem misslyckas precis som en regel som är fel på alla fyra. Skriv ner dem innan du skriver kommandot, för en regel är bara så bra som beskrivningen bakom den.

Kommandot nedan visar formen för en IPv4 UDP-slutpunkt på en trådbunden uplink. Ersätt båda värdena med dem du verifierade mot driftsättningen.

sudo ufw allow out on enp3s0 proto udp to 192.0.2.44 port 1194
sudo ufw status verbose

Det tillståndet tillåter inte godtyckliga destinationer på samma port, skapar ingen lyssnare och täcker inte TCP. UFW:s manualsida beskriver hur adress, gränssnitt och protokoll smalnar av en regel, och den avsmalningen är hela poängen.

Förnya det som ett arbetsflöde

Behandla undantaget som en resurs med en ägare och en övergång, inte som ett kommando som någon kommer ihåg att köra. Hämta först en kandidat från driftsättningens egen resolver och slutpunktsinventering, och definiera medvetet hur det namnet löses innan tunneln finns. Validera sedan kandidaten mot det avsedda protokollet, porten och adressfamiljen innan du rör regeluppsättningen.

Installera först det nya snäva tillståndet och bekräfta att det laddades, för att be klienten använda en adress som brandväggen fortfarande blockerar ger ett fel som ser ut som ett serverfel. Låt orelaterade regler vara orörda under ändringen.

Observera klientens övergång via dess stödda återanslutningsväg och bekräfta vilken fjärradress den valde. Att bara uppdatera DNS flyttar inte en befintlig socket, och en inställning för slutpunktspersistens kan hålla klienten på den gamla peeren långt efter att posten ändrats.

Dra till sist tillbaka det inaktuella tillståndet medvetet, och tillåt det godkända överlappningsfönstret medan en gammal session fortfarande är aktiv. Att ta bort den gamla posten för tidigt ger ett kort avbrott; att låta den ligga för alltid lämnar ett tillstånd som ingen kan förklara.

Dra medvetet tillbaka det gamla tillståndet

Borttagningen är där det mesta av risken sitter, eftersom den gamla regeln är det enda som fungerar just nu. Om installationen av kandidaten misslyckades, fortsätt inte och radera inte posten som fortfarande bär trafik. Om själva borttagningen misslyckas, registrera det inaktuella tillståndet som inaktuellt i stället för att förklara policyn aktuell.

Upprepa hela granskningen när uplinken växlar från Ethernet till Wi-Fi, när transporten ändras eller när en tjänst roterar över flera adresser. En gränssnittsspecifik regel ska sluta matcha efter en nätverksändring, och det beteendet är korrekt även om det ser ut som en regression.

Bevisa sedan kontraktet med ofarlig trafik. Den godkända slutpunkten måste vara nåbar under installationen, det skyddade programmet måste fungera när det är anslutet, och orelaterad direkt trafik måste förbli blockerad under ett avbrott. Ta med båda adressfamiljerna och ett medvetet misslyckat uppdateringsförsök, eftersom en anslutning som lyckas efter en enda ändring av en låst adress inte bevisar något av dessa fall.

Relaterade artiklar