Host VPN odpowiada na jednym interfejsie i odmawia wysyłania odpowiedzi z powrotem przez tunel, a trasa domyślna wygląda poprawnie. W tym miejscu tabela główna przestaje być całą historią. Linux może wybrać tabelę routingu dla każdego pakietu za pomocą reguł polityki, a VPN mógł jedną zainstalować. Przeczytaj reguły, zanim dotkniesz trasy domyślnej.

Kolejność ma znaczenie: najpierw reguły, potem tabela wybierana przez każdą regułę.

Czytaj reguły w kolejności priorytetów

Uruchom ip rule show i czytaj od góry do dołu. Numer priorytetu steruje kolejnością oceny, a niższy numer jest sprawdzany wcześniej. Domyślna reguła przy 32766 jest zwykle ostatnią, która ma znaczenie. Jeśli lista jest długa, zapisz ją do pliku, zanim cokolwiek zmienisz.

Dla każdej reguły zapisz priorytet, dopasowanie (źródło, znacznik, interfejs lub miejsce docelowe) i tabelę, do której prowadzi. Reguła bez użytecznej tabeli to ślepy zaułek, nie trasa.

Zrób to samo dla IPv6 za pomocą ip -6 rule show. Polityka istniejąca tylko w rodzinie IPv4 pozostawia drugą rodzinę w tabeli głównej.

Czytaj tabelę wybieraną przez każdą regułę

Użyj ip route show table <name or number> dla każdej wskazanej tabeli. Porównaj jej trasy z interfejsem i następnym przeskokiem, którego oczekujesz. Pusta lub niepełna tabela wyjaśnia awarię, której tabela główna wyjaśnić nie potrafi.

Tabela główna może nadal zawierać trasę domyślną i to jest w porządku. Jeśli reguła najpierw wysyła twój przepływ do tabeli 51820, główna trasa domyślna jest dla tego pakietu nieistotna.

Sprawdź nazwę tabeli w /etc/iproute2/rt_tables, jeśli numer jest nieznany. To sprawdzenie zajmuje sekundę i zapobiega długiemu objazdowi.

Ustal, kto zainstalował regułę

NetworkManager, wg-quick i inne skrypty mogą instalować reguły dynamicznie. Usunięcie jednej w czasie działania może zostać cofnięte przy następnym połączeniu. Sprawdź konfigurację menedżera, zanim dodasz konkurencyjną regułę.

Na przykład wg-quick dodaje oznaczoną regułę i tabelę dla dozwolonych adresów tunelu. Ta reguła jest powodem, dla którego ruch do tych adresów omija główną trasę domyślną. Jeśli usuniesz ją bez zmiany konfiguracji, następne up ją przywróci.

Zachowaj zewnętrzną trasę punktu końcowego i dostęp administracyjny podczas przeglądu. Nie czyść wszystkich reguł na działającej zdalnej bramie, żeby uprościć wynik. Sesja administracyjna, która przetrwa zmianę, jest częścią testu.

Testuj kontekst źródła, który ma znaczenie

Ogólny ip route get odpowiada na inne pytanie niż przepływ aplikacji. Dodaj adres źródłowy i znacznik, jeśli VPN go używa, aby zobaczyć ścieżkę, którą podąża prawdziwy pakiet. Przetestuj cel uwzględniony i wykluczony w tym samym kontekście źródła. Następnie powtórz dla IPv6, jeśli host działa w podwójnym stosie.

Po zatwierdzonej korekcie uruchom ponownie te same dwa sprawdzenia i porównaj. Zapisz zamierzoną regułę, tabelę i to, jak długo reguła przetrwa restart. Ten zapis sprawia, że następny restart usługi jest wyjaśnialny, a nie tajemniczy. strona podręcznika ip-rule dokumentuje selektory dopasowania i składnię tabel.

Powiązane artykuły