My Personal Collection of IPv6 Notes
- Last updated: Jul 7, 2024

IPv6 is the future of networking and will soon replace IPv4. That's what we have been hearing for quite some time now. It must be acknowledged that the complete migration to IPv6 is taking longer than expected. While we can say that the progress is still slow, we are witnessing a concrete increase in the number of IPv6 addresses objectively used. Here, I will present various notes about IPv6. I hope these notes can be useful for others, and perhaps even for you!
Miscellaneous
Address
Adresses | IPv6 | IPv4 | Notes |
---|---|---|---|
Link-local address | fe80::/10 | 169.254.0.0/16 | Address autoconfiguration |
Unique local address | fc00::/7 | 10.0.0.0/8 | Addresses analogous to IPv4 private network addresses. |
Global Monodiffusion | 2000::/3 | 46.105.57.169 | Public IP |
Multicast address | ffx2::/16 | 224.0.0.0/24 | ff02::1 : All nodes on the local network segment, ff02::2 : All routers on the local network segment |
ARP
In IPv6, ARP has been replaced by NDP (Neighbor Discovery Protocol).
Address
- Structure:
# /64 :
2001:db8:0000:0000:0000:0000:0000:0001
_____________|____|___________________
network ID subnet interface ID
Note : The network ID is determined by your ISP when you receive a block of real IPv6 addresses. You control the subnet and interface.
Real-world Usage
Linux
- Assign ip address to an interface:
root@host:~# ip -6 addr add 2001:0db8::1/64 dev eth0
- Delete ip address:
root@host:~# ip -6 addr del 2001:0db8::1/64 dev eth0
- Add route:
root@host:~# ip route add 2001:db8::3/64 dev eth0
- Add default route:
root@host:~# ip -6 route add default via 2001:db8::1a
- Show routes table:
root@host:~# ip -6 route show
- DHCP to an interface:
root@host:~# dhcp -6 eth0
- Disable IPv6:
root@host:~# sysctl -w net.ipv6.conf.all.disable_ipv6=1
root@host:~# sysctl -w net.ipv6.conf.all.autoconf=0
root@host:~# sysctl -w net.ipv6.conf.default.disable_ipv6=1
root@host:~# sysctl -w net.ipv6.conf.default.autoconf=0
- /etc/network/interfaces:
iface eth0 inet6 static
address 2001:db8::1/64
gateway fe80::dead:beaf
- Enable IPv6 routing:
root@host:~# sysctl -w net.ipv6.conf.all.forwarding=1
root@host:~# cat /proc/sys/net/ipv6/conf/eth0/forwarding
- Checking for IPv6 Machines in your LAN:
root@host:~# ping -6 -c4 ff02::1%eth0
- Displaying the Neighbor Table (ARP Equivalent):
root@host:~# ip -6 neigh show
- ssh:
root@host:~# ssh user@fe80::dead:beaf%eth0
- scp to /tmp/ directory:
root@host:~# scp FILE user@\[fe80::dead:beaf%eth0\]:/tmp/
- xfreerdp:
root@host:~# xfreerdp /v:[fe80::dead:beaf%eth0]
root@host:~# xfreerdp3 /v:[fe80::dead:beaf%eth0] /auth-pkg-list:ntlm,kerberos
Windows
- Windows share:
\\fe80-0-0-0-0-0-dead-beaf.ipv6-literal.net
\\2001-db8-0-0-0-0-0-1.ipv6-literal.net
- http:
https://[fe80::dead:beaf]/