v6 就是麻烦,连描述问题都很困难,历时几年,基本搞定了 Adguard Home sing-box 固定 v6 IP

36 天前
 yyysuo
各位大佬点评一下,有没有更优的实践?

需求其实很简单,就是在 Adguard Home 和 sing-box 看到是哪个设备在使用服务,根据 IP 给客户端重命名。V4 时代很简单,但是有了 V6 ,这几乎成了不可能的事情,原因如下:

基本上路由只发 V6 前缀(非固定)
后缀是客户端根据 V6 地址策略自己生成的
Windows 、ios 、android 、linux 各自的 V6 策略也各不相同
每个设备获取的 V6 地址有多个,包括公网地址、本地链路地址、ula 地址等
还有隐私地址扩展这种逆天的东西存在
设备上的 app 自主决定使用多个 V6 地址中的一个使用

不管如何,小白经过几年断续的描述,好像找到了一个勉强搞定的实践,方案如下:

配置:
主路由 openwrt 有状态+无状态+ula fd00::/48+后缀 ::1+关闭临时地址+下发 fd00::1 为 v6 dns
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0

Windows 上关闭隐私地址扩展
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set privacy state=disable

IOS 上关闭随机 mac 地址、私有无线局域网地址、限制 IP 地址跟踪

linux 上不用管,默认是 eui64 生成的固定 v6 地址

安卓 tv 没法管,有些无法 adb 。

现状:所有内网 v6 地址基本固定
Windows 使用 fd00::124 这种 ula 地址请求 dns ,使用 eui64 地址路由到 sing-box
IOS 使用 v4 地址请求 dns ,暂时未测试使用哪种 v6 地址路由到 sing-box ,但是生成的 fd00 随机地址在路由重启后不会变化
firetv 使用 v4 地址请求 dns ,sony tv 使用 fd00 随机地址访问 dns ,重启路由 V6 地址不会变
linux 配置了固定 v4 dns ,使用 v4 dns ,使用 eui64 地址路由到 sing-box
3169 次点击
所在节点    宽带症候群
48 条回复
txydhr
36 天前
@dalaoshu25 不光楼主,这帖里好几个呢
Pillanangel
36 天前
@yyysuo op 做主路由,一般防火墙都有默认的几条起作用,SSH 开启但是基本区域规则就不允许 WAN 到 LAN 的转发。而 ROS 的话,因为有官方版本的硬件,这个硬件本身出厂是没有防火墙规则的,而且开启了 SSH ,密码默认还就那几个。个人经验而已。
dalaoshu25
34 天前
@Pillanangel 都折腾到这个份儿上了还不会配置防火墙,那种人也就死不足惜吧。
yyysuo
34 天前
@dalaoshu25 随便聊聊 v6 ,不至于这么深仇大恨吧。
LnTrx
32 天前
@dalaoshu25 @JayZXu 被攻击的机器有没有跑 BT
nt0p
30 天前
"需求其实很简单,就是在 Adguard Home 和 sing-box 看到是哪个设备在使用服务,根据 IP 给客户端重命名",为什么会有这类需求? AdguardHome 和 sing-box 可以直接看到客户端信息啊。
yyysuo
30 天前
@nt0p 看到的是 v6 地址,并不知道是哪个设备在用。
wangpengfei4113
21 天前
@bobryjosin +1 我也这么做的

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

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

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

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

© 2021 V2EX