首页 > 代码库 > rhel6.5双网卡双网关的配置

rhel6.5双网卡双网关的配置

      

     由于用户需求是双线,故采用一个网卡配置电信地址,另一个网卡配置联通地址,安装好rhel6.5系统后配置完IP,发现联通地址和电信地址只能有一个可以ping通,若电信地址配置网关,联通地址不配网关,则只能ping通电信地址,反之只能ping通联通地址,若同时配置联通和电信地址则两个都不通。那么在rhel6.5中如何实现双网卡双网关呢?

     

服务器环境如下:

系统:RHEL6.5

电信IP(TEL):114.80.10.79 netmask 255.255.255.128 gateway 114.80.10.1

联通IP(CNC):112.65.20.23 netmask 255.255.255.128 gateway 112.65.20.1

1、配置网卡信息

vi /etc/sysconfig/network-scripts/ifcfg-eth12

DEVICE=eth12

HWADDR=00:90:FA:76:A5:BC

TYPE=Ethernet

UUID=ebd54026-4412-4cc3-9f74-e065d4328072

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=114.80.10.79

NETMASK=255.255.255.128


vi /etc/sysconfig/network-scripts/ifcfg-eth14

DEVICE=eth14

HWADDR=00:90:FA:76:A5:98

TYPE=Ethernet

UUID=ebd54026-4412-4cc3-9f74-e065d4328479

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=112.65.20.23

NETMASK=255.255.255.128


注意:两个网卡配置文件里不加网关.如果加网关,那么在route -n中只会显示一条默认路由,另一个网段是不通的。

[root@test network-scripts]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

112.65.20.0     0.0.0.0         255.255.255.128   U     0      0        0 eth14

114.80.10.0     0.0.0.0         255.255.255.128   U     0      0        0 eth12

112.65.20.0     0.0.0.0         255.255.255.0     U     0      0        0 eth14

114.80.10.0     0.0.0.0         255.255.255.0     U     0      0        0 eth12

169.254.0.0     0.0.0.0         255.255.0.0       U     1016   0        0 eth14

169.254.0.0     0.0.0.0         255.255.0.0       U     1016   0        0 eth12

0.0.0.0         112.65.20.1     255.255.255.128    UG    0      0        0 eth14


2、修改rc.local

可以直接增加这两条路由,但是重启后会丢失。

route add -net 114.80.10.0/25 gw 114.80.10.1 dev eth12

route add -net 112.65.20.0/25 gw 112.65.20.1 dev eth14

所以为永久生效,还是修改rc.local

vi /etc/rc.d/rc.local

[root@test network-scripts]# cat /etc/rc.d/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don‘t

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

route add -net 114.80.10.0/25 gw 114.80.10.1 dev eth12

route add -net 112.65.20.0/25 gw 112.65.20.1 dev eth14

然后route -n

[root@test network-scripts]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

112.65.20.0     112.65.20.1     255.255.255.128   UG     0      0       0 eth14

114.80.10.0     114.80.10.1     255.255.255.128   UG     0      0       0 eth12

112.65.20.0     0.0.0.0         255.255.255.0     U     0      0        0 eth14

114.80.10.0     0.0.0.0         255.255.255.0     U     0      0        0 eth12

169.254.0.0     0.0.0.0         255.255.0.0       U     1016   0        0 eth14

169.254.0.0     0.0.0.0         255.255.0.0       U     1016   0        0 eth12


(如果只需要添加默认路由可以这样设置:
  route add default gw 112.65.20.1
  route del default gw 112.65.20.1 (可以删除默认路由,用此方法改变后几分钟就可以生效.)


还有另外一种方法就是通过策略性路由配置iproute2工具包来实现。这个软件包是由Alexey Kuznetsov开发的,软件包所在的主要网址为ftp://ftp.inr.ac.ru/ip-routing/。

1.增加2个路由表分别是电信:tel 联通:cnc 

# vi /etc/iproute2/rt_tables 
252 tel 
251 cnc

保存并推出

2.增加路由规则 
# ip route flush table tel 
# ip route add default via 114.80.10.1 dev eth12 src 114.80.10.4 table tel 
# ip ruleadd from 114.80.10.4 table tel

此处是设置电信的网关,并可实现让电信的资源访问只从eth12网卡出去

# ip route flush table cnc 
# ip route add default via 112.65.20.1 dev eth14 src 112.65.20.2 table cnc 
# ip rule add from 112.65.20.2 table cnc

此处是设置联通的网关,并可实现让联通的资源访问只从eth14网卡出去

3.配置network启动脚本文件 在结尾之前增加如下内容

# vi /etc/rc.d/init.d/network

ip route flush table tel 
ip route add default via 114.80.10.1 dev eth12 src 114.80.10.4 table tel 
ip rule add from 114.80.10.4 table tel

ip route flush table cnc 
ip route add default via 112.65.20.1 dev eth14 src 112.65.20.2 table cnc 
ip rule add from 112.65.20.2 table cnc

exit 0

5,退出并重启网络

# /etc/rc.d/init.d/network restart

此时再测试机器网络情况,就会发现电信和联通的地址都可以正常访问了。此方法还可以实现让从电信IP过来的请求按照电信路由返回,从网通IP过来的请求从网通路由返回。

6,服务器重启,上述的路由规则就失效了,所以你需要把上面这段命令写入系统启动脚本


RedHat/CentOS,系统启动脚本是/etc/rc.d/rc.local


本文出自 “滴水穿石孙杰” 博客,请务必保留此出处http://xjsunjie.blog.51cto.com/999372/1604759

rhel6.5双网卡双网关的配置