Vidět veřejné adresy na eth0, zatímco je tunel zapnutý, působí jako důkaz, že něco uniklo. Obvykle je to naopak: vlastní pakety tunelu musí projít tímto adaptérem, aby se dostaly na server, a vypadají jako běžné toky UDP nebo TCP. Vnitřní paket se objeví jen na zařízení tunelu. Rozlišit obojí znamená číst obálku, ne věřit počtu bajtů.

Každý paket tunelu přesto přechází drát

Tunel je rozhraní, ne drát. Klient vezme vnitřní paket, zabalí ho a výsledek pošle na adresu a port serveru z profilu. Na fyzickém adaptéru vidíte obal; na zařízení tunelu vidíte to, co bylo zabaleno.

V režimu UDP je vnější tok jediná dvojice adresy a portu v každém směru, a proto zdravý tunel vypadá na eth0 téměř nudně. Právě tuto jedinou dvojici je třeba hledat nejdřív.

Snímejte vždy jen jedno rozhraní

Snímejte vždy jen jedno rozhraní, když chcete porovnávat počty. Pseudo-rozhraní any sbírá všechna zařízení najednou, takže předávaný paket se objeví na vstupu i výstupu a lokálně vytvořený se objeví dvakrát ve dvou různých podobách. Stejné počty paketů při nestejných počtech bajtů jsou normální, protože obal je větší než to, co nese. ARP, DHCP a oznámení směrovače IPv6 patří na místní spoj a o vaší aplikaci nic neříkají.

sudo tcpdump -i eth0 -n host 203.0.113.10 and udp port 1194

Nahraďte adresu a port vlastními hodnotami z profilu. Pokud je tento tok stálý, tunel něco nese.

Zeptejte se jádra, které zařízení zvolí

Zeptejte se jádra, které zařízení by zvolilo, a potom to potvrďte na drátu. Hledání v routovací tabulce je rozhodnutí a záznam je důkaz, že se rozhodnutí dodrželo. Odpovídají na různé otázky a chcete obojí.

ip route get 1.1.1.1
ip -6 route get 2606:4700:4700::1111

Rozdělený výsledek je běžný nález: IPv4 jde do tunelu a IPv6 jde na fyzický adaptér, protože profil protlačil jen trasy IPv4. To je skutečný únik a v záznamu pouze IPv4 je neviditelný. Filtrujte IPv6 a sledujte adresy, které nejsou server a nejsou link-local.

Spusťte obě hledání před připojením a po něm, abyste viděli, co klient skutečně změnil. Rozdíl mezi oběma běhy je skutečný efekt klienta.

Když je záznam opravdu únik

Někdy záznam říká pravdu. Užší trasa, která posílá jeden prefix mimo tunel, podsíť, kterou klient dostal za úkol vyloučit, nebo povolení ve firewallu, které běží před politikou tunelu, mohou dostat provoz na drát v otevřené podobě. Pravidlo, které odpovídá skupině procesů, také může být záměrnou výjimkou. Přečtěte si jeho rozhraní a rozsah cíle, než to nazvete závadou.

Opravte trasu nebo výjimku, ne firewall. Potom znovu snižte z nového připojení a zkontrolujte IPv4 a IPv6 zvlášť, protože oprava jednoho nic neříká o druhém. Příručka tcpdump popisuje selektory rozhraní a směru použité výše.

Související články