云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 巧用iptables用户自定义链和MTU匹配方式的总结

巧用iptables用户自定义链和MTU匹配方式的总结

  • 62 次阅读
  • 3 次下载
  • 2025/5/26 11:53:02

一.巧妙使用用户自定链

为了减少“无效匹配”次数,除了可以调整防火墙的规则顺序外,还有一个法宝就是使用用户自定义链。不过,在使用用户自定义链之前,我们必须先想好如何分类这些规则才能达到最精简的效果。比如,可以根据“上层协议”来区分,也可以根据“应用层协议”区分,也可以根据ip来划分,总之没有一定的标准,也没有永远正确的答案,只要能够让整个防火墙的无效匹配次数降到最低,那就是我们所需要的。

在多wan代码中,我们所加的规则有智能负载均衡和连接跟踪的,如下所示 智能负载均衡规则:

doSystemCmd(\

doSystemCmd(\doSystemCmd(\doSystemCmd(\

doSystemCmd(\doSystemCmd(\

doSystemCmd(\doSystemCmd(\doSystemCmd(\

doSystemCmd(\

doSystemCmd(\-t mangle -A Xrate -i %s -j RATEEST --rateest-name RATE_ETH0 --rateest-interval 500ms --rateest-ewma 1s\

doSystemCmd(\-t mangle -A Xrate -i %s -j RATEEST --rateest-name RATE_ETH1 --rateest-interval 500ms --rateest-ewma 1s\

doSystemCmd(\-t mangle -A Xuprate -o %s -j RATEEST --rateest-name RATE_ETH2 --rateest-interval 500ms --rateest-ewma 1s\

doSystemCmd(\-t mangle -A Xuprate -o %s -j RATEEST --rateest-name RATE_ETH3 --rateest-interval 500ms --rateest-ewma 1s\

doSystemCmd(\--rateest1 RATE_ETH0 --rateest-bps1 %dmbit --rateest-gt --rateest2 RATE_ETH1 --rateest-bps2 %dmbit -j MARK --set-mark 0x10\wan_scole[0], wan_scole[1]);

doSystemCmd(\--rateest1 RATE_ETH1 --rateest-bps1 %dmbit --rateest-gt --rateest2 RATE_ETH0 --rateest-bps2 %dmbit -j MARK --set-mark 0x20\wan_scole[1], wan_scole[0]);

doSystemCmd(\--rateest1 RATE_ETH2 --rateest-bps1 %dkbit --rateest-gt --rateest2 RATE_ETH3 --rateest-bps2 %dkbit -j MARK --set-mark 0x10\wan_uprate[0], wan_uprate[1]);

doSystemCmd(\--rateest1 RATE_ETH3 --rateest-bps1 %dkbit --rateest-gt --rateest2 RATE_ETH2 --rateest-bps2 %dkbit -j MARK --set-mark 0x20\wan_uprate[1], wan_uprate[0]);

由上面的规则我们可以看出我们定义了两条用户自定义链Xrate和Xuprate。Xrate链用来监控下行流量和根据流量比例的使用情况选路来打mark的规则,而Xuprante链用来监控上行流量。我们可以看出无论来自哪个方向的数据包都要匹配这些规则,比如Xuprate链是用来监控wan1和wan2口出去的数据包,所以从wan1和wan2进来的数据包则不需要匹配这些规则。而Xrate链的前两条规则是用来监控下行流量的,同理从wan1和wan2出去的数据包就不需要匹配这些规则。同样我们可以看出Xrate链的后四条规则是用来选路打mark的,所以从wan1和wan2进来的数据包也不需要去匹配这些规则。

综上所述,我们可以采取接口匹配方式来处理这些用户自定义链。比如我们可以把Xrate链的前两条和后四条分开,把前两条提出来放在另一条自定义链Xdownrate中,我们可以这样改写规则:

doSystemCmd(\

doSystemCmd(\ -i lan1 -j Xrate\

doSystemCmd(\

doSystemCmd(\ -i ! lan1 -j Xuprate\

同理在Xuparte也一样

doSystemCmd(\

doSystemCmd(\–i lan1 -j Xuprate\

这样我们就达到了我们降低防火墙的规则无效匹配次数了。而在UGW2.0中并没有作这样的处理,我改了一下规则用IxChariot跑吞吐量时上升了2M左右,我们还可以优化Mark策略打的规则,具体实现我想在UGW3.0中设计出来,当然改变规则前提是不响其他模块的功能。 如果做了四wan那么数据包匹配的规则将更多,所以改变势在必行。

二.使用MTU匹配方式提升小包转发率

Length是由xt_length.ko模块所提供的功能,其匹配参数有以下四种。 [!]--length 100 MTU=100 [!]--length :100 MTU<100

[!]--length 50:100 50

我们可以在防火墙的规则中加一条MTU<256的快速通过防火墙,让他尽量少匹配规则,或者可以采取mark路由方式提升其路由优先级。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

一.巧妙使用用户自定链 为了减少“无效匹配”次数,除了可以调整防火墙的规则顺序外,还有一个法宝就是使用用户自定义链。不过,在使用用户自定义链之前,我们必须先想好如何分类这些规则才能达到最精简的效果。比如,可以根据“上层协议”来区分,也可以根据“应用层协议”区分,也可以根据ip来划分,总之没有一定的标准,也没有永远正确的答案,只要能够让整个防火墙的无效匹配次数降到最低,那就是我们所需要的。 在多wan代码中,我们所加的规则有智能负载均衡和连接跟踪的,如下所示 智能负载均衡规则: doSystemCmd(\ doSystemCmd(\doSystemCmd(\doSystemCmd(\doSystemCmd(\doSystemCmd(\doSystemCmd(\doSystemCmd(\doSystemC

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com