如何使用shell从MAC地址派生IPv6地址?

Nid*_*dal 11 sed awk ipv6 mac-address

我们知道我们可以使用 MAC 地址来创建接口标识符,例如用于在网络中应该是唯一的链路本地 IPv6 地址。

该图像显示了执行此操作的方法:

从 MAC 地址创建接口标识符

我的问题是:

  • 如何使用awk或从 MAC 创建 IPv6 地址sed
  • 或者是否有任何命令可以为我提供特定 MAC 的本地链路 IPv6 地址(类似的createIPv6 myMAC)?

Dub*_*ubu 11

如果您想从 MAC(和给定前缀)创建完整的 IPv6 地址,您可以使用ipv6calcPeter Bieringer的优秀工具。

以下命令fe80::从 MAC 地址创建链路本地 IPv6 地址(前缀):

$ ipv6calc --action prefixmac2ipv6 --in prefix+mac --out ipv6addr fe80:: 00:21:5b:f7:25:1b
fe80::221:5bff:fef7:251b
Run Code Online (Sandbox Code Playgroud)

您可以保留大部分选项,让命令猜测要做什么:

$ ipv6calc --in prefix+mac fe80:: 00:21:5b:f7:25:1b
No action type specified, try autodetection...found type: prefixmac2ipv6
fe80::221:5bff:fef7:251b
Run Code Online (Sandbox Code Playgroud)

对于 Debian 发行版,ipv6calc位于主存储库中。