Вы меняете 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: когда настройка постоянно возвращается, перестаньте удалять результат и найдите процесс, который его постоянно создаёт.

Похожие статьи