Система удаляет пользовательские маршруты после приостановки и возобновления.

Когда я добавляю маршрут

ip route add 1.2.3.4 via 5.6.7.8

Он удаляется после приостановки и возобновления. Это раздражает, потому что, например, он удаляет маршруты хостов из openvpn, что впоследствии делает vpn-соединение непригодным для использования.

Я подтвердил ошибку в Debian и Ubuntu, и в Debian я подтвердил, что это не происходит с sysvinit.

Что мне нужно настроить, чтобы systemd вообще не касался таблицы маршрутизации?
У меня есть несколько сценариев, которые выполняют небольшую настройку сети и хотели бы, чтобы никакая другая часть системы не изменяла конфигурацию.

1 ответ1

1

Добро пожаловать в чудеса systemd. Насколько я знаю, вы не можете заставить systemd игнорировать маршрутизацию. Насколько я знаю, он делает это явно (т.е. функция, а не ошибка). Тем не менее, вы можете запускать сценарии во время сна / возобновления. Смотрите man systemd-suspend.service подробностей.

По сути, вы помещаете скрипт в /usr/lib/systemd/system-sleep/ , который выполняет следующее:

#!/bin/bash
if [ "$1" = "post" ] ; then
    ip route add 1.2.3.4 via 5.6.7.8
    # or call the script that already creates the routing table
fi

Примечание: каталог может быть /lib/systemd/system-sleep/ (без /usr)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .