王者归来 发表于 2007-4-24 20:18:29

linux双网卡做NAT后的路由原路返回问题

linux双网卡做NAT后的路由原路返回问题

网络拓扑结构图:

|   Internet   |
   |                  |
-------            --------
wan1|         wan2|
|Linux 主机,实现路由功能, 2个公网IP,不同ISP|
----------------------------------------------
      | Lan|
                |
                |
--------------------
内网,某些主机需要提供服务,外网可以访问
--------------------

由于需要把内网的服务提供给外网访问,因此,在linux路由主机上做了NAT,并对两个wan口做了策略路由。
现在的问题是:
当某个外网访问数据通过DNAT到达内网后,内网返回的数据包离开外网时,有可能从另外的网卡发回数据包(不是从接收它的那个外网卡),这样导致从这个ISP进入的包,应答发到了另外的ISP,导致包丢失。
(注:如果把服务直接放在linux路由主机上,已经不会发生前面的问题,只要经过NAT后,则发生以上现象,2个网卡中,总有一个外网卡不能正常,一个是正常的)

请问各位大侠,这个问题如何解决?

无边无际 发表于 2007-4-25 01:00:20

这个问题我也不太明白。。。见笑了
查了一下相关资料,好像可以套用下面两条命令让所有的回应数据都会从他们来的那块网卡原路返回。
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
你试一下
PS:这个问题怎么有点像那天上BC时候星爷讲的某单位的案例啊???!!!难道也是中毒???嘻嘻。
顺便八卦一下:楼主你是不是这样子把两条带宽合起来啊?
页: [1]
查看完整版本: linux双网卡做NAT后的路由原路返回问题