1. 路由信息的影响
Linux 系统中如果有多张网卡的情况下,如果路由信息配置不正确,可能会导致其中一张网卡不能正常使用。 比如原网卡eth0的IP是192.168.1.x/24。 新增加一张网卡eth1, 配置的网段是是:10.16.1.x/24,各自到网关都通,但原eth0的网段的主机不能访问这台主机。可以通过查看路由表,确认默认的路由是否走到正确的网卡上了。 如果路由错误,删除这个默认的路由,重新添加一条默认路由即可。
比如命令:
route del default gw 10.16.1.1 dev eth1
route add default gw 192.168.1.1 dev eth0
查看路由表信息:
[root@ ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.56.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
default Hiwifi.lan 0.0.0.0 UG 0 0 0 eth1
2.双网卡路由信息配置
--现在看一个双网卡的配置路由的过程:
--如果eth1为192.168.1.173/255.255.255.0,eth0为192.168.56.101/255.255.255.0,
#则路由配置命令如下:
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
route add -net 192.168.56.0 netmask 255.255.255.0 dev eth0
上面的命令把发送给192.168.1.0网段的IP包交给eth1转发,把192.168.56.0网段的IP包交给eth0转发。
如果还有可能有发送给其他目的IP的包,那么你肯能希望设置一个“默认网关”:
route add default gw 192.168.1.1 dev eth1
上面的命令把所有发送给其他目的IP的包都转发给192.168.1.1。
一般情况下,默认网关已经自动设置好了,不用重复设置。可以用route命令加-n参数进行检查。
如果要删除某一条,命令格式为:
route del -net 192.168.1.0 netmask 255.255.255.0
配置时的一种思路是把192.168.10.0网段路由至eth0,192.168.20.0网段路由至eth1,再设置默认路由。另一种思路是,只指定其中一个,然后把默认的0.0.0.0路由至另一个。其实效果一样,就是两种思路。
3.route命令解析
#添加到主机的路由:
route add –host 192.168.1.10 dev eth0
route add –host 192.168.1.10 gw 192.168.1.1
#添加到网络的路由:
route add –net 192.168.1.0 netmask 255.255.255.0 eth0
route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
route add –net 192.168.1.0/24 eth1
#添加默认网关:
route add default gw 192.168.1.1
#删除路由:
route del –host 192.168.1.10 dev eth0
4.配置路由永久生效的方法:
方法一:
# vi /etc/rc.local(添加到末尾)
语句:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
方法二:添加默认网关,即默认路由
两块网卡在配置文件ifcfg-ethX中不配置网关,在/etc/sysconfig/network中设置默认网关
vi /etc/sysconfig/network
GATEWAY=192.168.14.254
方法三:添加路由 创建/etc/sysconfig/static-routes配置文件
# vi /etc/sysconfig/static-routes (没有static-routes的话就手动建立一个这样的文件)
any net 192.168.15.0/24 gw 192.168.14.254
any host 123.57.223.144 gw 192.168.14.254
any host 123.57.190.33/32 gw 192.168.8.1
方法四:在/etc/sysconfig/network-scripts/下创建配置文件route-ethX
vim /etc/sysconfig/network-scripts/route-eth0
0.0.0.0/0 via 192.168.14.254 dev eth0
#这条为默认路由,另一种格式 default 192.168.14.254 dev eth0
192.168.15.0/24 via 192.168.14.254 dev eth0
123.57.223.144 via 192.168.14.254 dev eth0
vim /etc/sysconfig/network-scripts/route-eth1
123.57.190.33 via 192.168.8.1 dev eth1
配置完重启network服务生效 service network restart
注:
linux双网卡默认路由问题linux在加载网卡配置文件的时候是先加载eth0,再加载eht1的,这样,如果eth1设置了gateway项,则会覆盖掉eth0中的gateway设置,因此解决方法就是删除eth1的gateway设置,在配置/etc/sysconfig/network添加网关。