Tre villkor avgör om en portvidarebefordran på labbroutern publicerar något: vad uppströmskanten levererar, vilken policy den tillämpar och om svar kommer tillbaka samma väg. En adress som ser offentlig ut svarar på ingen av dem. Inte heller ett /30-prefix eller en fungerande utgående förbindelse. Sortera dessa villkor innan du ändrar NAT, annars ser den lokala regeln trasig ut medan blockeringen sitter två hopp bort.

Tre svar avgör vem du eskalerar till

Ägaren av uppströmskanten kan beskriva överlämningen på ett av tre sätt. Destinationen levereras direkt till ditt gränssnitt, ett separat prefix dirigeras till ditt nästa hopp, eller något framför översätter adressen innan den når dig. Varje svar namnger en annan enhet som måste tillåta den inkommande anslutningen, och ett annat team att ringa när det inte sker.

Filtrering är den fjärde variabeln och är oberoende av alla tre. Ett nätverk kan filtrera trafik som behåller sin offentliga adress, och en översättare är inte automatiskt policygränsen. Fråga om tillåtna källadresser, transporter och portar samtidigt som om leveransen, eftersom en vidarebefordrad port som kanten släpper aldrig når din regel.

Läs överlämningen som ett tjänsteavtal

Skriv ned fem värden innan du rör labbroutern: den tilldelade gränssnittsadressen, prefixlängden, nästa hopp, destinationsadressen som externa klienter kommer att använda samt det exakta protokollet och porten. Destinationen är den intressanta, eftersom den kanske inte alls är en adress som är konfigurerad på din enhet. Om uppströmskanten förväntar sig att klienter når en översatt adress måste lokal DNAT matcha det kontraktet och inte gränssnittsadressen du ser.

IETF:s diskussion om brandväggsbeteende är en nyttig påminnelse om att filtrering och översättning är separata funktioner. Den förklarar varför en router kan upprätthålla ingående policy utan att dölja adresser, och varför NAT någonstans uppströms inte bevisar att filtreringen sker där. Behandla överlämningen som en tjänstebeskrivning med en ägare och en ändringsprocess.

Observera ett försök vid båda gränserna

Ett smalt, godkänt försök korrelerat på två punkter ersätter en hög med gissningar. Kör en inspelning på labbets WAN-gränssnitt för den exakta tuplen, och be ägaren av uppströmskanten att observera samma tuple vid kanten. Håll destination, protokoll, port, källa och tidsstämpel identiska mellan de två vyerna.

tcpdump -ni wan0 'tcp port 1194 and host 203.0.113.10'

Läs paret av resultat som ett beslut. Sett vid kanten och sett på labbets WAN betyder att både leverans och kantpolicy passerar, så fortsätt med lyssnaren eller DNAT. Sett vid kanten men inte på labbets WAN pekar på leverans eller en mellanliggande policy, och nästa samtal är till ägaren av uppströmskanten. Inte sett någonstans betyder att testtuplen, källan eller vägen är fel innan ens någon brandväggsfråga.

Frånvaro av bevis i en inspelning är inte bevis för en brandvägg. Det är ett gränsresultat som talar om vilken enhet du ska undersöka härnäst.

Låt inte lokal NAT dölja svaret

Den lokala regeln blir intressant först efter att ingången har bekräftats. Bekräfta att DNAT-målet är VPN-lyssnarens faktiska adress och port, att vidarebefordran är aktiverad för den relevanta familjen, och att svaret lämnar genom det gränssnitt som begäran kom in på. En regel som skriver om destinationen men inte returvägen ger samma timeout som ett tappat paket.

Behåll portsäkerheten och produktionsöverlämningen medan du undersöker. Att byta ut routern eller förfalska dess MAC-adress för att kringgå anslutningskontroller byter en diagnos mot ett avbrott. En spegelport eller en godkänd inspelning ger samma synlighet utan att koppla bort tjänster som delar länken.

Avsluta med ägarskapskartan: destination, levererande enhet, filtrerande enhet, labbets ingång och lyssnare. Den kartan gör nästa genomgång av portvidarebefordran liten, och den autentiserar ingenting om själva VPN:en.

Relaterade artiklar