The situation
A small office is adding IPv6 next to its IPv4 network. PC1's LAN is behind R1, the server LAN is behind R2, and the two routers share a link. The PCs use SLAAC. Your job is to make PC1 reach the server at 2001:db8:acad:2::10 over IPv6.
| Router | Interface | Global address | Link-local |
|---|---|---|---|
| R1 | Gi0/0 (PC1 LAN) | 2001:db8:acad:1::1/64 | fe80::1 |
| Gi0/1 (to R2) | 2001:db8:acad:12::1/64 | fe80::1 | |
| R2 | Gi0/1 (to R1) | 2001:db8:acad:12::2/64 | fe80::2 |
| Gi0/0 (server LAN) | 2001:db8:acad:2::1/64 | fe80::2 |
The same link-local address on two interfaces of one router is fine: a link-local address only has to be unique on its own link.
Task 1: configure R1 and R2
Three things on each router: IPv6 routing, the addresses, and a route to the network on the far side. Write them before you look.
Show the configuration
ipv6 unicast-routing
!
interface GigabitEthernet0/0
ipv6 address 2001:db8:acad:1::1/64
ipv6 address fe80::1 link-local
no shutdown
interface GigabitEthernet0/1
ipv6 address 2001:db8:acad:12::1/64
ipv6 address fe80::1 link-local
no shutdown
!
ipv6 route 2001:db8:acad:2::/64 2001:db8:acad:12::2R1: a global next hop needs no exit interface.
ipv6 unicast-routing
!
interface GigabitEthernet0/0
ipv6 address 2001:db8:acad:2::1/64
ipv6 address fe80::2 link-local
no shutdown
interface GigabitEthernet0/1
ipv6 address 2001:db8:acad:12::2/64
ipv6 address fe80::2 link-local
no shutdown
!
ipv6 route 2001:db8:acad:1::/64 GigabitEthernet0/1 fe80::1R2: the return route uses R1's link-local address, so the exit interface is required.
Task 2: verify the routers
R1#show ipv6 interface brief GigabitEthernet0/0 [up/up] FE80::1 2001:DB8:ACAD:1::1 GigabitEthernet0/1 [up/up] FE80::1 2001:DB8:ACAD:12::1
R2#show ipv6 route static IPv6 Routing Table - default - 6 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route ... S 2001:DB8:ACAD:1::/64 [1/0] via FE80::1, GigabitEthernet0/1
Task 3: check what PC1 learned
C:\> ipconfig Ethernet adapter Ethernet: IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1:5d1c:7e2a:93b4:10f7 Link-local IPv6 Address . . . . . : fe80::5d1c:7e2a:93b4:10f7%12 Default Gateway . . . . . . . . . : fe80::1%12
Why is the gateway fe80::1 and not 2001:db8:acad:1::1?
Router Advertisements are sent from the router's link-local address, so hosts use that as their default gateway. It is also why the interface ID isn't built from the MAC address: Windows chooses a random one by default, not EUI-64. %12 is the Windows interface index, needed because a link-local address only means something on one interface.
Task 4: break it on purpose
Pick a fault and follow the packet from PC1 to the server. Decide what PC1 would see before you watch.
- 1. To the gateway: the server is off-link, so PC1 sends the packet to its default gateway, R1.
- 2. Routed: R1 uses its static route via 2001:db8:acad:12::2; R2 delivers to its connected server LAN.
- 3. And back: R2 uses its return route via fe80::1 on Gi0/1. Ping succeeds.
Check yourself
On R2 you type ipv6 route 2001:db8:acad:1::/64 fe80::1. What happens?
PC1 shows only a link-local address and no IPv6 default gateway. R1's Gi0/0 has 2001:db8:acad:1::1/64 and is up/up. What do you check first?
On R1, ping 2001:db8:acad:2::10 works, but ping 2001:db8:acad:2::10 source GigabitEthernet0/0 fails. What is missing?