外网双网卡路由配置(双网卡如何设置路由器)

小编:小丢 更新时间:2022-08-13

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 eth1route add default gw 192.168.1.1 dev eth0 查看路由表信息:[root@ ~]# netstat -rKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface192.168.1.0 * 255.255.255.0 U 0 0 0 eth1192.168.56.0 * 255.255.255.0 U 0 0 0 eth0link-local * 255.255.0.0 U 0 0 0 eth0default 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 eth1route 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 eth0route add -net 192.168.2.0/24 gw 192.168.2.254 方法二:添加默认网关,即默认路由两块网卡在配置文件ifcfg-ethX中不配置网关,在/etc/sysconfig/network中设置默认网关 vi /etc/sysconfig/networkGATEWAY=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.254any host 123.57.223.144 gw 192.168.14.254any host 123.57.190.33/32 gw 192.168.8.1 方法四:在/etc/sysconfig/network-scripts/下创建配置文件route-ethXvim /etc/sysconfig/network-scripts/route-eth00.0.0.0/0 via 192.168.14.254 dev eth0 #这条为默认路由,另一种格式 default 192.168.14.254 dev eth0192.168.15.0/24 via 192.168.14.254 dev eth0123.57.223.144 via 192.168.14.254 dev eth0 vim /etc/sysconfig/network-scripts/route-eth1123.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添加网关。