Assignment 1: Local Routing

During this assignment you will configure local routing within your department. You will first create a small number plan, and then use your VM to connect to NET1 and/or NET2. Once you have configured gateway interfaces on the routers, your VMs should receive an IPv6 address using stateless address auto configuration (SLAAC). At the end of this assignment you should be able to ping each other over IPv6.

 

IPv6 Subnetting

The first step is to assign two /64 subnets out of the assigned netblock (/60) for your group. These /64 subnets will then be used for NET1 and NET2.

In IPv6, the typical subnet size to use is a /64. Your /60 allows for 2^4 = 16 subnets.

For example, the netblock allocated to group 2 is 2607:f8f0:690:0020::/60. Each Hexadecimal character represents 4 bits, which in this case is exactly what we have to work with. If we wanted to subnet our block in /64's this would be the result for group2

  • 2607:f8f0:690:0020::/64
  • 2607:f8f0:690:0021::/64
  • 2607:f8f0:690:0022::/64
  • 2607:f8f0:690:0023::/64
  • 2607:f8f0:690:0024::/64
  • 2607:f8f0:690:0025::/64
  • 2607:f8f0:690:0026::/64
  • 2607:f8f0:690:0027::/64
  • 2607:f8f0:690:0028::/64
  • 2607:f8f0:690:0029::/64
  • 2607:f8f0:690:002a::/64
  • 2607:f8f0:690:002b::/64
  • 2607:f8f0:690:002c::/64
  • 2607:f8f0:690:002d::/64
  • 2607:f8f0:690:002e::/64
  • 2607:f8f0:690:002f::/64

In the real world, you are free to decide to use any of the subnets as you see fit for your address plans.

For the purpose of the workshop exercises, please choose to use the second and third /64 subnets for NET1 and NET2. Here are the suggested subnets that all groups should use for the rest of the exercises:

Group Name Assigned /60 Net1 /64 Subnet Net2 /64 Subnet
Whitehorse 2607:f8f0:690:0010::/60 2607:f8f0:690:0011::/64 2607:f8f0:690:0012::/64
Vancouver 2607:f8f0:690:0020::/60 2607:f8f0:690:0021::/64 2607:f8f0:690:0022::/64
Calgary 2607:f8f0:690:0030::/60 2607:f8f0:690:0031::/64 2607:f8f0:690:0032::/64
Regina 2607:f8f0:690:0040::/60 2607:f8f0:690:0041::/64 2607:f8f0:690:0042::/64
Winnepeg 2607:f8f0:690:0050::/60 2607:f8f0:690:0051::/64 2607:f8f0:690:0052::/64
Toronto 2607:f8f0:690:0060::/60 2607:f8f0:690:0061::/64 2607:f8f0:690:0062::/64
Montreal 2607:f8f0:690:0070::/60 2607:f8f0:690:0071::/64 2607:f8f0:690:0072::/64
Halifax 2607:f8f0:690:0080::/60 2607:f8f0:690:0081::/64 2607:f8f0:690:0082::/64

 

Configure IPv6 subnets on your router

Now that we have made a small address plan it's time to start configuring the router.

We'll start with enabling IPv6 routing and configuring IPv6 addresses on our router. The applied IPv6 addresses to each interface will act as new IPv6 gateways for NET1 and NET2.

Here's the configuration template:

!-- Enable the forwarding of IPv6 packets.
!
ipv6 unicast-routing
!
interface GigabitEthernet0/0
description NET-1
ip address <Existing NET1 IPv4 GW Address>
duplex auto
speed auto
ipv6 address <NET1 IPv6 GW Address/64>
!
interface GigabitEthernet0/1
description NET-2
ip address <Existing NET2 IPv4 GW Address>
duplex auto
speed auto
ipv6 address <NET2 IPv6 Gateway Address/64>

Example Configuration (Group 2):

!-- Enable the forwarding of IPv6 packets.
!
ipv6 unicast-routing
!
interface GigabitEthernet0/0
description NET-1
ip address 134.87.113.57 255.255.255.248
duplex auto
speed auto
ipv6 address 2607:F8F0:690:21::1/64
!
interface GigabitEthernet0/1
description NET-2
ip address 134.87.113.65 255.255.255.248
duplex auto
speed auto
ipv6 address 2607:F8F0:690:22::1/64

 

Verify that the router interfaces have the new IPv6 addresses enabled by issuing "show IPv6 interface on your router.

R2#show ipv6 interface brief
GigabitEthernet0/0 [up/up]
FE80::5A8D:9FF:FEAD:9FC8
2607:F8F0:690:21::1
GigabitEthernet0/1 [up/up]
FE80::5A8D:9FF:FEAD:9FC9
2607:F8F0:690:22::1
GigabitEthernet0/2 [up/up]
unassigned
GigabitEthernet0/2.281 [up/up]
FE80::5A8D:9FF:FEAD:9FCA
2607:F8F0:690:92::2
GigabitEthernet0/2.282 [up/up]
FE80::5A8D:9FF:FEAD:9FCA
2607:F8F0:690:93::1
GigabitEthernet0/2.290 [up/up]
FE80::5A8D:9FF:FEAD:9FCA
2607:F8F0:690:2::2

 

Make sure that for each subnet (NET1 & NET2) stateless address auto configuration (Router Advertisement) is activated.

Stateless address auto configuration is enabled by default on Cisco routers when the interface has an IPv6 address. Your linux machine should now have an IPv6 address. Verify this with ifconfig on the client machine.

[user1@client1 ~]$ /sbin/ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 54:52:00:70:F5:01
          inet addr:134.87.113.42  Bcast:134.87.113.47  Mask:255.255.255.248
          inet6 addr: 2607:f8f0:690:10:5652:ff:fe70:f501/64 Scope:Global
          inet6 addr: fe80::5652:ff:fe70:f501/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:74961 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26313 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4323552 (4.1 MiB)  TX bytes:1357902 (1.2 MiB)
          Interrupt:11

Verify if you can ping the router from the client machine.

For Client2, the output looks like this:

[user1@client2 ~]$ ping6 -c4 2607:f8f0:690:11::1
PING 2607:f8f0:690:11::1(2607:f8f0:690:11::1) 56 data bytes

64 bytes from 2607:f8f0:690:11::1: icmp_seq=0 ttl=64 time=0.422 ms

64 bytes from 2607:f8f0:690:11::1: icmp_seq=1 ttl=64 time=0.413 ms

64 bytes from 2607:f8f0:690:11::1: icmp_seq=2 ttl=64 time=0.421 ms

64 bytes from 2607:f8f0:690:11::1: icmp_seq=3 ttl=64 time=0.459 ms
 
--- 2607:f8f0:690:11::1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.413/0.428/0.459/0.030 ms, pipe 2

On the router, verify if you can see the IPv6 neighbours (like show arp in ipv4) with sh ipv6 neighbors. 

Whitehorse#show ipv6 neighbors
IPv6 Address                                      Age Link-layer Addr State Interface
2607:F8F0:690:12:5652:FF:FE70:F502             0 5452.0070.f502  REACH Gi0/1

Verify if you can ping/traceroute the server in the other network.

Login to the server connected in NET1 and NET2. Determine the IPv6 addresses on these servers and do a traceroute6. 

[user1@client2 ~]$ traceroute6 2607:f8f0:690:11:5652:ff:fe70:f501
traceroute to 2607:f8f0:690:11:5652:ff:fe70:f501 (2607:f8f0:690:11:5652:ff:fe70:f501), 30 hops max, 40 byte packets
1  2607:f8f0:690:12::1 (2607:f8f0:690:12::1)  0.421 ms  0.525 ms  0.489 ms
2  2607:f8f0:690:11:5652:ff:fe70:f501 (2607:f8f0:690:11:5652:ff:fe70:f501)  0.889 ms  0.853 ms  0.815 ms
 
[user1@client2 ~]$ ping6 -c4 2607:f8f0:690:11:5652:ff:fe70:f501
PING 2607:f8f0:690:11:5652:ff:fe70:f501(2607:f8f0:690:11:5652:ff:fe70:f501) 56 data bytes
64 bytes from 2607:f8f0:690:11:5652:ff:fe70:f501: icmp_seq=0 ttl=63 time=0.856 ms
64 bytes from 2607:f8f0:690:11:5652:ff:fe70:f501: icmp_seq=1 ttl=63 time=0.786 ms
64 bytes from 2607:f8f0:690:11:5652:ff:fe70:f501: icmp_seq=2 ttl=63 time=0.777 ms
64 bytes from 2607:f8f0:690:11:5652:ff:fe70:f501: icmp_seq=3 ttl=63 time=0.869 ms
 
--- 2607:f8f0:690:11:5652:ff:fe70:f501 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.777/0.822/0.869/0.040 ms, pipe 2

 

Additional Resources