创建一个服务器启动自动执行的脚本,设置默认路由

发布于:2025-03-27 ⋅ 阅读:(31) ⋅ 点赞:(0)

​要在 Ubuntu 22.04 中使用 rc.local 文件在系统启动时自动添加默认路由 192.168.150.1,请按照以下步骤操作:​

  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

    请将 <您的网络接口名称> 替换为实际的网络接口名称,例如 eth0ens33。您可以使用以下命令查看系统中的网络接口名称:

     

    ip link show

    请注意,使用 /sbin/ip 而不是 ip,因为在启动过程中,环境变量可能尚未完全加载,指定完整路径可以确保命令被正确执行。

  2. 赋予执行权限

    确保 /etc/rc.local 文件具有可执行权限:

     

    sudo chmod +x /etc/rc.local

  3. 创建 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 在网络服务启动后执行。

  4. 启动并启用服务

    重新加载 systemd 配置,启动并设置 rc-local 服务为开机自启:

     
    sudo systemctl daemon-reload
    sudo systemctl start rc-local
    sudo systemctl enable rc-local
    

  5. 验证服务状态

    检查 rc-local 服务的状态,确保其正常运行:

     

    sudo systemctl status rc-local

    如果服务状态显示为“active (running)”,则表示配置成功。

通过上述步骤,您可以在 Ubuntu 22.04 中使用 rc.local 文件在系统启动时自动添加默认路由 192.168.150.1


网站公告

今日签到

点亮在社区的每一天
去签到