Вопрос или проблема
Для моего туннеля я добавил следующий маршрут и правило:
ip rule add from 127.0.0.1/8 iif lo table 123
ip route add local 0.0.0.0/0 dev lo table 123
Он работает нормально в течение нескольких недель, а затем вдруг исчезает без перезагрузки, хотя я сохранил его в /etc/network/if-up.d/localroute
. Мне нужно добавить его в другое место, например, в netplan?
- Debian 12
- OVH VPS
- /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}
Ответ или решение
Проблема потери маршрутов на OVH VPS является достаточно распространённым вопросом среди администраторов и пользователей, которые работают с сетевыми настройками на серверах. В вашем случае вы добавляете маршруты и правила через ip rule
и ip route
, но они исчезают через некоторое время без перезагрузки системы, несмотря на попытки сделать их постоянными с помощью скрипта в /etc/network/if-up.d/localroute
.
Причины проблемы
-
Динамическое управление сетями: На системах, использующих Cloud-инициативы, такие как OVH VPS, может быть задействовано динамическое управление сетями. При этом OVH может перезаписывать ваши настройки при изменении состояния сети или перезагрузке сетевых интерфейсов.
-
Необходимая совместимость: Ваше использование файла
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
указывает на необходимость отключения сетевой конфигурации Cloud-init. Однако даже при этом могут возникать конфликты, если другие настройки сети всё еще пытаются управлять сетями.
Рекомендации по решению данной проблемы
-
Проверка конфигурации Cloud-init: Убедитесь, что никакие другие параметры или файлы конфигурации не переопределяют ваши настройки. Вы можете проверить существующие конфигурации Cloud-init, чтобы исключить подобные конфликты.
-
Использование Netplan: Если ваша система работает на Debian 12 и использует Netplan, вы можете добавить ваши маршруты непосредственно в конфигурацию Netplan. Найдите файл конфигурации в директории
/etc/netplan/
и добавьте туда нужные настройки.Например, если у вас есть файл, например,
01-netcfg.yaml
, вы можете добавить следующие строки:network: version: 2 renderer: networkd ethernets: eth0: dhcp4: true routes: - to: 0.0.0.0/0 via: 127.0.0.1 table: 123 scope: link
После внесения изменений примените конфигурацию с помощью команды:
sudo netplan apply
-
Автоматизация добавления маршрутов: Вы можете использовать
systemd
для создания сервиса, который будет регулярно проверять наличие ваших маршрутов и восстанавливать их в случае потери. Для этого создайте файл, например,/etc/systemd/system/restart-routes.service
со следующим содержимым:[Unit] Description=Restore custom routes [Service] Type=oneshot ExecStart=/bin/bash -c 'ip rule add from 127.0.0.1/8 iif lo table 123; ip route add local 0.0.0.0/0 dev lo table 123' [Install] WantedBy=multi-user.target
Затем активируйте его и добавьте в автозагрузку:
sudo systemctl enable restart-routes.service
Заключение
Проблема исчезновения маршрутов на OVH VPS требует комплексного подхода к решению. Вам необходимо убедиться, что ваша конфигурация сети не конфликтует с другими системами управления, такими как Cloud-init или Netplan. Рассмотрите возможность добавления ваших маршрутов через Netplan или используйте systemd
для автоматизации и надежной работы маршрутов. Таким образом, вы сможете избежать потери настроек и гарантировать стабильную работу вашего трафика.