diff --git a/exercises/ipv6.rst b/exercises/ipv6.rst index 67a3211..01c293f 100644 --- a/exercises/ipv6.rst +++ b/exercises/ipv6.rst @@ -532,7 +532,7 @@ The syntax of IPMininet_ is relatively simple and can be learned by looking at a Let us start our exploration of IPv6 routing with a simple network topology that contains two hosts and three routers and uses static routes. .. tikz:: Simple network - :libs: positioning,matrix,arrow + :libs: positioning,matrix,arrows \tikzstyle{arrow} = [thick,->,>=stealth] \tikzset{router/.style = {rectangle, draw, text centered, minimum height=2em}, } @@ -747,9 +747,14 @@ The ``nodes`` command lists the routers and hosts that have been created in the r1-eth1<->r3-eth0 (OK OK) r2-eth1<->r3-eth1 (OK OK) r3-eth2<->b-eth0 (OK OK) - mininet> + mininet> + +.. spelling:: + + inet + inet6 -It is possible to execute any of the standard Linux commands to configure the network stack on any of the hosts by prefixing the command with the corresponding host. Remember to always specify inet6 as the address family to retrieve the IPv6 information. +It is possible to execute any of the standard Linux commands to configure the network stack on any of the hosts by prefixing the command with the corresponding host. Remember to always specify ``inet6`` as the address family to retrieve the IPv6 information. .. code-block:: console @@ -785,7 +790,7 @@ On its ``a-eth0`` interface, host ``a`` uses IPv6 address ``2001:db8:1341:1::a/6 There are three routes in this table. The first two correspond to the two prefixes that are used over the ``a-eth0`` interface. These routes are automatically created when an IPv6 address is configured on an interface. The last route is the default route (``::/0``) which points towards ``2001:db8:1341:1::1``, i.e. router ``r1``. -Another useful command is ``xterm`` 'node' that allows to launch a terminal on the specified node. This gives you a interactive shell on any node. You can use it to capture packets with tcpdump_. As an example, let us use :manpage:`traceroute6(8)` to trace the path followed by packets from host ``a`` towards the IPv6 address of host ``b`` i.e. ` 2001:db8:1341:3::b``. The output of this command shows that the path passes through routers ``r1``, ``r2`` and ``r3``. +Another useful command is ``xterm`` 'node' that allows to launch a terminal on the specified node. This gives you a interactive shell on any node. You can use it to capture packets with tcpdump_. As an example, let us use :manpage:`traceroute6(8)` to trace the path followed by packets from host ``a`` towards the IPv6 address of host ``b`` i.e. ``2001:db8:1341:3::b``. The output of this command shows that the path passes through routers ``r1``, ``r2`` and ``r3``. .. code-block:: console @@ -807,7 +812,7 @@ Another interesting mininet_ command is ``pingall`` it allows to check that any b --IPv6--> a *** Results: 0% dropped (2/2 received) - + When debugging a network, it can be interesting to capture packets using tcpdump_ on specific links to check that they follow the expect. If you use tcpdump_ without any filter, you will capture the packets generated by xterm. To capture packets, you need to specify precise filters that will match the packets of interest. For traceroute6, you need to match the IPv6 packets that contain UDP segments and some ICMPv6 packets. The script below provides a simple filter that you can reuse. It takes one argument: the name of the interface on which tcpdump_ needs to run. .. code-block:: bash