灌水王 发表于 2023-12-30 14:44:52

如何在开启slaac的情况下不让指定设备获取ipv6

网上找了很多方案,都是需要关闭slaac,开启dhcpv6才行,比如:

https://v2ex.com/t/664819 (需要使用dhcpv6) 和 https://v2ex.com/t/736920 (需要关闭slaac)

这样安卓就无法获取ipv6了(因为安卓只支持slaac不支持dhcpv6)。有什么办法使用slaac但是不让某个设备获取ipv6么?

灌水王 发表于 2023-12-30 14:45:33

而dhcpv6一直是不支持的,而且是won't fix:

《现在是2020年了,Android的IPv6仍然是坏的》
http://www.diglog.com/story/1003742.html

《Support for DHCPv6 (RFC 3315)》(Android官方IssueTracker,状态为Won't fix)
https://issuetracker.google.com/issues/36949085

《Android 支持 DHCP 获取 IPv6 了吗?》(结论是只支持slaac,不支持dhcpv6)
https://v2ex.com/t/799284

kongtiao 发表于 2023-12-30 14:46:07

因为安卓只支持slaac不支持dhcpv6

支持啊https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif

lrflsy 发表于 2023-12-30 14:46:47

支持slaac?确实支持啊。但找到的方案都要关闭slaac,只用dhcpv6。

灌水王 发表于 2023-12-30 14:47:38

抱歉,我一直认为我的设备是dhcp下发的
重新看了下网关的配置,我关闭了dhcpv6仅用slaac
不过上游一直不修,可能考虑到用dhcpv6是个过渡期,最终都得走向slaac吧

我没这方面的需求,但是如果真的是没别的办法的话,可尝试屏蔽slaac的RS-RA过程?
网关上做防火墙,屏蔽来自该安卓设备mac地址的目的地址是ff02::1,这个RS一定会用到的组播地址的所有报文来禁止它获取,但是这样太麻烦了https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif

yuefen5 发表于 2023-12-30 14:48:32

这样没用,就像 https://v2ex.com/t/736920 中说的那样:

ra 会定期广播的,所以就算你用 ip6tables 阻止了来自安卓设备的 rs 也没用,广播时间一到安卓设备还是会收到 ra

灌水王 发表于 2023-12-30 14:48:39

尝试ip6tables 阻止对该设备发RA?(
话说回来,为什么不想让他获取v6呢https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif

tom95588 发表于 2023-12-30 14:49:39

无法阻止,因为是广播地址,不是该设备的地址。阻止这个,那所有设备全都无法获取ipv6了。

灌水王 发表于 2023-12-30 14:50:14

联通光猫就是卡在这里,回头试试看看,移动的规范,下级随便什么设备,多少次nat都支持

莞尔 发表于 2023-12-30 14:50:39

主要是不想让设备分布在不同nat下面,想让所有设备全在一个广播域内,这样才能互联。
页: [1]
查看完整版本: 如何在开启slaac的情况下不让指定设备获取ipv6