VPN хост отговаря на един интерфейс и отказва да върне отговорите през тунела, а маршрутът по подразбиране изглежда правилен. Тук основната таблица престава да бъде цялата картина. Linux може да избира таблица за маршрутизация за всеки пакет чрез правила за политика и VPN може да е инсталирал такова. Прочетете правилата, преди да пипате маршрута по подразбиране.

Редът има значение: първо правилата, после таблицата, която всяко правило избира.

Прочетете правилата по ред на приоритет

Изпълнете ip rule show и четете отгоре надолу. Номерът на приоритета определя реда на оценяване и по-малък номер се проверява по-рано. Правилото по подразбиране на 32766 обикновено е последното, което има значение. Ако списъкът е дълъг, запазете го във файл, преди да промените нещо.

За всяко правило запишете приоритета, съвпадението (източник, маркировка, интерфейс или дестинация) и таблицата, към която сочи. Правило без използваема таблица е задънена улица, а не маршрут.

Направете същото за IPv6 с ip -6 rule show. Политика, която съществува само в семейството IPv4, оставя другото семейство в основната таблица.

Прочетете таблицата, която избира всяко правило

Използвайте ip route show table <name or number> за всяка посочена таблица. Сравнете маршрутите ѝ с интерфейса и следващия хоп, които очаквате. Празна или непълна таблица обяснява отказ, който основната таблица не може.

Основната таблица може все още да държи маршрута по подразбиране и това е нормално. Ако правило изпрати потока ви първо към таблица 51820, основният маршрут по подразбиране е без значение за този пакет.

Потърсете името на таблицата в /etc/iproute2/rt_tables, ако номерът е непознат. Това търсене отнема секунда и предотвратява дълъг обходен път.

Открийте кой е инсталирал правилото

NetworkManager, wg-quick и други скриптове могат да инсталират правила динамично. Изтриването на правило по време на работа може да бъде отменено при следващото свързване. Проверете конфигурацията на мениджъра, преди да добавите конкурентно правило.

Например wg-quick добавя маркирано правило и таблица за разрешените адреси на тунела. Именно това правило кара трафика към тези адреси да заобикаля основния маршрут по подразбиране. Ако го премахнете, без да промените конфигурацията, следващото вдигане ще го възстанови.

Запазете външния маршрут на крайната точка и административния достъп, докато преглеждате. Не изчиствайте всички правила на жива отдалечена шлюзова точка, за да опростите изхода. Административна сесия, която оцелява промяната, е част от теста.

Тествайте контекста на източника, който има значение

Общият ip route get отговаря на различен въпрос от потока на приложението. Добавете адреса на източника и маркировката, ако VPN използва такава, за да видите пътя на реалния пакет. Тествайте включена и изключена дестинация с еднакъв контекст на източника. След това повторете за IPv6, ако хостът работи с двоен стек.

След одобрена корекция изпълнете отново същите две проверки и сравнете. Пазете запис за предвиденото правило, таблицата и колко дълго правилото оцелява след рестарт. Този запис прави следващия рестарт на услугата обясним, а не загадъчен. Страницата на ръководството за ip-rule документира селекторите за съвпадение и синтаксиса на таблиците.

Подобни статии