如何找到我的系统的DHCPv6 DUID?

我想使用DHCPv6为运行Ubuntu Server 15的计算机分配静态IPv6地址。 为此,我需要知道DHCP客户端使用的DUID ,以便我可以在网络的DHCP服务器中为其分配静态IP。

如何找出正在使用的DUID?

Ubuntu服务器使用一些标志调用dhclient,但大多数是默认选项,因此它默认为类型1 DUID-LLT DUID。 Ubuntu桌面使用网络管理器,然后使用类型4 DUID-UUID DUID调用dhclient。

对于服务器,它将它放在/var/lib/dh​​cp/dhclient6…….
对于桌面,它将它放在/var/lib/NetworkManager/dhclient6…….

这是一个奇怪的字符串,看起来像:
default-duid“\ 000 \ 001 \ 000 \ 001 \ 037 \ 305 \ 371 \ 341 \ 001 \ 002 \ 003 \ 004 \ 005 \ 006”

这是一个简短的脚本,您可以使用它将其转换为普通的hex格式duid。
只需运行脚本:

./script '\000\001\000\001\037\305\371\341\001\002\003\004\005\006' 

剧本:

 #!/bin/bash printf $1 | hexdump -e '14/1 "%02x " "\n"' | sed 's/ /:/g' 

如果您正在使用带有ISC dhcpd的DHCP,请查看:

/etc/dhcp/dhclient6.conf


如果您使用dibbler作为dhcp客户端检查DUID:

/var/lib/dibbler/client-duid

如果有任何其他位,也可以在/etc/dibbler/client.conf检查它。