Varför en inspelning i ett routat VPN aldrig visar filialens VLAN-tagg
En routad TUN-tunnel transporterar IP-paket, inte taggade Ethernet-ramar, så VLAN-ID:t når aldrig sensorn. Välj den observationspunkt som din policy behöver.
Inspelningar som görs på tunnelgränssnittet kommer aldrig att visa filialens VLAN-ID, och det är en egenskap hos designen och inte en lucka i verktyget. En routad TUN-tunnel transporterar IP-paket, så den taggade Ethernet-ram som bar dem på filiallänken slutar vid den router som routade dem. Om din policyfråga handlar om segment måste sensorpositionen väljas för den frågan innan inspelningen börjar. Det VLAN-fält du förväntade dig måste ersättas av kontext som du kan försvara.
Titta på vad tunnelgränssnittet faktiskt transporterar
TUN levererar IP-paket till värden; TAP levererar Ethernet-ramar. En routad design använder det första, vilket innebär att paketet som anländer efter dekryptering inte har någon linklagerhuvud alls, och därför ingen 802.1Q-tagg att läsa. Inget skalades av på vägen, eftersom taggen aldrig kom in i tunneln. Det inre paketet börjar vid sin IP-huvud, så varje fält som en VLAN-medveten regel förväntar sig saknas helt enkelt.
Bekräfta gränssnittstypen innan du diskuterar inspelningen, eftersom en TAP-enhet i samma utrullning beter sig annorlunda och leder till fel slutsats.
ip -d link show tun0 tcpdump -i tun0 -nn -e -c 20
Det första kommandot skriver ut enhetstypen och dess flaggor. Det andra skriver ut linklagerhuven för de första tjugo paketen, och på en TUN-enhet börjar utdata vid IP utan Ethernet-block, vilket är hela förklaringen på en skärm.
Att välja TAP återställer inte heller taggen. En TAP-enhet skickar ramar till en brygga, och vad som händer med taggen beror på bryggans VLAN-filtrering och portens konfigurerade medlemskap. Det är ett separat designbeslut med egna fellägen.
Stå på en av tre platser och acceptera vad den kan se
På filialens Ethernet-segment finns taggen, men sensorn ser bara lokal trafik på det segmentet. På det yttre VPN-nätet är trafiken skyddad, så en observatör lär sig ändpunkter och volym och ingenting om det inre paketet. På TUN-vägen efter dekryptering är det inre IP-paketet tillgängligt, med sin adressering och sina portar, och utan filialens ram. Därför ser en inspelning på en trunk och en routad inspelning av samma flöde ut som två olika samtal.
Dessa tre positioner svarar på tre olika frågor, och en enda inspelning kan inte vara alla samtidigt.
tcpdump -i eth0 -nn -e 'vlan' -c 10 tcpdump -i tun0 -nn -c 10
Kör paret och jämför. Den första visar taggade ramar och deras VLAN-ID:n där filiallänken är trunkad till värden; den andra visar samma samtal som vanlig IP efter routning. Om den första inte returnerar något alls, kontrollera om värdporten är en access-port, för då har taggen redan tagits bort av switchen och ingen inspelning på värden kommer någonsin att visa den.
Ersätt den saknade taggen med en mappning du kan försvara
Om policyn skiljer segment åt efter IP-prefix, skriv ner mappningen tillsammans med dess gränser. Överlappande adressintervall, källöversättning och en delad gateway kan var och en göra ett enda prefix otillräckligt för att identifiera var ett paket faktiskt kom ifrån.
Lita på gränssnittet och routningskontexten du kontrollerar, inte på en etikett som klienten levererar. Ett huvudfält som en peer kan sätta är inte bevis på medlemskap, och en inspektionsregel som behandlar det som sådant kringgås trivialt.
ip route get 10.20.30.40 ip -br addr show
Det första kommandot rapporterar gränssnittet och källan som kärnan skulle använda för en destination, vilket är den lokala vyn av segmentanslutning. Det andra listar adresser per gränssnitt så att prefixen i din mappning kan kontrolleras mot verkligheten i stället för mot diagrammet.
Kontrollera returvägen och nyttolasten innan du litar på resultatet
En inspektionspunkt som bara ser en riktning missar halva samtalet, och asymmetrisk routning är vanligt när ett VPN är inblandat. Bekräfta att svar passerar samma sensor innan du betraktar en ensidig inspelning som komplett.
Att återställa det inre IP-paketet dekrypterar inte heller en HTTPS-session inuti det. Om policyfrågan handlar om innehåll snarare än flöden måste sensorpositionen flyttas igen, och det beslutet hör till samma designdokument.
Att förlänga en obegränsad trunk till en sensor bara för att ett VLAN-fält ska synas utökar nätverksgränsen utan att svara på den ursprungliga frågan. Välj positionen för den information policyn behöver, notera vad den inte kan se, och ompröva valet när frågan ändras.