路由器丢弃指定域名 AAAA 记录

2018-09-27 16:40:44 +08:00
 Liqianyu

# IPv6 DNS Drop #
# Netflix DNS AAAA Drop #

iptables -t raw -A PREROUTING  -p udp --dport 53 -m string --hex-string "|03|www|07|netflix|03|com|00001c|" --algo bm -j LOG --log-prefix "drop netflix dns query "
iptables -t raw -A PREROUTING -p udp --dport 53 -m string --hex-string "|03|www|07|netflix|03|com|00001c|" --algo bm -j DROP
ip6tables -t raw -A PREROUTING  -p udp --dport 53 -m string --hex-string "|03|www|07|netflix|03|com|00001c|" --algo bm -j LOG --log-prefix "drop netflix dns query "
ip6tables -t raw -A PREROUTING -p udp --dport 53 -m string --hex-string "|03|www|07|netflix|03|com|00001c|" --algo bm -j DROP

添加到 /etc/firewall.user 然后重启防火墙

如此,即可防止 Netflix 通过 IPv6 直连导致代理失效。

被 TLS SNI RESET 的网站同理。

10720 次点击
所在节点    宽带症候群
44 条回复
laucenmi
2018-09-27 21:15:39 +08:00
感谢分享
flowfire
2018-09-28 00:14:39 +08:00
难道正确方法不是找一个支持 ipv6 的代理么😂
Liqianyu
2018-09-28 10:26:16 +08:00
@flowfire
是,如果有支持 IPv6 的代理是更优办法。
但是目前支持双栈的 VPS 和服务商还较少。
而且即使服务端支持,目前也没有现成的 CHNRoutes For IPv6 方案。
所以这是一个替代方案。可以直接丢弃掉 AAAA 响应去防止走 IPv6。
缺点就是解析速度会变慢一些。不过在缓存的帮助下影响不大。
wacke
2018-09-28 16:11:18 +08:00
@Liqianyu
我用 vps+he.net 的 6in4 实现了双栈 vps,也通过 tinc 将路由接入了 ipv6,CHNRoutes For IPv6 目前只能通过 IPv6 NAT 实现。。。
Liqianyu
2018-09-28 16:37:17 +08:00
@wacke
嗯,确实是一个办法。速度如何呢?
我觉得目前没必要非走 IPv6,因为只是看网页,走 IPv4 还是 IPv6 有区别?并没有。
所以直接丢弃掉 AAAA 记录强制走 IPv4 即可。
所以我目前是采用 CHNRoutes For IPv4 + Native IPv6,对特别的网站采用该方法丢弃掉 AAAA 记录防止被 Reset。
未来如果普及 ESNI,或许会有解决之道。
wacke
2018-09-29 08:01:27 +08:00
@Liqianyu
速度取决于 VPS 的带宽及链路状况,我的 VPS 在 LA,CN2 路由,150ms 左右的延迟,其实比直接 6in4 隧道的延迟还低。。。不过目前我家移动宽带也拿到 IPv6 了,只能部署 IPv6 NAT 以实现 CHNRoutes For IPv6。。。
Liqianyu
2018-09-29 10:45:48 +08:00
@wacke
我觉得目前没必要实现 CHNRoutes For IPv6,因为要牺牲掉 IPv6 的特性。
还不如用 IPv4 去访问,用 IPv6 访问又没有什么好处。速度也并没有说会更快。
wacke
2018-09-29 12:57:34 +08:00
@Liqianyu
目前来说 IPv6 确实意义不大,我是纯粹想体验 IPv6,另外想测试多条链路 IPv6 策略路由这些。。。
cwbsw
2018-09-29 14:20:53 +08:00
@wacke
V6 的做法应该是把不同 ISP 分配的地址配置在主机上,由主机来决定使用哪一个源地址发起连接。
LGA1150
2018-09-29 14:52:26 +08:00
@Liqianyu 目前中国 IPv6 网段个数屈指可数
Liqianyu
2018-09-29 14:57:43 +08:00
@LGA1150
是的,我认为这个很全了。
https://ispip.clang.cn/all_cn_ipv6.html
wacke
2018-09-29 15:35:20 +08:00
@cwbsw
这样的话,策略路由貌似很难实现,且每个设备都要配置一遍,手机这些就更麻烦了。
Liqianyu
2018-09-29 16:36:06 +08:00
@wacke
如果 SNI 漏洞被 ESNI 补上,估计还是会走 DNS + IP Block 的老路。这样 ICMPv6 不通会自动回退的。
yetsky
2018-09-29 21:39:13 +08:00
建议使用 PDNSD 屏蔽指定域名 AAAA 记录,不会引起解析过慢。
wacke
2018-09-30 08:01:36 +08:00
@Liqianyu
DNS + IP Block 这个状况,如果有 IPv6 链路绕过墙的话,主机能智能选择源地址吗?目前我碰到的问题是多条 IPv6 链路的情况下,源地址跟路由不一致,导致数据包在回程时回不回不来。
Liqianyu
2018-09-30 11:30:37 +08:00
@yetsky
是,但是要额外用 pdnsd,不如 iptables 优雅。
虽然 iptables 会导致解析速度损失,但是在缓存的帮助下这不算一个大问题。

@wacke
我觉得没问题。目前来说不通就快速回退 v4。最多引起 300ms 的损失。
源地址和路由不一致是什么情况,没有很理解你的意思。
wacke
2018-09-30 11:49:17 +08:00
@Liqianyu
就是说在存在 a,b 两条 IPv6 链路的情况下,主机会使用某个源地址(a,b 中的一个)发起链接,但是在路由过程中,可能会出现使用 b 的源地址发起链接,但是路由却是从 a 链路走的,导致回程时数据包回不来。。。
Liqianyu
2018-09-30 11:51:01 +08:00
@wacke
多个 IPv6 网络是吧,我目前路由器接入 3 个。没遇到你说的这个问题,建议抓包看一下。
wacke
2018-09-30 12:32:58 +08:00
@Liqianyu 就是抓包看过了才发现这个问题。。。我目前是两条 6in4 过来的链路,一条移动宽带的 IPv6 链路。。。
这个链接是我几个月前的情况: https://github.com/openwrt/packages/issues/5906#issuecomment-381384887
Liqianyu
2018-09-30 13:19:39 +08:00
@wacke
看你所说是在 Linux 上有这个问题是吧。大概看了看,为什么要用 Tinc VPN 实现 IPv6 接入额,然后并且是加入 mwan3 的。
我是直接 PPPoE 的原生 IPv6,没有用 mwan3。

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

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

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

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

© 2021 V2EX