如何在 Linux 中更改接口的 IPv6 链路本地地址?

如何在 Linux 中更改接口的 IPv6 链路本地地址?

我想删除接口的默认 IPv6 链路本地地址,并将其替换为自定义的 IPv6 链路本地地址?

你能帮我吗?

如果我分配一个新的链路本地 IPv6 地址,如下所示,则接口会显示两个链路本地 IPv6 地址。/sbin/ip -6 addr add fe80::ade1:ac14:1334/64 dev eth0 scope link

我知道下面的命令可以删除旧的链路本地 IPv6 地址,还有其他方法可以在不指定地址的情况下删除它吗?sbin/ip -6 addr del dev eth0。

答案1

IP 地址对于ip -6 a del命令是必需的,因此您应该编写一个小脚本来查找 IPv/6 地址。原始本地链路地址包含转换后的 EUI-64 ID 格式的接口的 MAC 地址,这意味着 MAC 地址的第 7 位的第一个字节是补充的。

示例: ip a show enp0s8命令输出(删除了不必要的部分):

enp0s8:...

链接/以太08:00:27:02:8a:41brd ff:ff:ff:ff:ff:ff

inet6 fe80::0 时 00 分 27 秒ff:fe02:8a41/64 范围链接

EUI-64 编号:08:00:27:氟化乙烯共聚物:02:8a:41

转换后的 EUI-64 ID,对第 7 位取补:08(0000 1000)将0a(0000 1010)

您可以从 MAC 地址构建原始本地链接 IP,然后可以用来删除此 IPv6 地址。

相关内容