centos8 配置路由

一、 配置临时路由(重启后路由失效)

  1. 先来看下路由表:

ip route,route -n,cat /proc/net/route均可查看路由表

[root@kvm1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

输出解释:

  • route -n: -n 不解析主机名,加快执行速度
  • Destination:目的网络或主机的IP地址。如果该字段是0.0.0.0,表示默认网关。
  • Gateway :数据包到达目的网络前所经过的下一跳路由器的IP地址
  • Genmask:网络掩码,用于确定IP地址中的网络部分和主机部分
    0.0.0.0:作为网络掩码表示默认路由,用于所有不匹配其他路由的目的地。
    255.255.255.255:作为网络掩码表示主机路由,用于精确匹配单个IP地址。
  • Flags:路由选项的标志,常见的标志有:
    U:路由处于活动状态(Up)
    G:使用网关(Gateway)
    H:目标是一个主机地址,而不是网络地址。
  • Metric:路由的度量值或成本,用于路由选择。数值越小,优先级越高。
  • Ref: 路由条目的引用计数,它表示当前路由条目被多少个网络连接或路由规则所引用
  • Use: 表示该路由条目被使用的次数。这是一个计数器,用于统计特定路由条目被网络层使用来转发数据包的次数。
  • Iface:数据包将通过的网络接口,例如eth0、wlan0等
  1. 配置路由
    a. 配置去往网关的默认路由
    格式:ip route add default via <网关IP>
    Metric 小的优先生效

    [root@route ~]# ip route add default via 192.168.0.2
    [root@route ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.2     0.0.0.0         UG    0      0        0 ens160
    0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
    192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    

    删除路由:
    格式: ip route del default

    b. 配置去往指定接口的默认路由
    格式:ip route add default via <网关IP> dev <接口名称>

    [root@route ~]# ip route add default via 192.168.0.2 dev ens160
    [root@route ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.2     0.0.0.0         UG    0      0        0 ens160
    0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
    192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    

    删除路由:
    格式: ip route delete default via <网关IP> dev <接口名称>

    # ip route delete default via 192.168.0.2 dev ens160
    

    c. 配置去往指定网段的路由
    格式:
    ip route add <目的网络> via <下一跳IP> dev <接口名称>
    或者
    ip route add <目的网络> via <下一跳IP>

    • <目的网络>是你想要到达的网络的IP地址和子网掩码,如192.168.2.0/24。
    • <下一跳IP>是数据包到达目的网络前所经过的下一个路由器的IP地址
    • <接口名称>是数据包将通过的本地网络接口,如eth0。(如果只有一个接口可以省略)
    [root@route ~]# ip route add 192.168.92.0/24  via 192.168.0.129
    [root@route ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
    192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
    192.168.92.0    192.168.0.129   255.255.255.0   UG    0      0        0 ens160
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    

    删除路由:
    格式:
    ip route delete <目的网络> via <下一跳IP> dev <接口名称>
    或者
    ip route delete <目的网络> via <下一跳IP>

    d. 配置去往指定主机的路由
    格式:
    ip route add <目标主机IP> via <下一跳IP> dev <接口名称>
    或者
    ip route add <目标主机IP> via <下一跳IP>

    [root@route ~]# ip route add 192.168.1.1 via 192.168.0.2
    [root@route ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
    192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
    192.168.1.1     192.168.0.2     255.255.255.255 UGH   0      0        0 ens160
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    

    删除路由:
    格式:
    ip route add <目标主机IP> via <下一跳IP> dev <接口名称>
    或者
    ip route add <目标主机IP> via <下一跳IP>

    # ip route delete 192.168.1.1 via 192.168.0.2
    

二、配置永久路由

a. 配置默认网关
Centos8 使用NetworkManager来管理网络,所以可以使用nmcli来添加永久默认路由
使用DHCP获取的网关作为默认地址是无法删除的!
格式:nmcli connection modify “<网络接口>” +ipv4.routes “0.0.0.0/0 <下一跳地址>”

使用 nmcli con show 查看网络连接名
使用 nmcli connection modify "OldName" con-name "NewName" 修改网络连接名(这种方式会保留源配置文件,生成新的文件)
使用nmcli con modify "OldName" connection.id "NewName" 修改网络连接名(这种方式会直接覆盖源文件按)

# nmcli connection modify "ens160" +ipv4.routes "0.0.0.0/0 192.168.0.129"
# nmcli con down ens160 && nmcli con up ens160

配置文件在 /etc/sysconfig/network-scripts 目录下,如下:
在这里插入图片描述
添加了一个route-ens160文件,ens160指定接口
在这里插入图片描述

[root@route ~]# route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
default         192.168.0.129   0.0.0.0         UG    100    0        0 ens160
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

使用nmcli 指定接口添加DNS服务器:# nmcli con mod "ens160" ipv4.dns "8.8.8.8 8.8.4.4"
使用nmcli 指定接口删除DNS服务器:# nmcli con mod ens160 -ipv4.dns "8.8.8.8 8.8.4.4"
以上都需要重启网络接口才能生效:# nmcli con down ens160 && nmcli con up ens160

删除默认路由:
DHCP分配的无法删除!
格式:nmcli connection modify “<网络接口>” -ipv4.routes “0.0.0.0/0 <下一跳地址>”

# nmcli connection modify "ens160" -ipv4.routes "0.0.0.0/0 192.168.0.129"
# nmcli con down ens160 && nmcli con up ens160

b. 添加去往指定网段的路由
格式:nmcli con mod “<网络接口>” +ipv4.routes “目标网段/掩码位 <下一跳地址>”

# nmcli con mod "ens160" +ipv4.routes "192.168.2.0/24 192.168.0.129"
# nmcli con down ens160 && nmcli con up ens160
[root@route ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.2.0     192.168.0.129   255.255.255.0   UG    100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

查看配置文件: ens160 指定接口名称,不能乱写
在这里插入图片描述

删除指定网段路由:
格式:nmcli con mod “<网络接口>” -ipv4.routes “目标网段/掩码位 <下一跳地址>”

[root@route ~]# nmcli con mod "ens160" -ipv4.routes "192.168.2.0/24 192.168.0.129"
[root@route ~]# nmcli con down ens160 && nmcli con up ens160
Connection 'ens160' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
[root@route ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

c. 添加去往主机的路由
格式:nmcli connection modify <网络接口> +ipv4.routes “<目标主机>/32 <下一跳地址>”

[root@route ~]# nmcli connection modify "ens160" +ipv4.routes "192.168.92.100/32 192.168.0.129"
[root@route ~]# nmcli con down ens160 && nmcli con up ens160
Connection 'ens160' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
[root@route ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.92.100  192.168.0.129   255.255.255.255 UGH   100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

查看一下配置文件
在这里插入图片描述

删除指定主机路由:
格式: nmcli connection modify <网络接口> -ipv4.routes “<目标主机>/32 <下一跳地址>”

[root@route ~]# nmcli connection modify "ens160" -ipv4.routes "192.168.92.100/32 192.168.0.129"
[root@route ~]# nmcli con down ens160 && nmcli con up ens160
Connection 'ens160' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)
[root@route ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

三、扩展

  1. 在添加路由时,指定Metric 值

    Metric 值越小优先级越高

    a. 临时添加
    使用ip命令:
    格式: ip route add <route> via <下一跳地址> metric <metric_value>

    [root@route ~]# ip route add 192.168.2.0/24 via 192.168.0.129 metric 10
    [root@route ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
    192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
    192.168.2.0     192.168.0.129   255.255.255.0   UG    10     0        0 ens160
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    

    删除:
    格式: ip route delete <route> via <gateway> metric <metric_value>

    # ip route delete  192.168.2.0/24 via 192.168.0.129 metric 10
    

    b. 永久添加
    使用nmcli命令:
    格式: nmcli connection modify <网络接口> +ipv4.routes "<route> <下一跳地址> metric "

    # nmcli connection modify ens160 +ipv4.routes "192.168.2.0/24 192.168.0.129 10" 
    # nmcli con down ens160 && nmcli con up ens160
    [root@kvm1 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.2     0.0.0.0         UG    100    0        0 ens160
    192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
    192.168.2.0     192.168.0.129   255.255.255.0   UG    10     0        0 ens160
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    

    删除:
    格式: nmcli connection modify <网络接口> -ipv4.routes "<route> <下一跳地址> metric "

    # nmcli connection modify ens160 -ipv4.routes "192.168.2.0/24 192.168.0.129 10"
    # nmcli con down ens160 && nmcli con up ens160
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值