创建一个服务器启动自动执行的脚本,设置默认路由
要在 Ubuntu 22.04 中使用 rc.local 文件在系统启动时自动添加默认路由 192.168.150.1,请按照以下步骤操作:
-
创建或编辑
/etc/rc.local文件:如果
/etc/rc.local文件不存在,您可以使用以下命令创建并打开它:sudo nano /etc/rc.local在文件中添加以下内容:
#!/bin/bash # 添加默认路由 /sbin/ip route add default via 192.168.150.1 dev <您的网络接口名称> exit 0请将
<您的网络接口名称>替换为实际的网络接口名称,例如eth0或ens33。您可以使用以下命令查看系统中的网络接口名称:ip link show请注意,使用
/sbin/ip而不是ip,因为在启动过程中,环境变量可能尚未完全加载,指定完整路径可以确保命令被正确执行。 -
赋予执行权限:
确保
/etc/rc.local文件具有可执行权限:sudo chmod +x /etc/rc.local -
创建
rc-local.service服务文件:由于 Ubuntu 22.04 使用
systemd,需要创建一个服务文件来确保rc.local在启动时被调用。创建并编辑/etc/systemd/system/rc-local.service文件:sudo nano /etc/systemd/system/rc-local.service在文件中添加以下内容:
[Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target请注意,添加
After=network.target确保rc.local在网络服务启动后执行。 -
启动并启用服务:
重新加载
systemd配置,启动并设置rc-local服务为开机自启:sudo systemctl daemon-reload sudo systemctl start rc-local sudo systemctl enable rc-local -
验证服务状态:
检查
rc-local服务的状态,确保其正常运行:sudo systemctl status rc-local如果服务状态显示为“active (running)”,则表示配置成功。
通过上述步骤,您可以在 Ubuntu 22.04 中使用 rc.local 文件在系统启动时自动添加默认路由 192.168.150.1。
