要在 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
。