ly123 发表于 2007-5-10 13:24:20

用Nth的处理负载均衡中怎么检查走的是同一个线路?

/ip fir man
add chain=prerouting in-interface=lan src-address-list=odd action=mark-connection new-connection-mark=odd \
    passthrough=yes comment="2" disabled=no
add chain=prerouting in-interface=lan psd=21,3s,3,1 src-address-list=odd action=mark-routing new-routing-mark=odd \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan src-address-list=even action=mark-connection new-connection-mark=even \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan psd=21,3s,3,1 src-address-list=even action=mark-routing new-routing-mark=even \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan connection-state=new nth=1,1,0 action=mark-connection new-connection-mark=odd \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan connection-mark=odd action=add-src-to-address-list address-list=odd \
    address-list-timeout=1d comment="" disabled=no
add chain=prerouting in-interface=lan connection-mark=odd action=mark-routing new-routing-mark=odd passthrough=no \
    comment="" disabled=no
add chain=prerouting in-interface=lan connection-state=new nth=1,1,1 action=mark-connection new-connection-mark=even \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan connection-mark=even action=add-src-to-address-list address-list=even \
    address-list-timeout=1d comment="" disabled=no
add chain=prerouting in-interface=lan connection-mark=even action=mark-routing new-routing-mark=even passthrough=no \
    comment="" disabled=no
add chain=prerouting in-interface=lan connection-state=new nth=1,1,1 src-address-list=!odd action=mark-connection \
    new-connection-mark=even passthrough=yes comment="" disabled=no

现在两条线路 都有基本相同的流量 其中一条断了可以切到另一条上

下图是address list 的截图

crack_ros 发表于 2007-5-10 21:13:16

这个脚本有问题的

建议谨慎使用

根本不能均衡

louyc 发表于 2007-5-10 22:34:38

原帖由 crack_ros 于 2007-5-10 21:13 发表 http://bbs.routerclub.com/images/common/back.gif
这个脚本有问题的

建议谨慎使用

根本不能均衡
说这个脚本有问题的大概是自己理解错了吧~~你自己看下这个规则的处理过程好好分析一下这个实现的到底是什么~~
实现的不是你预期想象的效果并不代表脚本有问题,因为脚本本身所说的是一种负载均衡的方法,而不是热备~虽然这个方法不是那么的理想化(智能判断哪个负荷低就往哪里走),但至少提供了这么一种方法~一种思路~而且如果真的是既兼顾网络游戏不断线,又要智能判断哪个负荷低就往哪里走,目前可能还没有什么好的实现思路吧~~~

[ 本帖最后由 louyc 于 2007-5-10 22:36 编辑 ]

crack_ros 发表于 2007-5-10 22:42:29

楼上的 不想打击你

事实上这个脚本 在多线路的环境里面 根本 和 网关1+网关 2一个尿样的 效果

当然 它比网关1+网关 2 稍微先进的地方 就是做了 IP分流

也仅此而已

2个字描述这个脚本 == 垃圾

louyc 发表于 2007-5-10 22:48:16

原帖由 crack_ros 于 2007-5-10 22:42 发表 http://bbs.routerclub.com/images/common/back.gif
楼上的 不想打击你

事实上这个脚本 在多线路的环境里面 根本 和 网关1+网关 2一个尿样的 效果

当然 它比网关1+网关 2 稍微先进的地方 就是做了 IP分流

也仅此而已

2个字描述这个脚本 == 垃圾
无所谓什么打击不打击的~又不是我想的办法~只不过你所谓的问题是效果问题,我说的是规则本身的错误问题
既然你说这是垃圾,那你的高级方法在哪里?总不会在这里吝啬吧~~

ly123 发表于 2007-5-11 08:35:29

查看wan1 和 wan2的接口流量 基本是相同的只是 address list 里的通一个ip会被标成 odd 和even的标

louyc 发表于 2007-5-11 08:43:36

上面的代码的作用是每个从内网发出的通过路由器新的连接的routing和conection将被标记为ODD或EVEN。然而在一些环境中,你可能会发现同样的IP地址被列入“odd”和“even”的src-address-lists中。这种情况表现为应用程序需要做连续的请求,一个简单的补救方式是添加下面的Mangle规则:
add chain=prerouting in-interface=Local connection-state=new nth=1,1,1 \
src-address-list=!odd action=mark-connection new-connection-mark=even \
passthrough=yes
这个将保证新连接已有在“odd”源地址表不在其中,必须要在“odd”中做相同的规则,使得“even”源地址表中的IP排除在外。

ly123 发表于 2007-5-11 17:25:44

我用的配置里最后一条就是这个没有任何数据包过这个规则address list还是同一个ip 被标成 odd 和even的标

ly123 发表于 2007-5-11 18:33:53

这样就ok了address list同一个ip 只会被标成 odd 或 even
add chain=prerouting in-interface=lan src-address-list=odd action=mark-connection new-connection-mark=odd \
    passthrough=yes comment="2" disabled=no
add chain=prerouting in-interface=lan psd=21,3s,3,1 src-address-list=odd action=mark-routing new-routing-mark=odd \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan src-address-list=even action=mark-connection new-connection-mark=even \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan psd=21,3s,3,1 src-address-list=even action=mark-routing new-routing-mark=even \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan connection-state=new nth=1,1,0 action=mark-connection new-connection-mark=odd \
    passthrough=yes comment="!!" disabled=no
add chain=prerouting in-interface=lan connection-state=new nth=1,1,1 src-address-list=!odd action=mark-connection \
    new-connection-mark=even passthrough=yes comment="!!!" disabled=no
add chain=prerouting in-interface=lan connection-mark=odd action=add-src-to-address-list address-list=odd \
    address-list-timeout=1d comment="" disabled=no
add chain=prerouting in-interface=lan connection-mark=odd action=mark-routing new-routing-mark=odd passthrough=no \
    comment="" disabled=no
add chain=prerouting in-interface=lan connection-state=new nth=1,1,1 action=mark-connection new-connection-mark=even \
    passthrough=yes comment="" disabled=no
add chain=prerouting in-interface=lan connection-mark=even action=add-src-to-address-list address-list=even \
    address-list-timeout=1d comment="" disabled=no
add chain=prerouting in-interface=lan connection-mark=even action=mark-routing new-routing-mark=even passthrough=no \
    comment="" disabled=no
add chain=prerouting in-interface=lan connection-state=new nth=1,1,1 src-address-list=!odd action=mark-connection \
    new-connection-mark=even passthrough=yes comment="" disabled=no
页: [1]
查看完整版本: 用Nth的处理负载均衡中怎么检查走的是同一个线路?