使用 route 命令可以添加主机的路由信息,但是一旦系统重启相关的设置信息就会丢失,那么如何设置一个重启也不会丢失的路由信息呢?
查看网卡连接信息
            
            
              bash
              
              
            
          
          [root@long90 ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.8  netmask 255.255.255.0  broadcast 192.168.8.255
        inet6 fe80::20c:29ff:feb7:1176  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b7:11:76  txqueuelen 1000  (Ethernet)
        RX packets 6060  bytes 959192 (936.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4625  bytes 696550 (680.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.88  netmask 255.255.255.0  broadcast 192.168.8.255
        ether 00:0c:29:b7:11:80  txqueuelen 1000  (Ethernet)
        RX packets 12751  bytes 14852736 (14.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6238  bytes 419927 (410.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        现在有两块网卡,这两块网卡的 ip 地址分别是 192.168.8.8 和 192.168.8.88 ,假如发送到 192.168.1.0/24 这个网段的数据包需要通过 ens160(192.168.8.8) 这块网卡发送出去,而发送到 192.168.100.0/24(192.168.8.88) 这个网段的数据包需要通过 ens224 这块网卡发送出去,我该如何设置呢?
一、临时添加路由信息
            
            
              bash
              
              
            
          
          [root@long90 ~]# route add -net 192.168.1.0/24 gateway 192.168.8.8 dev ens160
[root@long90 ~]# route add -net 192.168.100.0/24 gateway 192.168.8.88 dev ens224
[root@long90 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.8.2     0.0.0.0         UG    0      0        0 ens224
0.0.0.0         192.168.8.2     0.0.0.0         UG    100    0        0 ens160
192.168.1.0     192.168.8.8     255.255.255.0   UG    0      0        0 ens160
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 ens224
192.168.8.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.100.0   192.168.8.88    255.255.255.0   UG    0      0        0 ens224
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
        二、永久添加路由信息
            
            
              bash
              
              
            
          
          [root@long90 ~]# nmcli connection show
NAME       UUID                                  TYPE      DEVICE
ens160     91515114-d92d-45bd-95a2-11dd300d8073  ethernet  ens160
ens-test1  f9e39cae-fb5d-43b7-851b-417bd114d5e2  ethernet  ens224
virbr0     5ed026aa-6049-45f9-90ce-1514be0d2848  bridge    virbr0
ens-test0  5d5f6a2b-de16-41ce-8745-80f21d2b5cd4  ethernet  --   
 
[root@long90 ~]# vim /etc/sysconfig/network-scripts/route-ens160
192.168.1.0/24 via 192.168.8.8 dev ens160
[root@long90 ~]# vim /etc/sysconfig/network-scripts/route-ens-test1
192.168.100.0/24 via 192.168.8.88 dev ens224
[root@long90 ~]# systemctl restart NetworkManager
[root@long90 ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/13)
[root@long90 ~]# nmcli connection up ens224
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/14)
[root@long90 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.8.2     0.0.0.0         UG    100    0        0 ens160
0.0.0.0         192.168.8.2     0.0.0.0         UG    101    0        0 ens224
192.168.1.0     192.168.8.8     255.255.255.0   UG    100    0        0 ens160
192.168.8.0     0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.8.0     0.0.0.0         255.255.255.0   U     101    0        0 ens224
192.168.100.0   192.168.8.88    255.255.255.0   UG    101    0        0 ens224
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
        # 路由经由信息
            
            
              bash
              
              
            
          
          [root@long90 ~]# ip ro sh
default via 192.168.8.2 dev ens160 proto static metric 100
default via 192.168.8.2 dev ens224 proto static metric 101
192.168.1.0/24 via 192.168.8.8 dev ens160 proto static metric 100
192.168.8.0/24 dev ens160 proto kernel scope link src 192.168.8.8 metric 100
192.168.8.0/24 dev ens224 proto kernel scope link src 192.168.8.88 metric 101
192.168.100.0/24 via 192.168.8.88 dev ens224 proto static metric 101
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown