Хост 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 дакументуе селектары супадзення і сінтаксіс табліц.

Падобныя артыкулы