Openwrt 下广告过滤插件 adbyby 对网速影响的研究 ——主要是软 nat 不给力

2015 年 4 月 3 日
 coffeecat

电信100Mbps光纤,主路由是netgear wndr4300,刷op前后家里的nas迅雷离线均可以达到11MB/s下载速度,但是路由装上adbyby以后,迅雷离线平均速度不会超过6.2MB/s(50Mbps),经过分析测试,原因在于如下语句:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118

由于op目前不支持硬件nat,上述语句的nat是软nat实现,性能较差。
由于路由上还有ss,所以一般不会用pc主机上迅雷下东西,我将nas ip加入了ss例外列表,同时为了下载提速,将nas ip加入不使用adbyby的nat转发的ip段。
解决方案:
将局域网分成2个子网,掩码25,低地址段使用静态ip,分配其中一个给nas用于离线下载,高地址段使用dhcp,通过adbyby的nat转发proxy实现广告过滤。路由器、nas和客户机的掩码设置为24,这样可以互相访问,千兆局域网。
首先在luci里面‘网络’-‘接口’-‘lan’-‘DHCP服务器’-‘开始’,将dhcp起始段设为128。

将/etc/rc.local里面的语句修改为:
……
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.128/25 --dport 80 -j REDIRECT --to-ports 8118
……
重启路由。
这样,将终端的ip设为小于128的时候,adbyby广告过滤功能对其无效,下载速度100M,当终端大于等于128时,adbyby广告过滤功能又对其开启,下载速度50M。

39856 次点击
所在节点    路由器
42 条回复
LazyZhu
2015 年 4 月 3 日
@yuhaaitao 现在的路由不适合做完全的广告过滤,但适合屏蔽一些垃圾域名(spam/tracker等)
coffeecat
2015 年 4 月 3 日
@jasontse adbyby进程不止一个,占用很厉害,所以一般一小时干掉再重启
yuhaaitao
2015 年 4 月 3 日
@Showfom 那个DNS效果好?
yuhaaitao
2015 年 4 月 3 日
@coffeecat 极路由那个视频广告屏蔽插件会好点吗?占用进程怎么样了?
coffeecat
2015 年 4 月 3 日
@yuhaaitao 我没用过,据别人说效果一般。。
Showfom
2015 年 4 月 4 日
@yuhaaitao 自建,dnsmasq
GPU
2015 年 4 月 4 日
@Showfom 把广告IP都 127.1 了?
Showfom
2015 年 4 月 4 日
@GPU 解析到 0.0.0.0 才最好,解析到 127.0.0.1 的话,如果你本机有 httpd 环境,这样就会消耗本机资源。
leavic
2015 年 4 月 27 日
哎,你要是用了privoxy你会感慨adbyby效率真高
coffeecat
2015 年 4 月 28 日
@leavic 据作者说adbyby openwrt版本针对cpu优化了很多的,但目前op下只有arxx和mt7620版本的,其他cpu的路由器无法使用,纯privoxy据说效率不高
coffeecat
2015 年 4 月 28 日
@leavic 能教一下privoxy使用方法么,刚买了个linksys wrt1900ac,马牌双核1.2GHz的cpu,我主要碰到2个问题,1.安装完privoxy后,设置iptable转发后,所有网站无法上去,报Invalid header received from client 2.使用adrew adblock过滤规则转privoxy规则的脚本总是执行失败,你这边有现成的脚本么?(之前用Andrew的那个报错。。)
coffeecat
2015 年 4 月 30 日
@leavic 实测linksys wrt1900ac下privoxy搭配7.5M的action,800K的filter,可以拉到接近9MB(72Mbps)的速度,相信如果adbyby支持wrt1900ac的马牌cpu的话拉满100Mbps的宽带应该没有问题。
SuZixiong
2015 年 9 月 2 日
请问如何将局域网分成 2 个子网,掩码 25 。
还是只要分配将 nas 静态到低 ip 段, dhcp 从高 ip 开始分配就可以了?
coffeecat
2015 年 9 月 4 日
ixufuyang
2016 年 9 月 12 日
为何我的路由 OpenWrt 下安装了 adbyby 下载速度能达到 23MB/S ? 200m 的光纤。
yjxjn
2016 年 10 月 3 日
@ixufuyang 200M 的光纤?不都现在 100M 么?
ixufuyang
2016 年 10 月 15 日
@yjxjn 现在 300M 都有了。。
yjxjn
2016 年 10 月 15 日
@ixufuyang 300M 网速,为了过滤广告降低到 50M ,心不甘啊。
ixufuyang
2016 年 10 月 16 日
@yjxjn 怎么可能,我 200M 的开着 adbyby ,下载网速能到 25M/s 啊。
pig1983
2017 年 2 月 2 日
@ixufuyang 你是啥路由

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/181316

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX