- Edit
/etc/network/interfaces
, change or append:iface ??? inet6 dhcp
where ??? is your interface name, e.g. eth0 or enp12s0, and then reboot.
The DUID is used by the router to assign ULA(LAN) ipv6 addresses to clients, similar to how ipv4 DHCP server assign ipv4 addresses based on MAC. To find out your current DUID, follow these steps:
- Run
cat /var/lib/dhcp/dhclient6.???.leases | grep default-duid
, replace ??? with the name of your network interface, e.g. eth0 or enp12s0. - Copy the output from the previous command, remove the
default-duid
prefix and the tailing;
. Use the remaining string for the next command. - Run
printf "???" | hexdump -e '14/1 "%02x " "\n"' | sed 's/ /:/g'
, the output is your current DUID in human-readable form.
- Edit
/etc/systemd/networkd.conf
, uncomment and setDUIDRawData=
- Reboot
- http://manpages.ubuntu.com/manpages/bionic/man5/networkd.conf.5.html
- https://askubuntu.com/questions/712159/how-can-i-find-out-my-systems-dhcpv6-duid
- https://redhatlinux.guru/2019/07/01/find-duid-on-rhel-and-centos-servers/
- https://askubuntu.com/questions/1198955/how-can-i-change-my-ubuntus-ipv6-duid
- https://www.jumpingbean.co.za/blogs/mark/set-up-ipv6-lan-with-linux
- https://askubuntu.com/questions/616856/how-do-i-add-an-additional-ipv6-address-to-etc-network-interfaces