19.04
我已经在 LAN 上使用 IPv6 几个星期了。Ping、SSH、NFS 都很好。三台 19.04 机器,都很好。
昨天,更新后,IPv6 停止工作。处理对 LAN 上的 IPv6 地址的请求时,系统挂起。我说“更新后”,是因为我确实进行了更新,几个小时后我注意到了这个问题;所以我不是说更新导致了这个问题,只是指出了巧合。
我一直使用 mngtmpaddr
ip a 命令报告的地址。尝试了一下,我切换到使用另一个 IPv6 地址(/128 地址),现在这个地址可以正常工作了。
这不仅仅是好奇。这对我来说是个问题,因为当我离开 LAN 时,我一直使用 NFS 服务器的 IPv6 地址来挂载其共享。以前,/etc/fstab
每当我离开家时,我都必须更改我的。那么:那么发生了什么事?
- 这两个地址有什么区别?
- 为什么会
mngtmpaddr
停止工作? - 此更改在 LAN 外部是否仍有效?
答案1
经过一番研究,我发现 IPv6 地址会过期——除非另有分配。我相信,这种默认设置是为了保护客户。然而,这种担忧与以下要求相矛盾:服务器有一个一致的地址。
所以那是IPv6 地址停止工作的原因。
为了获取“静态” - 永久 - IPv6,我已将 IPv6 地址添加到 netplan 配置中。
renderer: networkd
wifis:
wlp3s0:
dhcp4: yes -- set through DHCP reservation
dhcp6: no
addresses: [10.0.0.120/24,"-:-:-:-::-/128"]
default
我从当前动态分配的 IPv6 地址中获取了 IPv6 地址,并从命令的路由中获取了网关ip -6 r
。(我发现我必须重新启动机器才能应用。简单netplan apply
或networking restart
不够。)
这将为forever
IPv6 地址分配一个有效期并创建另一个临时 IPv6。
我的三台机器中有一台(全部更新到 19.04 版)无法创建forever
生命周期。我已使用以下方法修复了这个问题:
ip a change <device IPv6 address> dev <device id> preferred_lft forever