如何在开启slaac的情况下不让指定设备获取ipv6
网上找了很多方案,都是需要关闭slaac,开启dhcpv6才行,比如:https://v2ex.com/t/664819 (需要使用dhcpv6) 和 https://v2ex.com/t/736920 (需要关闭slaac)
这样安卓就无法获取ipv6了(因为安卓只支持slaac不支持dhcpv6)。有什么办法使用slaac但是不让某个设备获取ipv6么? 而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 因为安卓只支持slaac不支持dhcpv6
支持啊https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif 支持slaac?确实支持啊。但找到的方案都要关闭slaac,只用dhcpv6。 抱歉,我一直认为我的设备是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 这样没用,就像 https://v2ex.com/t/736920 中说的那样:
ra 会定期广播的,所以就算你用 ip6tables 阻止了来自安卓设备的 rs 也没用,广播时间一到安卓设备还是会收到 ra 尝试ip6tables 阻止对该设备发RA?(
话说回来,为什么不想让他获取v6呢https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif 无法阻止,因为是广播地址,不是该设备的地址。阻止这个,那所有设备全都无法获取ipv6了。 联通光猫就是卡在这里,回头试试看看,移动的规范,下级随便什么设备,多少次nat都支持 主要是不想让设备分布在不同nat下面,想让所有设备全在一个广播域内,这样才能互联。
页:
[1]