如何截获 Netflix TV 的(疑似内置)DNS 请求?

2021-12-26 14:30:16 +08:00
 CrazyRundong

部署旁路由 Clash 代理后,家里所有设备都能够通过浏览器或者 iOS/iPad OS app 访问 Netflix 非自制剧,唯独电视(包括 Android TV 和 Apple TV )会提示「检测到使用代理」而拒绝加载。

看了下 Clash 日志,似乎电视上的 Netflix app 会直接通过 IP 加载内容:

23.246.56.138:443 match IPCIDR(23.246.0.0/18) using Netflix[🇸🇬 IEPL-SS 新加坡 1]

而 23.246.56.138 的归属地为香港,可能由此触发了代理检测。怀疑是 Netflix app 使用某种内置的 DNS 服务,直接在国内解析域名到最近的香港节点了。现在的问题是如何截获这个 DNS 请求并把它转发到我的新加坡节点上?旁路由已经配置了 iptables 把所有 UDP 53 转发到 Clash ,但这似乎对 Netflix app 无效。

(作为对照,网页版 Netflix 的所有请求均被截获转发,Clash 日志能直接看到内容域名:)

ipv6-c014-hkg001-ix.1.oca.nflxvideo.net:443 match DomainSuffix(nflxvideo.net) using Netflix[🇸🇬 IEPL-SS 新加坡 1]
8492 次点击
所在节点    Netflix
35 条回复
Maskeney
2021-12-26 14:37:05 +08:00
你规则不全
knightdf
2021-12-26 14:41:16 +08:00
CrazyRundong
2021-12-26 14:42:24 +08:00
@Maskeney #1 试过根据 src-ip 把来自电视的所有流量都转发到新加坡节点,还是有这个问题。所以怀疑是 DNS 相关的请求根本没被转发到 Clash 上。
CrazyRundong
2021-12-26 15:34:55 +08:00
@knightdf #2 把这些域名都加到了旁路由规则里,还是不行
CrazyRundong
2021-12-26 15:35:49 +08:00
临时解决方案:在电视上装了 Clash for Android 后开启全局模式,总算能正常访问了
quzard
2021-12-26 16:14:10 +08:00
openclash 可以预解析 Netflix 。可以试试
Ives
2021-12-26 22:34:25 +08:00
😂听到最多的 都是说软路由有问题
TimothyT
2021-12-26 23:12:38 +08:00
换节点 现在大多数解锁都是用 ipv6 解锁的,而 uwp 和 tv 端的 nf 是强行用 ipv4 ,看下机场是否支持 v4 解锁
knightdf
2021-12-27 09:18:55 +08:00
@CrazyRundong 我就是用的这个规则,全屋设备包括 android tv 都可以正常看
Kinnice
2021-12-27 17:44:10 +08:00
需要劫持 8.8.8.8/8.8.4.4
hikiss
2021-12-29 11:30:39 +08:00
翻了国外的,也是一样的问题,提供的方案就是劫持或者阻断 Netflix 的 hard coding 的 dns
https://vpnreviewer.com/androidtv-streaming-unblocking
RealKela
2022-01-12 08:44:40 +08:00
我最近 Apple TV 也遇到这个问题,服务器 IPv4 解锁的,web 也解锁就 TV app 没有解锁。有人知道怎么解决吗?
mailshuxin
2022-01-22 15:13:31 +08:00
我在是路由器上面,添加了两个静态路由黑洞:8.8.8.8/32 ,和 8.8.4.4/32
目前正在观察效果
mailshuxin
2022-01-23 02:56:36 +08:00
路由黑洞也不行.能看,但是第二天 VPS 的 IP 就被封了
vtoex0000000002
2022-01-23 21:12:54 +08:00
在路由器上做,

# fix dns, redirect all other dns server to 192.168.1.1#53, such as 114.. or 8..
iptables -t nat -N DNS
iptables -t nat -A DNS -p udp -j REDIRECT --to-ports 53
iptables -t nat -I PREROUTING -p udp --dport 53 -j DNS

然后在电脑上用 nslookup 测试,server 2.2.2.2 ,都能正常返回 dns
vtoex0000000002
2022-01-23 21:14:35 +08:00
vtoex0000000002
2022-01-23 21:18:04 +08:00
没看你的内容,这个就是 tv 版的限制,我之前也遇到了
semglassiebaba
2022-01-26 15:51:32 +08:00
TV 版貌似有远程获取 cdn ip 的机制,拦截 dns 不起作用的,只能加 ip 规则
qinyq
2022-02-09 18:16:49 +08:00
@semglassiebaba iPhone 版也是,看一次封一次。。。难道也是因为获取 cdn ip 导致的?
qjk201203ddd
2022-03-19 20:00:08 +08:00
我也是这个问题,新版本里面都是直接 ip ,但之前老机器上用的 shellclash 都能正常。奈飞能用,迪士尼倒是不能用了

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

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

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

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

© 2021 V2EX