如果某suse系统有三块网卡,网卡ip如下:
eth0:192.168.11.100
eth1:192.168.12.100
eth2:192.168.13.100
下面以eth0网卡为例:
为这三块网卡添加默认路由:从eth0出去,命令:route add default 192.168.11.1 dev eth0
为eth0网卡添加网络路由:命令:route add -net 192.168.11.0 netmask 255.255.255.0 gateway 192.168.11.1 dev eth0
为eth0网卡添加主机路由(从eth0的ip发出的数据报走的路由),命令:route add -host 192.168.11.100 gateway 192.168.11.1 dev eth0
如果给剩下的eth1和eth2网卡均配置了网络路由和主机路由,同时ping这三块网卡,我们发现只能ping通eth0.如果将默认路由改为从eth1出去,又只能ping通eth1了,这是因为从外面发进来的数据包出去的时候会选择默认路由,ping eth2的包因为出去的时候走的是默认路由eth1.这和windows下配置路由不同,windows下按照上面的方法配置了路由后三个网卡均可ping通。
suse下如果要ping通三块网卡,需要给每块网卡添加策略路由,为eth0添加策略路由的命令如下:
ip rule add from 192.168.11.100 tab 10
ip route add 192.168.11.0/24 dev eth0 tab 10
ip route add 0/0 via 192.168.11.1 dev eth0 tab 10