Вы змяняеце AllowedIPs у файле WireGuard, перазапускаеце тунель, і табліца маршрутызацыі выглядае гэтак жа, як раней. Звычайная рэакцыя — выдаліць непажаданы маршрут і пайсці далей; гэта працуе, пакуль наступнае перападключэнне не верне яго. Файл, які вы правілі, не абавязкова той аб’ект, што стварыў стан, які вы бачыце. Дзве праграмы кіравання могуць запускаць адзін пратакол на адной машыне, і толькі адна з іх валодае інтэрфейсам у кожны момант.

Міф: на машыне ёсць адна канфігурацыя WireGuard

wg-quick чытае файл у /etc/wireguard/ і будуе інтэрфейс, калі вы яго ўздымаеце. NetworkManager захоўвае профіль злучэння ў сваім фармаце keyfile і прадстаўляе яго пры актывацыі, а імпарт файла wg-quick капіруе значэнні ў гэты профіль, а не спасылаецца на яго. Правіць арыгінал пасля гэтага бессэнсоўна, бо профіль больш яго не чытае. Такім чынам, адзін і той жа спіс партнёраў і ключоў можа існаваць двойчы, і дзейнічае другая копія.

Вартая ўвагі прыкмета: змены, якія перажываюць перазагрузку, але не паўторны імпарт, прыйшлі з аднаго сховішча, а змены, што знікаюць пры перазагрузцы, — з іншага.

Адзін практычны прыклад робіць падзел відавочным. Параўнайце nmcli connection show з systemctl status wg-quick@wg0, затым праверце, да якога інтэрфейса насамрэч прывязаныя маршруты. Калі служба мёртвая, а інтэрфейс узняты, працу выконвае профіль, што б ні казаў файл.

Міф: правілы маршрутызацыі — частка WireGuard

Прылада WireGuard у ядры ведае партнёраў і ключы, а пра палітычную маршрутызацыю не ведае нічога. Якія б ip rule запісы і дадатковыя табліцы вы ні бачылі, іх усталяваў інструмент, што ўзняў інтэрфейс. wg-quick можа дадаць fwmark і асобную табліцу з правіламі, якія на яе спасылаюцца, тады як NetworkManager усталёўвае маршруты праз свае налады ipv4 і пакідае DNS таму рэзалверу, які выкарыстоўвае сістэма. Той жа тунель, розныя пабочныя эфекты.

Прачытайце ip rule і ip route show table all перад любымі зменамі і адзначце, у якой табліцы жыве кожны маршрут. Нумар табліцы, які вы не наладжвалі, — моцная падказка пра інструмент, што яе стварыў.

Міф: выдаленне маршруту — гэта выпраўленне

Маршрут, выдалены падчас працы, — гэта маршрут, які ўладальнік верне пры наступнай актывацыі, а актывацыя можа адбыцца без вас: прабуджэнне ноўтбука, збой канала, перазапуск службы ці аўтападключэнне NetworkManager. Вось чаму той жа маршрут вяртаецца і чаму абыход выглядае ненадзейным, а не няправільным. Спачатку вызначце праграму кіравання, потым змяніце ўваход, які яна насамрэч чытае.

Перападключэнне і перазапуск адпаведнай службы — гэта тэст, які адрознівае сапраўднае выпраўленне ад акуратнага на выгляд.

Выберыце аднаго ўладальніка і прыбярыце другога

Выберыце праграму, якую падтрымлівае ваша разгортванне, затым адключыце канкуруючую актывацыю праз яе дакументаваны сродак, а не спадзявайцеся, што яна проста прастаіць. Замаскіраваная служба wg-quick ці выдалены профіль NetworkManager — гэта яўна; пакінуць абодва ўключанымі і дапусціць іх гонку — не. Захавайце працоўны доступ, перш чым нешта адключаць, бо інтэрфейс, які трымае вашу аддаленую сесію, можа быць тым, які вы збіраецеся прыбраць.

Пасля змены праверце ўключаны і выключаны трафік, затым DNS, затым адзін раз перазагрузіцеся. Калі стан перажывае перазагрузку з адной праграмай кіравання, у вас ёсць уладальнік, а не выпадковасць.

Агульнае правіла варта трымаць у галаве і па-за WireGuard: калі налада вяртаецца зноў і зноў, спыніце выдаляць вынік і знайдзіце працэс, які яго пастаянна стварае.

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