全球主机交流论坛

标题: 如何在开启slaac的情况下不让指定设备获取ipv6 [打印本页]

作者: musicapple    时间: 2022-2-17 16:30
标题: 如何在开启slaac的情况下不让指定设备获取ipv6
网上找了很多方案,都是需要关闭slaac,开启dhcpv6才行,比如:

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

这样安卓就无法获取ipv6了(因为安卓只支持slaac不支持dhcpv6)。有什么办法使用slaac但是不让某个设备获取ipv6么?
作者: emptysuns    时间: 2022-2-17 16:32
  1. 因为安卓只支持slaac不支持dhcpv6
复制代码


支持啊
作者: musicapple    时间: 2022-2-17 16:36
emptysuns 发表于 2022-2-17 16:32
支持啊

支持slaac?确实支持啊。但找到的方案都要关闭slaac,只用dhcpv6。
作者: musicapple    时间: 2022-2-17 16:49
emptysuns 发表于 2022-2-17 16:32
支持啊

而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
作者: emptysuns    时间: 2022-2-17 17:23
musicapple 发表于 2022-2-16 23:49
而dhcpv6一直是不支持的,而且是won't fix:

《现在是2020年了,Android的IPv6仍然是坏的》

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

我没这方面的需求,但是如果真的是没别的办法的话,可尝试屏蔽slaac的RS-RA过程?
网关上做防火墙,屏蔽来自该安卓设备mac地址的目的地址是ff02::1,这个RS一定会用到的组播地址的所有报文来禁止它获取,但是这样太麻烦了
作者: musicapple    时间: 2022-2-17 17:27
emptysuns 发表于 2022-2-17 17:23
抱歉,我一直认为我的设备是dhcp下发的
重新看了下网关的配置,我关闭了dhcpv6仅用slaac
不过上游一直不 ...

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

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

作者: emptysuns    时间: 2022-2-17 17:30
本帖最后由 emptysuns 于 2022-2-17 00:32 编辑
musicapple 发表于 2022-2-17 00:27
这样没用,就像 https://v2ex.com/t/736920 中说的那样:


尝试ip6tables 阻止对该设备发RA?(
话说回来,为什么不想让他获取v6呢
作者: musicapple    时间: 2022-2-17 18:30
emptysuns 发表于 2022-2-17 17:30
尝试ip6tables 阻止对该设备发RA?(
话说回来,为什么不想让他获取v6呢 ...


无法阻止,因为是广播地址,不是该设备的地址。阻止这个,那所有设备全都无法获取ipv6了。
作者: hcyme    时间: 2022-2-17 18:51
联通光猫就是卡在这里,回头试试看看,移动的规范,下级随便什么设备,多少次nat都支持
作者: musicapple    时间: 2022-2-17 18:53
hcyme 发表于 2022-2-17 18:51
联通光猫就是卡在这里,回头试试看看,移动的规范,下级随便什么设备,多少次nat都支持 ...

主要是不想让设备分布在不同nat下面,想让所有设备全在一个广播域内,这样才能互联。
作者: hcyme    时间: 2022-2-17 18:58
musicapple 发表于 2022-2-17 18:53
主要是不想让设备分布在不同nat下面,想让所有设备全在一个广播域内,这样才能互联。 ...

我这个猫坑,手机拿不到6,电脑用WiFi就没问题

作者: musicapple    时间: 2022-2-17 19:00
hcyme 发表于 2022-2-17 18:58
我这个猫坑,手机拿不到6,电脑用WiFi就没问题

手机是Android?Android的话需要开启slaac才行,不支持dhcpv6。
作者: hcyme    时间: 2022-2-17 19:02
musicapple 发表于 2022-2-17 19:00
手机是Android?Android的话需要开启slaac才行,不支持dhcpv6。

不仅仅这个,还有联通机房下发必须/64什么的

作者: musicapple    时间: 2022-2-17 19:05
hcyme 发表于 2022-2-17 19:02
不仅仅这个,还有联通机房下发必须/64什么的

下发的如果是/64的话可以用6relayd解决。
作者: musicapple    时间: 2022-2-17 19:42
emptysuns 发表于 2022-2-17 17:30
尝试ip6tables 阻止对该设备发RA?(
话说回来,为什么不想让他获取v6呢 ...

另外,不想让他获取v6的原因是在某段时间想让他走隧道,但只有v4能走隧道,如果继续开启v6的话设备会优先选择v6连接,导致访问某些网站被tcp reset(连接重置的话,浏览器并不会从v6切换回v4。只有v6连不上,浏览器才会尝试v4)。




欢迎光临 全球主机交流论坛 (https://ddzzz.eu.org/) Powered by Discuz! X3.4