In this exercise you will collect knowledge about Internet Protocol version 6 (IPv6). The main task is to build a small network.
Please familiarize yourself with the network topology before you start doing this assignment.
When you feel ready to start the actual assignment, check that the radvd daemon is not running.
Use a prefix length of 64 for IPv6 addresses in this exercise.
Configure your network as described.
The Virtual Machines (VM)
are connected according to the network topology shown above. Each line
represents a crossover connection to another machine. Use Lab1 as the Router and the other two VMs as Nodes.
Add the following addresses to the /etc/hosts file on each VM.
::1 localhost 3ffe:300:10:3::2 Node1 3ffe:300:10:4::2 Node2 3ffe:300:10:3::1 Router Router-0 3ffe:300:10:4::1 Router-1
Set up Lab1 to act as a router. Use the following sysctl commands (note that the last one will avoid messing up eth0 interface, update: you should do the last one on all of your VMs to prevent problems with misconfiguration):
~> sysctl -w net.ipv6.conf.default.forwarding=1 ~> sysctl -w net.ipv6.conf.all.forwarding=1 ~> sysctl -w net.ipv6.conf.eth0.accept_ra=0
1.1 | What do the systcl commands do? | 1 p |
1.2 | List all commands that you used to add static addresses to the router and all the nodes and interfaces. Explain one of the add address commands. |
1 p |
1.3 |
List the command that you used to add the default route on Node 1, and explain it. | 1 p |
1.4 |
List interface information from Node 1, as well as the IPv6 routing table.
Explain the IPv6 information from the interface and the routing table. What does a double colon (::) indicate? |
3 p |
1.5 |
Start the tcpdump program on each machine. From Node1, ping the Router and Node2. You should get a return packet for each ping you have sent. If not, recheck your network configuration. Show the headers of successful ping return packets. Show ping6 output as well as tcpdump output. | 2 p |
Install IPv6 Router Advertisement Daemon (radvd)
Modify the content of radvd.conf file to be used in your network (If radvd.conf file does not exist create one under /etc directory). Start the router advertisement daemon (radvd). Note: Verify with 'ps' -command, that radvd started up properly. If radvd refuses to start up (process exits with non-zero value) then the error can be e.g. typo in radvd.conf file.Check that router advertisement packets are sent to each interface periodically.
Remove all static addresses from the interfaces and run the interfaces down.
Bring the interfaces on Node1 and Node2 back up.
Start the tcpdump on Node1 and capture all packets. Stop capturing packets after receiving first few ICMP6 packets.
Ping Node2 from Node1.
You should get a return packet for each ping you have sent. If not,
recheck your network configuration.
2.1 |
Explain your modifications to radvd.conf. Which options are mandatory? | 2 p |
2.2 |
Analyse captured packets and explain what happens, when you
set up the interface. |
2 p |
2.3 |
How is the host-specific part of the address determined in this case? |
1 p |
2.4 |
Show and explain the output of a traceroute(1) from Node1 to Node2. | 1 p |
3.1 |
How does Teredo work / How can you be connected to the IPv6 network even without native support for it? | 2 p |
3.2 |
What is your global IPv6 address? How is this address constructed? | 2 p |