Thursday, August 4, 2011

Configuring basic OSPFv3

In this blogtorial we are going to talk briefly about OSPFv3. I will not be going into much detail and writing paragraphs explaining the details of OSPFv3 but rather give you a simple "how-to" on configuring OSPFv3. 


We will be using a simple 3 router topology below. So let's get started. 




Objective: 
  • Configure ipv6 address on R1, R2, R3. 
  • Configure loopbacks so the OSPFv3 process can start. 
  • Verify ipv6 connectivity.


Relevant configurations are posted below. Please feel free to leave comments or questions. 


First thing you want to do on R1, R2, and R3 is enable ipv6 and ipv6 cef. I'll only show the output on R1 since R2 and R3 are the same config. If you do not do this first then you will get an error message stating "ipv6 routing not enabled". 

R1#sh run | inc ipv6
ipv6 unicast-routing
ipv6 cef

Next let's configure loopbacks. The reason we are configuring loopbacks is because in-order for OSPFv3 to start it needs a router-id (32bit) which follows the same OSPFv2 router-id logic (highest loopback etc). You can alternatively set the router-id manually under the OSPFv3 process. 

R1#sh run interface loopback 0
interface Loopback0
 ip address 10.0.0.1 255.255.255.0 
 ipv6 address 2020::1/128 


R2#sh run interface loopback 0
interface Loopback0
 ip address 10.0.0.2 255.255.255.0
 ipv6 address 2020::2/128


R3#sh run interface loopback 0
interface Loopback0
 ip address 10.0.0.3 255.255.255.0
 ipv6 address 2020::3/128

Next let's start the OSPFv3 process. 

R1#sh run | sec ospf
ipv6 router ospf 1
 log-adjacency-changes

R2#sh run | sec ospf
ipv6 router ospf 1
 log-adjacency-changes

R3#sh run | sec ospf
ipv6 router ospf 1
 log-adjacency-changes

Now that the OSPFv3 process is started let's get the interfaces on OSPFv3. One of the major differences between OSPFv2 and OSPFv3 is that you enable OSPFv3 per-link and not per-subnet. So you go into the particular interface and enable OSPFv3 on it.

R1#sh run int fast1/0 
interface FastEthernet1/0
 no ip address
 duplex auto
 speed auto
 ipv6 address 2026::/64 eui-64 ** Stick a ipv6 address on here ** 
 ipv6 ospf 1 area 0 ** enable OSPFv3 on the link ** 
end

R2#sh run int fast1/0 
interface FastEthernet1/0
 no ip address
 duplex auto
 speed auto
 ipv6 address 2026::/64 eui-64
 ipv6 ospf 1 area 0
end

R3#sh run int fast1/0 
interface FastEthernet1/0
 no ip address
 duplex auto
 speed auto
 ipv6 address 2026::/64 eui-64
 ipv6 ospf 1 area 0
end

I have also enabled OSPFv3 on R1, R2, and R3 loopbacks but you do not need to do this to get OSPFv3 neighbor relationship to form. I will only post R1 loopback since R2 and R3 is pretty much the same. 

R1#sh run int loopback 0
interface Loopback0
 ip address 10.0.0.1 255.255.255.0
 ipv6 address 2020::1/128
 ipv6 ospf 1 area 0
end


Now let's take a look at some ipv6 routing table, OSPFv3 database and a few show commands. I will only post R2 since R3 and R1 is pretty much the same. 

R2#sh ipv6 route
IPv6 Routing Table - Default - 6 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1
       I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
       EX - EIGRP external
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
O   2020::1/128 [110/1]
     via FE80::C800:20FF:FEA8:1C, FastEthernet1/0
LC  2020::2/128 [0/0]
     via Loopback0, receive
O   2020::3/128 [110/1]
     via FE80::C802:24FF:FEE4:1C, FastEthernet1/0
C   2026::/64 [0/0]
     via FastEthernet1/0, directly connected
L   2026::C801:20FF:FEA8:1C/128 [0/0]
     via FastEthernet1/0, receive
L   FF00::/8 [0/0]
     via Null0, receive

Note that the router-id is our loopback. 

R2#sh ipv6 ospf neighbor
Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
10.0.0.1          1   FULL/BDR        00:00:39    5               FastEthernet1/0
10.0.0.3          1   FULL/DR         00:00:37    5               FastEthernet1/0

Pinging the loopback0 ipv6 address of R1 which is in Area 0. 

R2#ping 2020::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2020::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/40/116 ms

Easy as that -- we now have OSPFv3 enabled and ipv6 routing. I will save OSPFv3 redistribution, ipv6 tunneling, ipv6 addressing and etc to other blogtorials :) 

Many more articles to come!! If you like my posts please subscribe!! 

2 comments:

  1. Hi,

    Great example, I got so close, but didn't get all the way there. I apologize I am a newbie to IPv6 especially and somewhat to cisco routing.
    The addresses 10.0.0.x / 24; should they be associated with an interface at either end? I think somehow that is my limiting factor.

    thanks,
    John

    ReplyDelete
  2. The 10 network is only there so ospf process can start. OSPF can't start without a router-id. I could have used the router id command under the ospf config and not use loopbacks. Maybe you can email me your configs to arwinr at gmail dot com

    ReplyDelete