启用Privacy Extension
( net.ipv6.conf.eth0.use_tempaddr=2
in /etc/sysctl.conf
) 为IPv6
我提供了一个固定时间段的新 IP 地址,有没有办法按需获取新的 IPv6?即在需要时刷新新的 IPv6?
启用Privacy Extension
( net.ipv6.conf.eth0.use_tempaddr=2
in /etc/sysctl.conf
) 为IPv6
我提供了一个固定时间段的新 IP 地址,有没有办法按需获取新的 IPv6?即在需要时刷新新的 IPv6?
“活动”临时地址具有临时和动态属性,但未弃用。当它即将被弃用时(即:它的preferred_lft值下降到0),内核将一个新的临时地址添加到接口。
接口的当前临时地址,将是此处显示的结果的一部分:
但不是旧地址的一部分,它们仍然有效但已弃用,如下所示:
您只需将其
preferred_lft
属性降低到接近零即可触发新临时地址的创建。从反复试验来看,如果设置低于 3,这将不起作用preferred_lft
:在触发创建之前倒计时达到 0,然后它就不再起作用(但仍然可以preferred_lft
稍后再次设置为 >=3 以获取触发器)。我不知道是否有任何关于这种特殊性的旋钮。5 秒看起来是一个安全值,这意味着新地址将在大约 2 或 3 秒后出现。假设当前在接口eth0上找到的值为 2001:db8::1/64 :
请注意,对此进行篡改会删除动态属性,这不会自然发生,并且可能会比预期更快地触发稍后创建其他临时地址。
使用
ip
的 JSON 输出和jq
一些可编写脚本是可能的,这就是我输出的命令,准备通过管道传输到 shell 以一次更改所有候选临时地址(通常需要多宿主系统来获取多个但篡改这也可能会在以后创建多个)。它验证临时和动态地址不被弃用以将其视为候选地址:这将再次输出:
您也可以考虑减少
valid_lft
让现在已弃用的地址更快地完全消失。