1. 方案介绍
利用 systemctl 在系统开机时,自动运行指定脚本,完成添加软路由
任务。
2. 准备文件
总共需要准备两个文件,分别为 add_routes.service、add_routes.sh。
2.1. add_routes.service
仅作为参考
[Unit]
Description=Add Routes
After=network.target
[Service]
Type=simple
User=root
ExecStart=/bin/bash /your_path/add_routes.sh
[Install]
WantedBy=multi-user.target
2.2. add_routes.sh
仅作为参考
# 下面的网段仅是简单的示例,以你自己的为准
route add -net 192.168.2.0/24 gw 192.168.1.1
route add -net 192.168.3.0/24 gw 192.168.1.1
3. 创建开机自启项
接下来,切换到 root 用户,此时再创建 service 则可以以 root 用户进行创建,程序可直接获得 root 权限。
sudo cp add_routes.service /etc/systemd/system/
sudo systemctl enable add_routes.service # 设置开机自启
4. 检测程序能否正确执行
接下来检测程序运行有无错误
sudo systemctl start add_routes
sudo systemctl status add_routes
注意:当 add_routes.service 文件已经存在于 /etc/systemd/system/ 中时,对 add_routes.service 进行修改之后,应该利用下面的命令重新加载配置文件,然后重新启动相关服务。
# 重新加载配置文件
sudo systemctl daemon-reload
# 重启相关服务
sudo systemctl restart foobar
参考链接: Systemd 入门教程:实战篇