IPv6 in practice: addressing, SLAAC, DHCPv6
You set up IPv6 address types, neighbour discovery and automatic addressing on Linux machines and see where IPv4 habits no longer work.
Level 201 · 16 lessons · 15 practice labs
Lessons
Addresses
- Address types: global, unique local, link-local, multicast
- Adding addresses and routes with ip -6
- Multicast groups and ff02::1
- Short task: reach a neighbour by its link-local address
Neighbour discovery
- NDP: neighbour solicitation and advertisement
- Router advertisements and radvd
- Automatic addresses with SLAAC
- Duplicate address detection
- Short task: hand out a prefix to a small LAN with radvd
Services and troubleshooting
- DHCPv6: stateful and stateless mode
- DNS in IPv6: AAAA records and RDNSS
- IPv6 static routing and the default route
- Why you must not block ICMPv6 blindly
- IPv6 troubleshooting: ping -6, tracepath -6, ip -6 neigh
- Short task: make a client dual-stack and see its preference order
Wrap-up
- Capstone: bring an office LAN onto IPv6
Practice labs
- What kind of address is this?: Classify the machine’s IPv6 addresses as global, unique local, link-local or multicast, and write down the scope of each.
- Give the server a static IPv6 address: Add a static IPv6 address from the given prefix and a default route to the server, and ping both the gateway and a host in the other subnet.
- The ping to an fe80 address won’t go: Find why a link-local address is unreachable (missing zone ID, wrong or down interface) and show both a ping and an SSH connection with the correct syntax.
- Count the devices from the neighbour table: Find the devices on the segment with a ping to ff02::1 and ip -6 neigh, and tabulate the link-local address to MAC pairs.
- Capture neighbour discovery: Capture the NS and NA messages before a ping with tcpdump; calculate the target’s solicited-node multicast address and compare it with the capture.
- An address stuck in ‘dadfailed’: Prove with a capture that a server’s dadfailed address is caused by a duplicate, remove the conflict and show the address becomes valid.
- What is the router advertising?: Capture the router advertisement on the network with rdisc6 or tcpdump, and write down the prefix, lifetimes and M/O flags.
- The server gets no SLAAC address: Find the setting that ignores router advertisements (accept_ra, forwarding), fix it and show the SLAAC address and default route arrive.
- The advertised prefix is wrong: no addresses form: Diagnose clients failing to form addresses, or losing them, because of a wrong prefix length and lifetimes in radvd, fix it and show the result on two clients.
- Add an AAAA record for the site: Add an AAAA record for the server’s IPv6 address to the DNS zone and show with dig AAAA and curl -6 that the site is reachable.
- The IPv6 client doesn’t know its DNS server: Hand out the DNS server by adding RDNSS to the advertisement or with stateless DHCPv6, and show an IPv6-only client resolves names.
- Managed IPv6 addresses for servers: Hand servers addresses from a set range using the M flag and stateful DHCPv6, reserve a fixed address for one and verify with the lease records.
- Everything broke when ICMPv6 was blocked: Show what the rule dropping all ICMPv6 breaks, change it to allow the required types and prove connectivity returns.
- IPv6 works locally but not beyond: Find the missing IPv6 default route and the disabled forwarding on the router, fix them and show the path to the outside subnet with tracepath -6.
- Sites take twenty seconds to open: Diagnose the delay a dual-stack client suffers because of a broken IPv6 path, fix the path and show with curl timings that both protocols are fast.
About this course
You set up IPv6 address types, neighbour discovery and automatic addressing on Linux machines and see where IPv4 habits no longer work.
What you will learn
- Addresses
- Neighbour discovery
- Services and troubleshooting
- Wrap-up
Prerequisites
Finishing the level 101 courses of the same path, or knowing those topics, is enough.
Lab environment
Lessons run in your own Kali Linux terminal in the browser, connected to a private lab network. Nothing to install.
Frequently asked questions
- Is this course right for my level?
- The course is at level 201; it assumes you know the topics of the lower-level courses.
- Is there anything to install?
- No. Every lesson runs in your own lab environment that opens in the browser.
- How do lessons work?
- Each lesson has 8 to 10 steps and a short quiz. Early steps show the command to type, later steps give less help; if two attempts fail, the solution opens.
- Can I try it for free?
- Yes. The first three lessons of every course are free.