IPv6 Static Routes

image

This just a simple setup to show static routes in IPv6,

R1

ipv6 unicast-routing

interface FastEthernet0/0
ipv6 address FC00:1:12:12::1/64

R2

ipv6 unicast-routing

interface FastEthernet0/0
ipv6 address FC00:1:12:12::1/64
interface lo0
ipv6 address 2001:2:22:22::2/64
 

We will then configure IPv6 default static route from R1 to R2 to reach the loopback of R2 but instead of pointing it to the IPv6 address of R2 f0/0 we will use f0/0 of R1

on R1

R1(config)#ipv6 route ::/0 FastEthernet0/0

now let’s try to ping R2 loopback interface

R1(config)#do p 2001:2:22:22::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:2:22:22::2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

As we can see ping is failing, let’s debug IPv6 packets on R1

R1#debug ipv6 packet
IPv6 unicast packet debugging is on
R1#p 2001:2:22:22::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:2:22:22::2, timeout is 2 seconds:

*Mar  1 07:12:47.494: IPv6: SAS picked source FC00:1:12:12::1 for 2001:2:22:22::2 (FastEthernet0/0)
*Mar  1 07:12:47.494: IPV6: source FC00:1:12:12::1 (local)
*Mar  1 07:12:47.494:       dest 2001:2:22:22::2 (FastEthernet0/0)
*Mar  1 07:12:47.498:       traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, originating
*Mar  1 07:12:47.498: IPV6: source FC00:1:12:12::1 (local)
*Mar  1 07:12:47.498:       dest FF02::1:FF00:2 (FastEthernet0/0)
*Mar  1 07:12:47.502:       traffic class 224, flow 0x0, len 72+8, prot 58, hops 255, originating
*Mar  1 07:12:47.502: IPv6: Sending on FastEthernet0/0
*Mar  1 07:12:47.502: IPv6: Encapsulation failed

As we can see encapsulation failed, this means that R1 couldn’t construct resolve the mac address of the IPv6 address that it need to send traffic to

To further verify this we will replicate the setup using IPv4

R1(config)#interf f0/1
R1(config-if)#ip address 10.1.12.1 255.255.255.0

R1(config)# ip route 0.0.0.0 0.0.0.0 f0/0

and R2

R2(config)#interf f0/1
R2(config-if)#ip address 10.1.12.2 255.255.255.0

R2(config)#interf lo0
R2(config-if)#ip address 2.2.2.2 255.255.255.255

R2# debug arp

now let’s try to ping from R1 to R2 loopback

R1(config-if)#do p 2.2.2.2 

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 20/28/40 ms

and the debug output on R2

R2(config-if)#
*Mar  1 08:29:15.061: IP ARP: rcvd req src 10.1.12.1 c200.2790.0000, dst 2.2.2.2 FastEthernet0/0
*Mar  1 08:29:15.065: IP ARP: sent rep src 2.2.2.2 c205.2790.0000,
                 dst 10.1.12.1 c200.2790.0000 FastEthernet0/0

we see how R2 received an arp request for 2.2.2.2 and it replied with F0/0 interface, this is called proxy-arp

since 2.2.2.2 is one of R2 interfaces, and when it received an arp request on different interface for that IP address it replied back with the mac address of the interface it received the arp request on

R2(config-if)#
*Mar  1 08:29:15.061: IP ARP: rcvd req src 10.1.12.1 c200.2790.0000, dst 2.2.2.2 FastEthernet0/0
*Mar  1 08:29:15.065: IP ARP: sent rep src 2.2.2.2 c205.2790.0000,
                 dst 10.1.12.1 c200.2790.0000 FastEthernet0/0

We can change this by disabling proxy-arp under R2 interface f0/0

R2(config)#interface f0/0
R2(config-if)#no ip proxy-arp

if we ping again

R1(config-if)#do p 2.2.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

because IPv6 doesn’t have this feature, R1 fails to reach R2 loopback address

If we to add a static IPv6 neighbor to R1 (which is equivalent to static arp in IPv4)

we can get this to work

R1(config)#ipv6 neighbo 2001:2:22:2::2  f0/0 c205.2790.0000  

R1(config)#do p ipv6 2001:2:22:2::2                                   

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:2:22:2::2, timeout is 2 seconds:
!!!!!

remember that we will need to do that for every single IP address, the easiest way is just to point the default route to a next-hop IPv6 address

Comments

Popular posts from this blog

BPDU Filter vs BPDU Guard

BGP Weight Attribute

OSPF–Point To Multipoint Non-Broadcast