linux双网卡双网关实现
网址:http://blog.sina.com.cn/s/blog_66719ff30100yft7.html
在给客户做软件部署的时候,客户提出了一个需求,需要用到双网卡双网关,我研究了很长时间也没弄明白怎么弄,最近根据前人的文档以及一些文章发现了如何添加双网卡双网关,并能让其正常工作,现在介绍下网络情况。
OS:RHEL5.4
网卡:双网卡
网卡配置信息:
eth0:192.68.1.2
netmask:255.255.255.0
gateway:192.168.1.1
eth1:192.168.2.199
netmask:255.255.255.0
#gateway:192.168.2.254(这个网关不添加在网卡文件中)
这是两块网卡,然后要求是这样的。
1.外网网络通过eth0 就是192.168.1.1这个网关走,而且这个设备必须要连外网。
2.内部网络通过192.168.2.254这个网关走(这个网关貌似是个nat网关),其他内部网络都需要能够访问192.168.2.199这个地址。这个地址不能访问外网。
3.他们需要访问的网段有 192.33.0.0、192.168.7.0、192.168.9.0这些。
最初解决思路:
根绝网络上以及之前留下的资料,使用命令
route add default gw 192.168.1.1 #设置默认网关地址
route add -net 192.168.2.0/24 gw 192.168.2.254 #添加192.168.2.0这个网段
route add -net 192.33.0.0/16 gw 192.16.2.254 #添加192.33.0.0这个网段
当时添加的时候,不管怎么弄都不好用,最后没办法只有放弃研究了。其实这么写也是对的,但是这个设置需要重启生效,而用命令的话只是暂时使用,不能永久保存(即使这样写上也不好用的,需要重启)。
那就需要修改文件
vi /etc/rc.d/rc.local在最后一行添加如下内容:
route add default gw 192.168.1.1 #添加默认网关 192.168.1.1
route add -net 192.168.1.0/24 gw 192.168.1.1 eth0 #1.0网段走192.168.1.1网关走 eth0为要走的网卡。
route add -net 192.168.2.0/24 gw 192.168.2.254 eth1 #2.0网段走2.254网关、通过eth1这个网卡走。
route add -net 192.33.0.0/16 gw 192.168.2.254 eth1 #33.0.0网段走 2.254网关、通过eth1网卡走。
添加以后重启就可以成功访问外网,局域网也可以访问了!
那多个网卡多个网关是不是也可以按照这个方法使用呢,理论上来说是可以的,具体行不行就看你们的了!