Linux双网卡(源地址路由)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在Discuz! Board 看到这篇文章,挺好的,COPY下来.

linux双网卡怎么设置我就不说了,我这里说的是linux双网卡的流量问题...

可能这个问题很偏们..你们也许用不上..我还是要说..

问题描述,一个linux主机,上面两个网卡..

route -n的输出是这样的.

代码: [复制到剪贴板]

Destination Gateway Genmask Flags Metric Ref Use Iface

61.132.43.128 0.0.0.0 255.255.255.192 U 0 0 0 eth1

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 61.132.43.134 0.0.0.0 UG 0 0 0 eth0

这里解释一下...第一行是说,你要访问61.132.43.128这个网段,掩码是255.255.255.192

的话..从eth1这个网卡出去..

第二行是关于本机的,访问自己从lo这个虚拟的本地网卡走..

第三行是说你要去任何地方的话..从网关61.132.43.134出去.并且网卡是eth0

到这里我们看到了..我们除了去61.132.43.128这个网络是从eth1走以外..去其他地方都是从eth0走...

这样是不是很浪费了双网卡??没错..是很浪费..因为不论你用那种监测工具查看流量..都

是eth0有..而其他网卡没有...天哪...为此我是煞费苦心..甚至怀疑网卡是不是坏了..因为在win2k上这种事情是不可能发生的..

那我们怎么解决这个问题呢?有人也许会说给个不同网关让另一块网卡用其他网关不就可以..是这个是可以..但是问题是我的ip都是在同一个网段..那来的不同网关.?网关就一个61.132.43.134...

还好linux系统给我们提供了一个很好的路由套件---iproute2

我们来熟悉一下..iproute2由几个常见的命令..

ip ro ls ip就是ip命令啦,ro就是route的所写,ls是list的缩写...

整个命令就是列出系统的路由表..这个可和route -n的效果差不多..但是更为清楚系统的route是如何的..

我们来看看吧:

代码: [复制到剪贴板]

[root@localhost root]# ip ro ls

61.132.43.128/26 dev eth1 proto kernel scope link src 61.132.43.136

127.0.0.0/8 dev lo scope link

default via 61.132.43.134 dev eth0

是不是一样呢?由几个地方不同..第一条多了一个src,增加了对源数据包的选择,而且子网

掩码也变成/26的形式..(参考ip地址的书籍)

最后一个仍然是网关...

现在我们只要稍稍动手把从61.132.43.136出来的流量让他不要从eth0出去..然他走eth1 我们加一条自定义的路由表

代码: [复制到剪贴板]

ip ro add default via 61.132.43.134 table 200

这里只是加了一条默认路由到一个自定义的路由表200中,最大数值是255,但是你不要用

255,因为那是系统默认用了..你用200以下就可以.

具体的路由表在/etc/iproute2/rt_tables中

查看刚才建立的路由表可以用ip ro ls table 200

代码: [复制到剪贴板]

[root@localhost root]# ip ro ls table 200

default via 61.132.43.134 dev eth1

看到了吗?虽然我没有指定dev是什么.但是系统自动分配了一个eth1给这个路由表,因为eth0已经用在主路由表中了..

这也说明了,的确不能在同一个路由表中由相同的网关..虽然可以设置,但是具体没什么作用.

然后我们要用一个规则把,匹配的数据包引导到刚刚建立的路由表中..

代码: [复制到剪贴板]

ip ru add from 61.132.43.136 table 200

这里ru是rule的缩写.from是一个匹配的动作.就是所源地址是61.132.43.136的包..请走自定义路由表200的设置..

查看一下

代码: [复制到剪贴板]

[root@localhost root]# ip ru ls

0: from all lookup local

32765: from 61.132.43.136 lookup 200

32766: from all lookup main

32767: from all lookup 253

到这里两块网卡终于都用上了.汗......

相关文档
最新文档