才疏学浅,对于 ipv6 一头雾水,有状态(DHCPv6)和无状态(SLAAC)都可以获取 ipv6 ,但无状态的 ipv6 后缀都很长,有状态的 ipv6 后缀是序号数字,这两个选哪个好,有什么区别么?
另外发现,使用有状态(DHCPv6)的方式获取 ipv6 时,安卓设备似乎无法获得 ipv6 。
1
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 地址方便些,所以无状态已经足够,没必要用有状态了,我是这样的环境。 |
2
cwbsw 2022-05-19 13:21:31 +08:00
SLAAC 。当上游前缀改变时,符合规范的路由器会同时广播失效前缀和新的前缀,下游设备可以无缝切换。而用 DHCPv6 的话,就算租期设定的很小,断网时间始终还是存在的。
|
3
mikeluckybiy OP @cwbsw 怎么看租期是多少,我这边显示租期有一百多年。。。另外为什么无状态的地址太长了,有状态的地址看着舒服
|
4
mikeluckybiy OP @neroxps 无状态的租期是多久怎么看,能设置租期么?另外,无状态的为什么地址比有状态的长很多?
|
5
neroxps 2022-05-19 13:55:56 +08:00 via iPhone
@mikeluckybiy 分配算法有关,没开隐私地址的话是按照 mac 分配的。
无状态是 preferred time 和 valid lifetime ,靠路由 ra 组播下发 pd 前缀而已,里 ra 里面带了这两个参数的时间。 如果过期时间太长,会导致旧的地址没释放,地址超过 15 个,获取不到新的地址。 我之前 ros 默认配置这个时间太长了出现这种问题。 ifconfig 可以看到这两个时间 |
7
neroxps 2022-05-19 14:28:17 +08:00 via iPhone
翻了下文档,好像 RA 公告 Pd 前缀失效是 RFC7084 协定,Mikrotik 好像没支持。
https://forum.mikrotik.com/viewtopic.php?t=131282 所以还是靠生存时间来确定。 RA 公告间隔< preferred time ? |
8
mikeluckybiy OP @neroxps 我还是没搞懂这个租期问题,ifconfig 没有看到时间,dhcpv6 方式获取的地址和 mac 没有关系,我这个 ipv6 的租期时间应该是设置了最大值,有 100 多年才会过期,不知道会不会 ip 被强制下线更新
|
9
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 公告它又会刷新的。 |
10
mikeluckybiy OP @neroxps 懂了,无状态时我这边看到租期是 72 小时也就是 3 天,有状态时也就是目前使用的,ip addr 显示 valid_lft forever preferred_lft forever ,感觉真是永久性的定义,并且系统识别为固定地址
|
11
neroxps 2022-05-19 17:23:53 +08:00
@mikeluckybiy #10 问题是公网那边的 PD 前缀会变的,变了前缀就变。无状态如果租期是 3 天,48 小时重拨一次,可能会出现两个 ipv6 地址,不过也没问题。我之前 ros 给我配成 30 天才出问题。
|
12
cloudsigma2022 2022-05-19 18:27:34 +08:00
openwrt 谁成功用 dhcp v6 获取到 v6 ,请告诉我怎么设置
|
13
mikeluckybiy OP @neroxps 又有个新的问题,似乎开启 dhcpv6 后安卓电视没办法访问 google 了,安卓手机和电脑都正常,已经关了 ipv6 解析,安卓电视也没有 ipv6 地址,不知道什么问题
|
14
LnTrx 2022-05-19 19:15:35 +08:00
SLAAC + 隐私扩展 可以防止 IP 被外部暴力扫描
|
15
huaes 2022-05-19 19:28:06 +08:00
@cloudsigma2022 网上教程都可以,就是有的地区离谱到只给 /64 ,所以没法 DHCP V6
|
16
huaes 2022-05-19 19:29:29 +08:00
DHCP V6 会自带设备名后缀,SLAAC 完全随机会更安全一点而已。
|
17
mikeluckybiy OP @huaes 但是使用无状态 SLAAC 之后 windows 有 2 个 2 开头的 ipv6 地址,一个是 ipv6 地址,一个是 ipv6 临时地址,这两个有什么区别?正常上网时使用的是哪个?
|
18
huaes 2022-05-19 19:45:20 +08:00
@mikeluckybiy IPv6 是给你系统的,那些临时 IPv6 是给软件用的,而且临时 IPv6 不止一个,看软件申请了多少
|
19
neroxps 2022-05-19 20:13:29 +08:00 via iPhone
@mikeluckybiy 让 dns 不反会匹配规则的 AAAA 记录
|
20
isad 2022-05-19 20:32:27 +08:00
我的电脑 Win10 21H1 连移动发的中移杭州光猫 GS2107 ,无论是 DHCPv6 还是 SLAAC 甚至关掉临时地址,都会用几个小时就断网,这时候租期没到,网关都不可及,别的 ios 或者安卓设备就没有这个问题~~
|
21
Atomo 2022-05-19 20:58:48 +08:00
请无脑选择,无状态(SLAAC),历史的潮流谁也无法阻挡
|
22
mikeluckybiy OP @huaes 怎么看 DHCP V6 带的设备名后缀是哪个?好像 mac 地址不是 dhcpv6 的地址
|
23
mikeluckybiy OP @LnTrx 隐私扩展怎么设置
|
24
jousca 2022-05-19 21:51:38 +08:00
@mikeluckybiy IPV6 下,要学会用 DNS 解析主机名字,不然 IP 太长记不住。
但是对你个人来说,DHCPv6 可能更简单。 V6 的很多新东西和 V4 不一样,不要按惯性思维去考虑它。 |
25
fastcache 2022-05-19 23:44:10 +08:00 via iPhone
大家都以为 DHCPv6 更简单,实际上很难用,一般光猫的 SLAAC 做得最好,非常稳定
|
26
fastcache 2022-05-19 23:52:23 +08:00 via iPhone
@mikeluckybiy 随机地址主要是接受连接用,然而对于终端系统 win10/android/ios 没什么卵用......临时地址是隐私扩展,对外发起连接用,每天变。 winserver 属于服务器 OS ,默认是关闭随机地址(用 eui64)
|
27
neroxps 2022-05-20 08:04:32 +08:00 via iPhone
@isad 看看路由表,ipv6 的路由是用 FE80 地址的,是不是网络里面有两个发布 RA 公告的路由器?
|
28
Xymmh 2022-05-20 08:54:51 +08:00 via Android
两个都开不就好了。想内网通讯方便就设置一个 fd00 开头的 ULA 。
|
29
mikeluckybiy OP @jousca 我比较喜欢 DHCPv6 ,地址比较短,但有个问题,开了 DHCPv6 之后,系统会得到一个 ipv6 的 dns 地址,导致访问 google 时会使用这个 ipv6 dns (不过软路由)而不是原先的 ipv4 dns (过软路由),解析会出问题,有没有办法把系统自动的 ipv6 dns 地址改成和 ipv4 dns 一样,都使用软路由的地址?
|
30
mikeluckybiy OP @fastcache 比较喜欢 DHCPv6 ,地址比较短,但有个问题,开了 DHCPv6 之后,系统会得到一个 ipv6 的 dns 地址,导致访问 google 时会使用这个 ipv6 dns (不过软路由)而不是原先的 ipv4 dns (过软路由),解析会出问题,有没有办法把系统自动的 ipv6 dns 地址改成和 ipv4 dns 一样,都使用软路由的地址?
|
31
fastcache 2022-05-20 18:43:14 +08:00 via iPhone
@mikeluckybiy 当然可以,DHCPv6 和 RA 都可以推送 IPv6 DNS 地址,我是手工设的,可以不用上游 DHCPv6-PD 的地址
|
32
mikeluckybiy OP 怎么设置成软路由的 dns ,软路由没有 ipv6
|
33
77ShiORi 2022-05-20 23:28:07 +08:00
@mikeluckybiy #32
v6 的 DNS 可以试试设成 IPv4-Mapped Addresses ,也是把软路由的 v4 地址写成::ffff:x.x.x.x 形式的 v6 地址。 |
34
LnTrx 2022-05-21 00:27:14 +08:00
@mikeluckybiy 一般主流操作系统默认就是开启的
|
35
mikeluckybiy OP @77ShiORi 试过了,似乎不行,毕竟软路由的实际 ipv6 是动态的,怎么给软路由设置个 fe80 的静态 ipv6 ?
|
36
RayLin 2022-05-21 06:35:44 +08:00 via Android
可以使用 nat66 ,这样 wan 的 ip 更新了也无感,/64 用户也能使用。
|
37
acbot 2022-05-21 08:27:42 +08:00
当然是 SLAAC ! 首先,不是所有设备都支持 DHCPv6 但都支持 SLAAC 。 另外,后缀不固定或者说长的问题,Linux 系统可以自定义后缀( Windows 没有研究过)
|
38
rebecca554owen 2022-05-21 15:24:11 +08:00 via Android
地址信息用 slaac ,dns 用 dhcpv6 。
|
39
mikeluckybiy OP @rebecca554owen 我现在想了个办法,都采用 dhcpv6 ,ipv6 的 dns 留空,似乎也可以
|
40
rebecca554owen 2022-05-22 14:52:22 +08:00 via Android
ipv6 的 dns 可以用静态 dns ,dhcp 变更前缀太慢了。
|
41
mikeluckybiy OP @rebecca554owen dhcp 多久变更一次前缀的?还没搞懂 ipv6 的原理,前缀不变更的话有什么问题么?
|
42
rebecca554owen 2022-05-24 00:03:15 +08:00 via Android
@mikeluckybiy 路由器 dhcp 租期一般 12 小时,前缀变化了你就相当于断网重拨号了,IP 不一样了。v6 重拨次数很频繁。
|
43
madizan 2022-05-28 08:50:17 +08:00 via iPhone
我现在在软路由上设置了一个 ipv6@LAN 的虚拟接口获取了 ipv6 ,同时主路由用了 DHCPv6 给软路由分配 ipv6 ,并且将 DHCPv6 分配地址范围设置成了 1 个 ip ,也就是除软路由被静态分配之外,其他只有一个设备能获取 ipv6 地址。
现在的问题是每次前缀发生变化,我都要在主路由里改软路由的静态地址前缀,并重启软路由的虚拟接口。 |