Во-первых, эта проблема становится проблемой только на CentOS8, тогда как на CentOS7 она работает хорошо. Это версия:
# кот /etc/redhat-релиз
Выпуск CentOS Linux 8.3.2011
Я попытался сделать службу для выполнения команд bash для изменения маршрута.
Вот исполняемый файл bash /root/route_degrade.sh
:
#!/бин/баш
# обеспечить роль маршрутизатора
эхо "1" > /proc/sys/net/ipv4/ip_forward
systemctl запустить firewalld
брандмауэр-cmd --добавить-маскарад
#firewall-cmd --add-port=1194/udp
брандмауэр-cmd --add-service=openvpn
# ухудшить исходный маршрутизатор по умолчанию до маршрутизатора только для локальной сети
cloudroute=$(ip route | grep default | cut -d " " -f 3)
если [[ $cloudroute == 10.* ]]; тогда
ip route добавить 10.0.0.0/8 через $cloudroute
ip маршрут по умолчанию
фи
выход 0
Этот исполняемый файл абсолютно в порядке, так как я выполнил его один в корневом каталоге с помощью ./route_degrade.sh
.
а вот autoinit.service
в /usr/lib/systemd/система
:
[Ед. изм]
Description=изменяет маршрут по умолчанию на маршрут в облаке навсегда
После=firewalld.service
#Before=openvpn@Client_d.service
[Оказание услуг]
Тип=уведомить
ExecStart=/root/route_degrade.sh
PrivateTmp=истина
[Установить]
WantedBy=многопользовательская.цель
Но он продолжает давать сбой, даже после того, как я перезагружаю служебные файлы с помощью systemctl демон-перезагрузка
и перезапустите его, вот статус системад
:
autoinit.service — изменяет маршрут по умолчанию на маршрут в облаке навсегда
Загружено: загружено (/usr/lib/systemd/system/autoinit.service; отключено; настройка поставщика: отключена)
Активно: не удалось (Результат: протокол) с субботы 2022-03-26 17:03:18 CST; 17 сек. назад
Процесс: 6924 ExecStart=/root/route_degrade.sh (код=выход, статус=0/УСПЕХ)
Основной PID: 6924 (код=выход, статус=0/УСПЕХ)
26 марта 17:03:17 10-13-107-213 systemd[1]: Начальные изменения Маршрут по умолчанию на Маршрут в облаке Постоянно...
26 марта 17:03:17 10-13-107-213 route_degrade.sh[6924]: Предупреждение: ALREADY_ENABLED: маскарад уже включен в «общедоступном»
26 марта 17:03:17 10-13-107-213 route_degrade.sh[6924]: успех
26 марта 17:03:18 10-13-107-213 route_degrade.sh[6924]: Предупреждение: ALREADY_ENABLED: «openvpn» уже в «общедоступном»
26 марта 17:03:18 10-13-107-213 route_degrade.sh[6924]: успех
26 марта 17:03:18 10-13-107-213 systemd[1]: autoinit.service: Ошибка с результатом «протокол».
26 марта, 17:03:18 10-13-107-213 systemd[1]: не удалось запустить. Изменяет маршрут по умолчанию на Маршрут в облаке навсегда.
Я не знаю, где не так, очевидно, он выполнил скрипт bash и брандмауэр-cmd
команды выбросил успех
и фиксирует код выхода 0. Так что же Ошибка с результатом "протокол"
иметь в виду?