Czujnik po stronie VPN widzi dwa VLAN-y oddziału jako zwykły ruch IP, a znacznik, który identyfikował każdy oddział na jego własnym kablu, zniknął. Właśnie to robi routowany tunel: odtwarza pakiety, a nie ramki Ethernet, które je dostarczyły. Czy brakujący znacznik ma znaczenie, zależy całkowicie od pytania, które zadajesz czujnikowi. Wykonaj cztery kontrole poniżej po kolei, a będziesz wiedzieć, który punkt obserwacji może na nie odpowiedzieć.

Najpierw: ustal, co odtwarza twój tunel

Interfejs TUN przenosi pakiety IP, więc nagłówek VLAN ramki oddziału zatrzymuje się na routerze, który wepchnął ruch do tunelu. Interfejs TAP przenosi ramki Ethernet, co oznacza, że znaczniki mogą przetrwać, gdy most i reguły dopuszczania VLAN je przepuszczą. Przeczytaj typ interfejsu, zanim zaczniesz rozważać, co powinien zawierać zrzut.

Żaden z wyborów nie jest defektem. Oba projekty odpowiadają na różne pytania i zostawiają znacznik w różnych miejscach.

Sprawdź interfejs sam, zamiast wnioskować go z nazwy produktu. Szczegóły połączenia podają typ urządzenia i pokazują obowiązujące flagi, a zrzut wykonany na urządzeniu TUN nie dostanie nagłówka Ethernet tylko dlatego, że o niego poprosiłeś. Jeśli w zrzucie TUN mimo to pojawią się znaczniki, prawie na pewno czytasz inny interfejs albo tunel, który przenosi ramki wewnątrz swojej ładowności. Zanotuj, który przypadek u ciebie zachodzi, zanim przejdziesz dalej.

Po drugie: umieść czujnik tam, gdzie obiekt jeszcze istnieje

Trzy pozycje pokrywają większość routowanych projektów: segment Ethernet oddziału, sieć zewnętrzna między końcami tunelu i ścieżka po przetworzeniu tunelu. Każda widzi inny obiekt, a znacznik istnieje tylko w pierwszej. Wybór pozycji czujnika to decyzja o tym, jakiego obiektu potrzebuje polityka, a nie kwestia wygody.

Observation pointWhat is actually thereQuestion it can answer
Branch Ethernet segmentTagged frames on the local wireWhich VLAN carried this frame here
Outer tunnel networkThe protected carrier between endpointsWhich endpoints are exchanging traffic
After tunnel processingRecovered IP packetsWhich branch prefix the packet claims

Zadaj pytanie polityki w takich słowach, na które tabela potrafi odpowiedzieć, a zwykle rozwiązuje się samo. Jeśli reguła musi wiedzieć, z którego oddziału przyszedł pakiet, mapowanie prefiksów niżej może wystarczyć, ale tylko dopóki to mapowanie jest dokładne i jednoznaczne. Jeśli reguła musi wiedzieć, na który port dotarła ramka, potrzebujesz pierwszej pozycji, bo nic niżej nie potrafi tego odtworzyć. Czujniki umieszczane z przyzwyczajenia, a nie z pytania, są powodem, dla którego zespoły w końcu żądają pola, którego projekt nigdy nie przenosił.

Tunel przenoszący Ethernet to inny projekt i wymaga własnej kontroli tego, co końce zachowują lub przepisują. Sam wybór TAP wciąż nie definiuje mostu, reguł dopuszczania VLAN ani polityki inspekcji.

Po trzecie: zasłuż na kontekst źródła, zamiast mu ufać

Jeden zakres adresów na oddział to zwykły zamiennik tożsamości VLAN i działa tylko dopóki mapowanie pozostaje jeden do jednego. Nakładające się prefiksy, tłumaczenie i wspólna brama każdy z osobna łamie to założenie w sposób, który wygląda jak problem jakości danych, a nie projektu. Zapisz mapowanie wraz z jego granicami i powiedz, co dzieje się z pakietem pasującym do dwóch wierszy. Prefiks występujący w dwóch oddziałach powinien być błędem, który wykrywasz, a nie rzutem monetą, który akceptujesz.

Kontekst podany przez klienta nie jest dowodem członkostwa. To twierdzenie, a jego miejsce jest w innej kolumnie.

Tam, gdzie różnica ma znaczenie, użyj danych powiązań, które kontrolujesz: która instancja tunelu przyjęła połączenie, na który interfejs przyszły pakiety, co lokalna tablica tras mówi o tym pecu. Etykieta podana przez klienta to użyteczna wskazówka i bezużyteczne wejście autoryzacji. Jeśli czujnik nie potrafi ustalić powiązania po swojej stronie, polityka potrzebuje szerszej reguły, a nie pewnej siebie zgadywanki.

Po czwarte: potwierdź ścieżkę odpowiedzi i to, co pomija odszyfrowanie

Czujnik widzący tylko jeden kierunek nadal może wyglądać zdrowo, bo żądania wciąż przychodzą zgodnie z planem. Sprawdź ścieżkę odpowiedzi wprost i sprawdź ją dla tego samego przepływu, a nie dla ogólnej osiągalności. Widoczność półdupleksowa staje się cichą luką w każdym wniosku opartym na stanie, który z niej wyciągasz.

Odtworzenie wewnętrznego ruchu IP też nie jest tym samym, co widzenie aplikacji w jego wnętrzu, bo TLS przenoszony przez tunel pozostaje TLS.

ip -d link show tun0
tcpdump -i tun0 -n -e -c 5

Te dwa polecenia odpowiadają na pytanie o interfejs i pokazują, co zrzut naprawdę zawiera, co jest szybsze niż spieranie się o architekturę. Zastąp nazwę interfejsu, której używa twój projekt, i uruchom zrzut, gdy przepływ, który cię interesuje, jest aktywny. Gdy na urządzeniu TUN nie pojawia się żaden znacznik, ustalenie brzmi: projekt routował, a nie mostkował, a nie że czujnik zgubił dane. Następnie albo przenieś czujnik na pozycję, która widzi znacznik, albo przepisz regułę w słowach, które obecna pozycja potrafi obsłużyć.

Powiązane artykuły