linux 路由管理
本文最后更新于 2024-08-31,文章内容可能已经过时。
在前面的课程中我们知道使用route命令可以添加主机的路由信息,但是一旦系统重启相关的设置信息就会丢失,那么如何设置一个重启也不会丢失的路由信息呢?
[root@zutuanxue ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.98.200 netmask 255.255.255.0 broadcast 192.168.98.255
inet6 fe80::2386:3dbd:531c:7bc1 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:a6:ad:95 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 37 bytes 4386 (4.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.123.123 netmask 255.255.255.0 broadcast 192.168.123.255
inet6 fe80::a848:f674:db3b:a83e prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:a6:ad:9f txqueuelen 1000 (Ethernet)
RX packets 5 bytes 1758 (1.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 38 bytes 4390 (4.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#我现在有两块网卡,这两块网卡的ip地址分别是192.168.98.200和192.168.123.123,假如发送到192.168.1.0/24这个网段的数据包需要通过200这块网卡发送出去,而发送到192.168.100.0/24这个网段的数据包需要通过123这块网卡发送出去,我该如何设置呢?使用命令的话我们可以
[root@zutuanxue ~]# route add -net 192.168.1.0/24 gateway 192.168.98.1 dev ens33
[root@zutuanxue ~]# route add -net 192.168.100.0/24 gateway 192.168.123.1 dev ens37
[root@zutuanxue ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 192.168.98.1 255.255.255.0 UG 0 0 0 ens33
192.168.98.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.100.0 192.168.123.1 255.255.255.0 UG 0 0 0 ens37
192.168.123.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37
#这种方式只是临时的,我们来看一下该如何永久添加
[root@zutuanxue ~]# route del -net 192.168.100.0/24 gateway 192.168.123.1 dev ens37
[root@zutuanxue ~]# route del -net 192.168.1.0/24 gateway 192.168.98.1 dev ens33
[root@zutuanxue ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.98.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.123.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37
[root@zutuanxue ~]# vim /etc/sysconfig/network-scripts/route-ens33
192.168.1.0/24 via 192.168.98.1 dev ens33
[root@zutuanxue ~]# vim /etc/sysconfig/network-scripts/route-ens37
192.168.100.0/24 via 192.168.123.1 dev ens37
[root@zutuanxue ~]# systemctl restart NetworkManager
[root@zutuanxue ~]# nmcli connection down ens33 ens37
成功停用连接 "ens33"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/1)
成功停用连接 "ens37"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
[root@zutuanxue ~]# nmcli connection up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@zutuanxue ~]# nmcli connection up ens37
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@zutuanxue network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 192.168.98.1 255.255.255.0 UG 100 0 0 ens33
192.168.98.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.100.0 192.168.123.1 255.255.255.0 UG 101 0 0 ens37
192.168.123.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 日趣志
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果