ipv6 的获取方式,有状态(DHCPv6) 无状态(SLAAC),选择哪个好?

2022-05-19 12:03:34 +08:00
 mikeluckybiy

才疏学浅,对于 ipv6 一头雾水,有状态(DHCPv6)和无状态(SLAAC)都可以获取 ipv6 ,但无状态的 ipv6 后缀都很长,有状态的 ipv6 后缀是序号数字,这两个选哪个好,有什么区别么?

另外发现,使用有状态(DHCPv6)的方式获取 ipv6 时,安卓设备似乎无法获得 ipv6 。

6726 次点击
所在节点    宽带症候群
43 条回复
neroxps
2022-05-19 12:56:10 +08:00
https://www.nullzero.co.uk/android-does-not-support-dhcpv6-and-google-wont-fix-that/
google 好像不打算支持 DHCPv6
家用宽带里,即使是有状态,PD 前缀还是会变的所以依然是需要依赖 DNS 来访问设备,而且家用纯二层互访应该使用 FE80 地址方便些,所以无状态已经足够,没必要用有状态了,我是这样的环境。
cwbsw
2022-05-19 13:21:31 +08:00
SLAAC 。当上游前缀改变时,符合规范的路由器会同时广播失效前缀和新的前缀,下游设备可以无缝切换。而用 DHCPv6 的话,就算租期设定的很小,断网时间始终还是存在的。
mikeluckybiy
2022-05-19 13:30:04 +08:00
@cwbsw 怎么看租期是多少,我这边显示租期有一百多年。。。另外为什么无状态的地址太长了,有状态的地址看着舒服
mikeluckybiy
2022-05-19 13:33:40 +08:00
@neroxps 无状态的租期是多久怎么看,能设置租期么?另外,无状态的为什么地址比有状态的长很多?
neroxps
2022-05-19 13:55:56 +08:00
@mikeluckybiy 分配算法有关,没开隐私地址的话是按照 mac 分配的。
无状态是 preferred time 和 valid lifetime ,靠路由 ra 组播下发 pd 前缀而已,里 ra 里面带了这两个参数的时间。
如果过期时间太长,会导致旧的地址没释放,地址超过 15 个,获取不到新的地址。
我之前 ros 默认配置这个时间太长了出现这种问题。
ifconfig 可以看到这两个时间
neroxps
2022-05-19 14:11:57 +08:00
@cwbsw 就是奇怪我之前 ros 没有公告 RA 取消前缀。不知道是不是哪里没配置,后来我改了时间
neroxps
2022-05-19 14:28:17 +08:00
翻了下文档,好像 RA 公告 Pd 前缀失效是 RFC7084 协定,Mikrotik 好像没支持。
https://forum.mikrotik.com/viewtopic.php?t=131282
所以还是靠生存时间来确定。
RA 公告间隔< preferred time ?
mikeluckybiy
2022-05-19 15:56:08 +08:00
@neroxps 我还是没搞懂这个租期问题,ifconfig 没有看到时间,dhcpv6 方式获取的地址和 mac 没有关系,我这个 ipv6 的租期时间应该是设置了最大值,有 100 多年才会过期,不知道会不会 ip 被强制下线更新
neroxps
2022-05-19 16:14:27 +08:00
@mikeluckybiy #8 我说无状态分配的情况下,是靠 preferred time 和 valid lifetime 决定 ip 的生存周期。这是路由 RA 公告里面的参数。

有状态分配就是看 dhcpv6 租期了吧?我没搞过 dhcpv6 没研究,就是之前 ROS 遇到的坑,不知道为什么文档默认是 3m 的生存周期,改成 7d 和 30d 导致 linux 机器里面有 15 个 ipv6 地址,超出最大值,就拿不到新的 IPV6 地址。

哦 还有抱歉,是我记错了,命令是 ip addr 才能查看无状态的生存周期,这个好像是根据 RA 间隔来的,收到新的 RA 公告它又会刷新的。

mikeluckybiy
2022-05-19 17:16:14 +08:00
@neroxps 懂了,无状态时我这边看到租期是 72 小时也就是 3 天,有状态时也就是目前使用的,ip addr 显示 valid_lft forever preferred_lft forever ,感觉真是永久性的定义,并且系统识别为固定地址
neroxps
2022-05-19 17:23:53 +08:00
@mikeluckybiy #10 问题是公网那边的 PD 前缀会变的,变了前缀就变。无状态如果租期是 3 天,48 小时重拨一次,可能会出现两个 ipv6 地址,不过也没问题。我之前 ros 给我配成 30 天才出问题。
cloudsigma2022
2022-05-19 18:27:34 +08:00
openwrt 谁成功用 dhcp v6 获取到 v6 ,请告诉我怎么设置
mikeluckybiy
2022-05-19 19:03:44 +08:00
@neroxps 又有个新的问题,似乎开启 dhcpv6 后安卓电视没办法访问 google 了,安卓手机和电脑都正常,已经关了 ipv6 解析,安卓电视也没有 ipv6 地址,不知道什么问题
LnTrx
2022-05-19 19:15:35 +08:00
SLAAC + 隐私扩展 可以防止 IP 被外部暴力扫描
huaes
2022-05-19 19:28:06 +08:00
@cloudsigma2022 网上教程都可以,就是有的地区离谱到只给 /64 ,所以没法 DHCP V6
huaes
2022-05-19 19:29:29 +08:00
DHCP V6 会自带设备名后缀,SLAAC 完全随机会更安全一点而已。
mikeluckybiy
2022-05-19 19:37:53 +08:00
@huaes 但是使用无状态 SLAAC 之后 windows 有 2 个 2 开头的 ipv6 地址,一个是 ipv6 地址,一个是 ipv6 临时地址,这两个有什么区别?正常上网时使用的是哪个?
huaes
2022-05-19 19:45:20 +08:00
@mikeluckybiy IPv6 是给你系统的,那些临时 IPv6 是给软件用的,而且临时 IPv6 不止一个,看软件申请了多少
neroxps
2022-05-19 20:13:29 +08:00
@mikeluckybiy 让 dns 不反会匹配规则的 AAAA 记录
isad
2022-05-19 20:32:27 +08:00
我的电脑 Win10 21H1 连移动发的中移杭州光猫 GS2107 ,无论是 DHCPv6 还是 SLAAC 甚至关掉临时地址,都会用几个小时就断网,这时候租期没到,网关都不可及,别的 ios 或者安卓设备就没有这个问题~~

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

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

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

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

© 2021 V2EX