15.3. Setting Unique Local Unicast Addresses on Interfaces
Problem
You don't want to use just the Link Local addresses, but you would like to know how to add and remove your own IPv6 addresses, and you want to experiment with Unique Local Unicast addresses, so you can test routing.
Solution
The ip command is the tool for this job. Use these commands to set some Unique Local Unicast addresses on two connected PCs:
root@xena:~# ip -6 addr add FC01::1/64 dev eth0
root@stinkpad:~# ip -6 addr add FC01::2/64 dev eth0Now, you can ping6 each other:
root@xena:~# ping6 FC01::2PING FC01::2(fc01::2) 56 data bytes 64 bytes from fc01::2: icmp_seq=1 ttl=64 time=7.33 msroot@stinkpad:~# ping6 FC01::1 $ ping6 FC01::1PING FC01::3(fc01::1) 56 data bytes 64 bytes from fc01::1: icmp_seq=1 ttl=64 time=6.06 ms
And each host can ping6 its own shiny new address. You don't need to specify the interface when you're pinging Unique Local Unicast addresses like you do for Link Local addresses.
These addresses are removed when you reboot, or you can use ip:
# ip -6 addr del FC01::1/64 dev eth0Discussion
This is purely a technical exercise, and not useful for production systems. Unique Local Unicast addresses are supposed to be globally unique. How to achieve this without using a central registry? RFC 4193 "Unique Local IPv6 Unicast Addresses" offers some suggestions for methods for generating unique addresses, but they're intended for programmers to create nice address-generating utilities, not network administrators. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access