是否有可以丢弃特定前缀 AAAA 解析结果的 DNS 转发程序? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
updateing
V2EX    宽带症候群

是否有可以丢弃特定前缀 AAAA 解析结果的 DNS 转发程序?

  •  
  •   updateing 2019-01-27 10:41:00 +08:00 via Android 5563 次点击
    这是一个创建于 2464 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我这边有电信原生 v6 和一条隧道 v6,局域网里除了 NAS 走原生 v6,其他都走隧道。

    最近不少我常用的国内网站(目前发现 B 站和酷安)都开始提供 IPv6 支持,导致大部分设备的流量会走隧道绕一大圈,上网体验急剧下降。

    想通过修改路由器 DNS 程序的方式把国内 v6 前缀的解析结果都过滤掉,以此避免问题。但谷歌上搜 dns server filter aaaa by prefix 之类的关键词并没有找到现成方案。BIND 可以设置 filter-aaa,但是不知道怎么按前缀过滤。

    请问一下各位是否有现成的解决方案呢?
    22 条回复    2019-01-28 20:32:07 +08:00
    bearice
        1
    bearice  
       2019-01-27 10:57:52 +08:00   1
    powerdns recursor 可以用 lua 脚本做,
    或者改 dnsmasq 的代码也可以 参见 https://gist.github.com/bearice/7d3dc0e63e003d752622 (这个 patch 是过滤所有,不过可以改改参数让他只过滤某些域)
    或者用这个方法起两个 unbound https://nlnetlabs.nl/pipermail/unbound-users/2018-January/010444.html
    leido
        2
    leido  
       2019-01-27 11:09:58 +08:00 via Android
    楼主能报一下坐标吗?我们这里 B 站还没有 v6...
    leido
        3
    leido  
       2019-01-27 11:10:29 +08:00 via Android
    ok,羡慕深圳
    love4taylor
        4
    love4taylor  
    PRO
       2019-01-27 11:35:22 +08:00
    @leido #3 不用羡慕, 现在 B 站的 v6 很多人都连不通...
    http://link.acg.tv/forum.php?mod=viewthread&tid=20616
    updateing
        5
    updateing  
    OP
       2019-01-27 11:43:03 +08:00
    @bearice 好的,看起来起一个 Unbound 用 private-address 就可以过滤范围了,应该是最简单的方法。谢谢!
    happylty
        6
    happylty  
       2019-01-27 11:58:51 +08:00   1
    好像某个强做得挺好的,就是过家机密
    BOYPT
        7
    BOYPT  
       2019-01-27 12:05:13 +08:00
    设置路由表让国内 ip 段走原生 v6 不就好了么...
    updateing
        8
    updateing  
    OP
       2019-01-27 12:19:33 +08:00
    @BOYPT 由于单从路由器上控制不了设备用哪个源 IP 发包,而两种接入渠道又要求必须是自己的前缀才能传得出去(当然)所以我只给每个设备分期望的那一种前缀,要么原生,要么隧道,这样没法用路由表。

    就算是要用两种前缀全部下发、设备端配路由表选源 IP 这个方法,也还是有 iOS 这种硬骨头处理不了……
    gaoyuzhe22
        9
    gaoyuzhe22  
       2019-01-27 12:45:12 +08:00
    我自己试过的,unbound+dnsmasq
    https://longqiugyz.blogspot.com/2019/01/dnsaaaa.html
    LGA1150
        11
    LGA1150  
       2019-01-27 12:53:54 +08:00 via Android
    pcap-dnsproxy
    BOYPT
        12
    BOYPT  
       2019-01-27 13:08:18 +08:00
    @updateing #8
    好像还可以下发 ULA 局域前缀, 然后让路由器 NAT66 选路...
    wweir
        13
    wweir  
       2019-01-27 13:18:01 +08:00 via Android   1
    前两天刚发布的 sower,虽然不是为这个场景开发的,但刚好可以满足这个需求。
    里面的 http_ping 逻辑了解一下,智能检测的结果,远比传统的规则更有效
    github.com/wweir/sower
    yexm0
        14
    yexm0  
       2019-01-27 16:38:15 +08:00
    @Love4Taylor 你们好像只有视频 CDN 是上了 V6,而且好像是放在湖南那边的,延迟比 V4 大多了.
    yexm0
        15
    yexm0  
       2019-01-27 16:38:34 +08:00
    love4taylor
        16
    love4taylor  
    PRO
       2019-01-27 16:42:21 +08:00 via Android
    @yexm0 主站在部分地区也解析到 v6 了 CNAME 是 bj-cmcc-v4v6.biliapi.com, 见我上面附的链接
    xk0n
        17
    xk0n  
       2019-01-27 16:48:59 +08:00
    可以使用 iptables 过滤

    iptables -A OUTPUT -o eth0 -p udp --dport 53 -m string --hex-string "|08|bilibili|03|com|00001c|" --algo bm -j DROP
    5460
        18
    5460  
       2019-01-27 18:28:26 +08:00
    这个运行在路由器上的 SmartDNS 支持自定义黑名单,但我没试过 IPv6
    https://github.com/pymumu/smartdns/
    Cipool
        19
    Cipool  
       2019-01-27 21:27:38 +08:00 via Android
    @Love4Taylor 这路由也太诡异了,北京教育网的服务器,北京移动居然绕香港 hkix,再进教育网,明明 cmcc 和教育网有直连的 peer
    updateing
        20
    updateing  
    OP
       2019-01-28 12:45:33 +08:00 via Android
    @BOYPT 有些应用需要知道自己的真实地址,比如某些 PT tracker 依赖客户端主动上报 IPv6 地址,不会自动获取。所以能在客户端得到真实地址比较好……
    cwbsw
        21
    cwbsw  
       2019-01-28 16:20:27 +08:00
    @updateing 你这个需求其实不用去过滤 DNS,分配默认路由的网段地址,另一个出口走 NAT 出去。另外如果只有 NAS 需要 Native IPV6,还有一个办法就是在 NAS 上单独拨号,当然要 ISP 支持双拨才可以。
    laucenmi
        22
    laucenmi  
       2019-01-28 20:32:07 +08:00
    跟 ipv4 上一样使用 dnsmasq+ipset
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     999 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:23 PVG 02:23 LAX 11:23 JFK 14:23
    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