服务器配置路由

linux添加路由
ip route add del 10.10.0.0/24 via 10.10.66.254 dev ens3

要在系统中添加路由,你可以使用 ip routeroute 命令。以下是如何用这两种方法添加路由的示例:

使用 ip route 命令

 
   

sudo ip route add <网络>/<前缀长度> via <网关> dev <接口>
  • <网络>/<前缀长度>:目标网络及子网掩码。
  • <网关>:到达目标网络的网关。
  • <接口>:用于路由的网络接口。

示例:

 
   

sudo ip route add 192.168.1.0/24 via 192.168.0.1 dev eth0

使用 route 命令

 
   

bashCopy Code

sudo route add -net <网络> netmask <子网掩码> gw <网关> dev <接口>
  • <网络>:目标网络地址。
  • <子网掩码>:子网掩码。
  • <网关>:到达目标网络的网关。
  • <接口>:用于路由的网络接口。

示例:

 
   

sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0

验证路由

你可以使用以下命令验证路由是否成功添加:

 
   

ip route show

或者

 
   

route -n

根据你的需求选择适合的命令。

乌班图添加路由

在 Ubuntu 上添加路由可以通过以下几种方法进行:

1. 使用 ip route 命令

这是推荐的方式,因为 ip 命令是 net-tools 包中的传统 route 命令的现代替代品。

添加静态路由
sudo ip route add <网络>/<前缀长度> via <网关> dev <接口>
  • <网络>/<前缀长度>:目标网络及其子网掩码。例如 192.168.1.0/24
  • <网关>:用于到达目标网络的网关。例如 192.168.0.1
  • <接口>:用于路由的网络接口。例如 eth0

示例:
sudo ip route add 192.168.1.0/24 via 192.168.0.1 dev eth0

删除静态路由
sudo ip route del <网络>/<前缀长度> via <网关> dev <接口>
sudo ip route del 192.168.1.0/24 via 192.168.0.1 dev eth0

2. 使用 route 命令

route 命令是 net-tools 套件的一部分,虽然现在不如 ip 命令常用,但也仍然有效。

添加静态路由
sudo route add -net <网络> netmask <子网掩码> gw <网关> dev <接口>
  • <网络>:目标网络地址。例如 192.168.1.0
  • <子网掩码>:子网掩码。例如 255.255.255.0
  • <网关>:用于到达目标网络的网关。例如 192.168.0.1
  • <接口>:用于路由的网络接口。例如 eth0

示例:

sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0
删除静态路由
sudo route del -net <网络> netmask <子网掩码> gw <网关> dev <接口>

示例:

sudo route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0

3. 使路由永久生效

临时添加的路由在系统重启后会丢失。如果你希望路由在重启后仍然存在,需要将路由信息添加到网络配置文件中。

Ubuntu 20.04 及更高版本

/etc/netplan/ 目录下的配置文件中添加静态路由。通常是 .yaml 文件,例如 /etc/netplan/01-netcfg.yaml。在文件中添加 routes 部分。


 
translator

在Linux系统中,通过ip route add命令添加的路由规则通常不会永久保存,它们只会在当前会话中生效。当系统重新启动后,这些临时添加的路由规则会丢失。

要求在开关机之后仍然保留这条路由,需要将路由规则永久保存。在大多数Linux发行版中,可以使用以下方法之一来实现:

方法一:使用ip命令结合sysconfig配置文件

  1. 编辑配置文件:打开 /etc/sysconfig/network-scripts/route-ens3(具体文件名可能会因网络接口名称不同而有所变化)。

  2. 添加路由规则:在文件中添加以下内容(假设你要添加的路由是 10.10.0.0/24 via 10.10.66.254 dev ens3):

    10.10.0.0/24 via 10.10.66.254 dev ens3

  3. 保存文件:保存配置文件并关闭编辑器。

  4. 重启网络服务:执行以下命令重启网络服务,以应用更改:

    sudo systemctl restart network.service

  5. cd /etc/systemd/system/

    [root@MiWiFi-RD04-srv system]# cat ens3-restart.service 
     

    [Unit]
    Description=Restart network interface
    After=network.target

    [Service]
    Type=oneshot
    ExecStart=/sbin/ifup ens3
    ExecStop=/sbin/ifdown ens3
    RemainAfterExit=true

    [Install]
    WantedBy=multi-user.target

     

    systemctl enable ens3-restart.service

    systemctl start ens3-restart.service

    这个文件是一个 systemd 服务单元文件,用于在系统启动时重启网络接口 ens3。让我们逐行解释它的含义:
    
    Unit 部分:
    
    [Unit]
    Description=Restart network interface
    After=network.target
    Description=Restart network interface:描述了这个服务单元的作用,即重新启动网络接口。
    After=network.target:指定了该服务应该在 network.target 启动后才开始执行。这确保了在网络服务启动完成之后再进行接口的重启操作,避免可能的依赖问题。
    Service 部分:
    
    
    [Service]
    Type=oneshot
    ExecStart=/sbin/ifdown ens3 && /sbin/ifup ens3
    RemainAfterExit=true
    Type=oneshot:指定了这是一个一次性任务,即执行 ExecStart 中定义的命令后,服务即认为执行完毕。
    ExecStart=/sbin/ifdown ens3 && /sbin/ifup ens3:定义了服务启动时要执行的命令。首先执行 /sbin/ifdown ens3,意味着将 ens3 网络接口停止;接着执行 /sbin/ifup ens3,表示重新启动 ens3 网络接口。
    RemainAfterExit=true:指定了即使服务主进程退出后,仍将服务标记为活动状态。这是因为网络接口启动后不会保持运行一个持久的进程,所以需要手动设置为 true,以便 systemd 正确理解服务的运行状态。
    Install 部分:
    
    
    [Install]
    WantedBy=multi-user.target
    WantedBy=multi-user.target:指定了在哪个系统目标 (multi-user.target,通常是默认的多用户环境) 下会启用这个服务。这意味着当系统进入多用户模式时,这个服务将会被启动。
    总结:这个 systemd 服务单元文件的作用是定义了一个服务,用于在系统启动时自动重启 ens3 网络接口。它会在网络服务启动完成后执行,确保网络接口配置的正确性。

方法二:使用nmcli命令(对于使用NetworkManager的系统)

  1. 使用nmcli添加路由:执行以下命令添加路由:

    sudo nmcli con mod ens3 +ipv4.routes "10.10.0.0/24 10.10.66.254"
    

    这条命令会将路由添加到ens3网卡的配置中。

  2. 保存更改:执行以下命令以使更改生效:

    sudo nmcli con up ens3
    

方法三:使用route命令结合启动脚本

  1. 创建启动脚本:创建一个启动脚本,例如 /etc/network/if-up.d/add-route

     

    sudo nano /etc/network/if-up.d/add-route

  2. 添加路由:在脚本中添加以下内容:

    #!/bin/sh /sbin/ip route add 10.10.0.0/24 via 10.10.66.254 dev ens3

  3. sudo chmod +x /etc/network/if-up.d/add-route

这些方法中,每一种都可以确保在系统启动后,指定的路由规则会被加载并保留。选择其中一种适合你的操作系统和网络配置的方法即可。

Double-click
Select to translate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值