Openwrt 下广告过滤插件 adbyby 对网速影响的研究 主要是软 nat 不给力 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coffeecat
V2EX    路由器

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

  •  
  •   coffeecat 2015-04-03 12:29:06 +08:00 39734 次点击
    这是一个创建于 3931 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    ptables -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。

    42 条回复    2017-06-07 10:56:16 +08:00
    jasontse
        1
    jasontse  
       2015-04-03 12:31:33 +08:00 via iPad
    你满载的时候 top 一下就会知道是 adbyby 的性能问题
    yuhaaitao
        2
    yuhaaitao  
       2015-04-03 13:20:37 +08:00
    ss和adbaby可以共存,chinadns做的自动区分国内外ip和adbaby可以共存吗?
    blessme
        3
    blessme  
       2015-04-03 13:34:38 +08:00
    同样的发现,adbyby影响性能。小宽带可以无视,100M确实不能无视。
    k9982874
        4
    k9982874  
       2015-04-03 13:37:36 +08:00
    何必这么麻烦,easylist表直接生成ip规则,dnsmasq加载完事了
    coffeecat
        5
    coffeecat  
    OP
       2015-04-03 13:45:30 +08:00   1
    @yuhaaitao 可以的,我就是chinadns+ss+adbyby
    coffeecat
        6
    coffeecat  
    OP
       2015-04-03 13:47:06 +08:00
    @k9982874 我试过easychinalist+easyprivcaylist,用perl脚本生成了个1万5千条的dnsmasq.conf,结果什么网页都开不了了。。。
    tywtyw2002
        7
    tywtyw2002  
       2015-04-03 14:08:07 +08:00
    我怎么记得iptables REDIRECT不用去维护nat表呢?
    只是修改dport呀
    yuhaaitao
        8
    yuhaaitao  
       2015-04-03 14:15:51 +08:00
    @coffeecat chinadns+ss已装好,直接按照官方指引安装吗?需要特别设置吗?


    OPENWRT
    目前会支持mtk7620a、7620N和 ar7240cpu的路由,根据cpu下载相应程序

    1、进shell

    2、wget http://info.adbyby.com/download/7620n.tar.gz

    或http://info.adbyby.com/download/openwrt.tar.gz

    3 tar -xzvf openwrt.tar.gz

    4 cd bin

    5 chmod 777 adbyby

    6 ./adbyby&

    7 客户机设置系统代{过}{滤}理为路由器ip,端口 8118

    或路由设置透明代理 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118
    coffeecat
        9
    coffeecat  
    OP
       2015-04-03 14:22:53 +08:00   1
    ryd994
        10
    ryd994  
       2015-04-03 14:54:52 +08:00 via Android
    DNAT会好点
    yuhaaitao
        11
    yuhaaitao  
       2015-04-03 15:27:01 +08:00   1
    @coffeecat 楼主博客介绍的很详细,可惜知识储备少,不少术语还没看明白。
    zts1993
        12
    zts1993  
       2015-04-03 15:53:00 +08:00 via Android
    adbyby确实跑不动 MT7260
    k9982874
        13
    k9982874  
       2015-04-03 16:08:44 +08:00
    @coffeecat 你要把子域名合并的,例如很多111.aaa.com 22.aaa.com 333.aaa.com合并成一条*.aaa.com
    smileawei
        14
    smileawei  
       2015-04-03 16:23:28 +08:00 via iPhone
    Adbyby 会启动很多进程
    yuhaaitao
        15
    yuhaaitao  
       2015-04-03 16:33:41 +08:00 via Android
    @zts1993 7260这么差劲?那个能带动?
    coffeecat
        16
    coffeecat  
    OP
       2015-04-03 16:55:06 +08:00
    @k9982874 这样确实可以,大约剩下5000条,但是也增加了误封网站的几率,我搞过,结果baidu和网易都上不去了。。
    zts1993
        17
    zts1993  
       2015-04-03 17:05:40 +08:00
    @yuhaaitao 不是7260差。。连接数多了adbyby占用厉害。。
    LazyZhu
        18
    LazyZhu  
       2015-04-03 17:10:10 +08:00 via iPhone
    不就是开源的prioxy修改来的产品么。。。
    yuhaaitao
        19
    yuhaaitao  
       2015-04-03 17:41:10 +08:00 via Android
    @LazyZhu 路由器上去广告还有什么可行的方案?
    Showfom
        20
    Showfom  
    PRO
       2015-04-03 19:15:31 +08:00 via iPhone   1
    @yuhaaitao DNS屏蔽呗
    LazyZhu
        21
    LazyZhu  
       2015-04-03 19:20:13 +08:00   1
    @yuhaaitao 现在的路由不适合做完全的广告过滤,但适合屏蔽一些垃圾域名(spam/tracker等)
    coffeecat
        22
    coffeecat  
    OP
       2015-04-03 19:44:40 +08:00
    @jasontse adbyby进程不止一个,占用很厉害,所以一般一小时干掉再重启
    yuhaaitao
        23
    yuhaaitao  
       2015-04-03 20:47:19 +08:00 via Android
    @Showfom 那个DNS效果好?
    yuhaaitao
        24
    yuhaaitao  
       2015-04-03 20:49:48 +08:00 via Android
    @coffeecat 极路由那个视频广告屏蔽插件会好点吗?占用进程怎么样了?
    coffeecat
        25
    coffeecat  
    OP
       2015-04-03 22:33:16 +08:00
    @yuhaaitao 我没用过,据别人说效果一般。。
    Showfom
        26
    Showfom  
    PRO
       2015-04-04 00:02:27 +08:00   1
    @yuhaaitao 自建,dnsmasq
    GPU
        27
    GPU  
       2015-04-04 01:17:38 +08:00
    @Showfom 把广告IP都 127.1 了?
    Showfom
        28
    Showfom &bsp;
    PRO
       2015-04-04 01:46:04 +08:00
    @GPU 解析到 0.0.0.0 才最好,解析到 127.0.0.1 的话,如果你本机有 httpd 环境,这样就会消耗本机资源。
    leavic
        29
    leavic  
       2015-04-27 23:35:01 +08:00
    哎,你要是用了privoxy你会感慨adbyby效率真高
    coffeecat
        30
    coffeecat  
    OP
       2015-04-28 08:47:14 +08:00
    @leavic 据作者说adbyby openwrt版本针对cpu优化了很多的,但目前op下只有arxx和mt7620版本的,其他cpu的路由器无法使用,纯privoxy据说效率不高
    coffeecat
        31
    coffeecat  
    OP
       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
        32
    coffeecat  
    OP
       2015-04-30 22:32:23 +08:00
    @leavic 实测linksys wrt1900ac下privoxy搭配7.5M的action,800K的filter,可以拉到接近9MB(72Mbps)的速度,相信如果adbyby支持wrt1900ac的马牌cpu的话拉满100Mbps的宽带应该没有问题。
    SuZixiong
        33
    SuZixiong  
       2015-09-02 11:36:10 +08:00
    请问如何将局域网分成 2 个子网,掩码 25 。
    还是只要分配将 nas 静态到低 ip 段, dhcp 从高 ip 开始分配就可以了?
    coffeecat
        34
    coffeecat  
    OP
       2015-09-04 22:59:30 +08:00
    ixufuyang
        35
    ixufuyang  
       2016-09-12 01:09:55 +08:00 via Android
    为何我的路由 OpenWrt 下安装了 adbyby 下载速度能达到 23MB/S ? 200m 的光纤。
    yjxjn
        36
    yjxjn  
       2016-10-03 13:03:43 +08:00
    @ixufuyang 200M 的光纤?不都现在 100M 么?
    ixufuyang
        37
    ixufuyang  
       2016-10-15 22:15:10 +08:00 via Android
    @yjxjn 现在 300M 都有了。。
    yjxjn
        38
    yjxjn  
       2016-10-15 22:35:52 +08:00
    @ixufuyang 300M 网速,为了过滤广告降低到 50M ,心不甘啊。
    ixufuyang
        39
    ixufuyang  
       2016-10-16 00:44:38 +08:00 via Android
    @yjxjn 怎么可能,我 200M 的开着 adbyby ,下载网速能到 25M/s 啊。
    pig1983
        40
    pig1983  
       2017-02-02 08:32:51 +08:00
    @ixufuyang 你是啥路由
    ixufuyang
        41
    ixufuyang  
       2017-05-21 19:58:37 +08:00
    @pig1983 网件的 3800 啊
    h0r1z0n
        42
    h0r1z0n  
       2017-06-07 10:56:16 +08:00
    这个方法不错 期待 koolproxy 继续完善
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3049 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 14:00 PVG 22:00 LAX 06:00 JFK 09:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86