Globalny adres IPv6 nie oznacza, że ruch omija tunel
Zakres mówi, jak daleko adres może być routowany, a nie dokąd poszedł ten pakiet. Przeczytaj interfejs, wybraną trasę i prefiks tunelu, zanim wyciągniesz wniosek.
Strona testowa zgłasza globalny adres IPv6 i wniosek od razu przeskakuje do ruchu omijającego VPN. Ten wniosek wymaga dwóch faktów, których strona nigdy nie pokazała: która aplikacja wysłała żądanie i którą trasę wybrało dla niego jądro. Zakres adresu opisuje, jak daleko adres może być routowany. Nie mówi nic o tym, dokąd poszedł właśnie ten pakiet.
Zakres i rola to różne pytania z różnymi dowodami.
Zakres odpowiada, kto może go routować, a nie kto to robi
Globalne adresy unicast są zasadniczo routowalne w publicznym internecie, unikalne adresy lokalne są przeznaczone do topologii wewnętrznej, a adresy lokalne łącza istnieją tylko na jednym łączu. To właściwości bloku adresów. Czy pakiet do danego celu wychodzi przez tunel, decydują tabela routingu i polityka przypisana do interfejsu, a obie mogą wskazywać w dowolnym kierunku.
Adres może mieć globalny zakres i mimo to być przenoszony wewnątrz tunelu, ponieważ tunel jest ścieżką, a nie planem adresów.
Czytaj wszystkie adresy interfejsu, nie test internetowy
Wyjście interfejsu pokazuje kilka adresów naraz: adres zewnętrzny na łączu fizycznym, adres tunelu oraz adres lokalny łącza dla każdego interfejsu. Test internetowy pokazuje tylko adres źródłowy jednego żądania. Zacznij od ip -6 addr show i zanotuj, który interfejs posiada każdy adres i jaką długość prefiksu niesie, a następnie zapytaj, którego interfejsu żądanie rzeczywiście użyło.
Porównaj to z ip -6 route get 2606:4700::1111, które wypisuje interfejs i źródło, jakie jądro wybrałoby dla celu.
Jak globalny prefiks trafia do wnętrza tunelu
Dwa projekty dają globalny adres na interfejsie tunelu. Dostawca może delegować prefiks routowany do klienta przez tunel, co czyni adres globalnym, podczas gdy ścieżka nadal jest tunelem. Albo klient zachowuje własny globalny adres, a tunel przenosi go jako ruch wewnętrzny, podczas gdy zewnętrzny nagłówek wykonuje pracę. Żaden z projektów nie wymaga tłumaczenia, a zamieszanie zaczyna się tam, gdzie nawyki IPv4 NAT są brane za wymóg IPv6.
Zapytaj administratora, który z dwóch obowiązuje. Odpowiedź określa, co serwer po drugiej stronie widzi jako twoje źródło.
Dlaczego adres wyglądający na prywatny nie jest sygnałem zaufania
Unikalny adres lokalny mówi, że operator przeznacza go do routingu wewnętrznego, i nic więcej. Nie dowodzi, że urządzenie jest zarządzane, oprogramowanie zaufane, a ruch zaszyfrowany. Odwrotnie, globalny adres nie dowodzi, że ruch uciekł z tunelu, i właśnie to założenie cały ten artykuł ma obalić.
Oceniaj zaufanie po polityce, uwierzytelnianiu i szyfrowaniu. Wygląd adresu to słaba heurystyka, która zawodzi w obu kierunkach.
Testuj trasę i politykę jako dwa pytania
Najpierw trasa: uruchom curl -6 https://ifconfig.me przez tunel, a potem przez interfejs fizyczny, i porównaj odpowiedzi. Po drugie polityka: potwierdź, który prefiks tunel rzeczywiście niesie i czy druga strona ma dla niego trasę powrotną. Udane żądanie do publicznej witryny nie dowodzi żadnego z nich, bo ten cel jest osiągalny z każdego miejsca. Do testu polityki użyj celu wewnętrznego.
Zanotuj adres źródłowy, który wytworzyła każda ścieżka. To dowód, którego twierdzenie o omijaniu naprawdę potrzebuje.