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

2015-04-03 12:29:06 +08:00
 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。

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

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

https://www.v2ex.com/t/181316

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

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

© 2021 V2EX