OSPFv3 as IGP for your MPLS network

There is this common misconception that OSPFv3 is all about IPv6. In fact the beauty of OSPFv3 is you can run both IPv4 and IPv6 at the same time. I would even recommend that when you are starting out your network regardless if its a global regular area or an MPLS network to start running OPSFv3 if you can.

It follows the same structure as BGP and EIGRP with address-family sections which makes it easier to read and configure. In the example below, I have labbed up an MPLS network running on route-reflector using OSPFv3 as the IGP and also using OSPFv3 for clients within their VRF.

Yes I will admit, the IP addressing is actually taken from an INE lab and I just used it to create the lab.

ospfv3

SITE A

hostname CUSTA
!
ipv6 unicast-routing
ipv6 cef
!
interface Loopback0
 ip address 150.1.7.7 255.255.255.255
 ipv6 enable
 ospfv3 10 ipv4 area 10
!
interface FastEthernet0/0
 no ip address
 duplex full
!
interface FastEthernet0/0.67
 description CUST_A_WAN
 encapsulation dot1Q 67
 ip address 155.1.67.7 255.255.255.0
 ipv6 enable
 ospfv3 10 ipv4 area 10
!
router ospfv3 10
 !
 address-family ipv4 unicast
 exit-address-family
!

PE 1

hostname PE1
!
ip vrf CUST1
 rd 1:1
 route-target export 1:1
 route-target import 1:1
!
ipv6 unicast-routing
ipv6 cef
!
interface Loopback0
 ip address 150.1.6.6 255.255.255.255
 ipv6 enable
 ospfv3 1 ipv4 area 0
!
interface FastEthernet0/0.67
 description PE_TO_CUST1
 encapsulation dot1Q 67
 ip vrf forwarding CUST1
 ip address 155.1.67.6 255.255.255.0
 ipv6 enable
 ospfv3 10 ipv4 area 10
!
interface FastEthernet0/0.146
 encapsulation dot1Q 146
 ip address 155.1.146.6 255.255.255.0
 ipv6 enable
 mpls ip
 ospfv3 1 ipv4 area 0
!
router ospfv3 1
 !
 address-family ipv4 unicast
 exit-address-family
!
router ospfv3 10
 !
 address-family ipv4 unicast vrf CUST1
 default-information originate always
 exit-address-family
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 150.1.1.1 remote-as 100
 neighbor 150.1.1.1 update-source Loopback0
 !
 address-family vpnv4
 neighbor 150.1.1.1 activate
 neighbor 150.1.1.1 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf CUST1
 redistribute connected
 redistribute ospfv3 20 match internal external 1 external 2
 exit-address-family
!


RR


hostname RR
!
no ip domain lookup
ipv6 unicast-routing
ipv6 cef
!
interface Loopback0
 ip address 150.1.1.1 255.255.255.255
 ipv6 enable
 ospfv3 1 ipv4 area 0
!
interface FastEthernet0/0
 no ip address
 duplex full
!
interface FastEthernet0/0.146
 encapsulation dot1Q 146
 ip address 155.1.146.1 255.255.255.0
 ipv6 enable
 mpls ip
 ospfv3 1 ipv4 area 0
!
interface FastEthernet1/0
 no ip address
 shutdown
 duplex full
!
router ospfv3 1
 !
 address-family ipv4 unicast
 exit-address-family
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 150.1.4.4 remote-as 100
 neighbor 150.1.4.4 update-source Loopback0
 neighbor 150.1.6.6 remote-as 100
 neighbor 150.1.6.6 update-source Loopback0
 !
 address-family vpnv4
 neighbor 150.1.4.4 activate
 neighbor 150.1.4.4 send-community extended
 neighbor 150.1.4.4 route-reflector-client
 neighbor 150.1.6.6 activate
 neighbor 150.1.6.6 send-community extended
 neighbor 150.1.6.6 route-reflector-client
 exit-address-family
!

PE-2

hostname PE-2
!
ip vrf CUST1
 rd 1:1
 route-target export 1:1
 route-target import 1:1
!
ipv6 unicast-routing
ipv6 cef
!
interface Loopback0
 ip address 150.1.4.4 255.255.255.255
 ipv6 enable
 ospfv3 1 ipv4 area 0
!
interface FastEthernet0/0
 no ip address
 duplex full
!
interface FastEthernet0/0.45
 encapsulation dot1Q 45
 ip vrf forwarding CUST1
 ip address 155.1.45.4 255.255.255.0
 ipv6 enable
 ospfv3 20 ipv4 area 20
!
interface FastEthernet0/0.146
 encapsulation dot1Q 146
 ip address 155.1.146.4 255.255.255.0
 ipv6 enable
 mpls ip
 ospfv3 1 ipv4 area 0
!
interface FastEthernet1/0
 no ip address
 shutdown
 duplex full
!
router ospfv3 1
 !
 address-family ipv4 unicast
 exit-address-family
!
router ospfv3 20
 !
 address-family ipv4 unicast vrf CUST1
 default-information originate always
 exit-address-family
!
router bgp 100
 bgp log-neighbor-changes
 neighbor 150.1.1.1 remote-as 100
 neighbor 150.1.1.1 update-source Loopback0
 !
 address-family vpnv4
 neighbor 150.1.1.1 activate
 neighbor 150.1.1.1 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf CUST1
 redistribute connected
 redistribute ospfv3 20 match internal external 1 external 2
 exit-address-family
!


SITE B


hostname CUSTB
!
no ip domain lookup
ipv6 unicast-routing
ipv6 cef
!
interface Loopback0
 ip address 150.1.5.5 255.255.255.255
 ipv6 enable
 ospfv3 20 ipv4 area 20
!
interface FastEthernet0/0
 no ip address
 duplex full
!
interface FastEthernet0/0.45
 encapsulation dot1Q 45
 ip address 155.1.45.5 255.255.255.0
 ipv6 enable
 ospfv3 20 ipv4 area 20
!
interface FastEthernet1/0
 no ip address
 shutdown
 duplex full
!
router ospfv3 20
 !
 address-family ipv4 unicast
 exit-address-family
!

 

Advertisements

27 weeks to go / simple PPPoE

Looking at my calendar countdown, I am counting 27 weeks and a day to go before I go on my CCIE lab attempt. That’s like a little more than half a year to go, playing with the idea of taking it sooner. Who knows, I’ve been notorious of giving a date only to end up taking the exam months soon but we’ll just have to wait and see.

It has been a struggle this month going through the labs. I think I have pretty covered majority of the topics except the entire switching section, IPv6 and Multicast (I am such not a fan as of this writing).

Too much things happening with work, projects, overseas trip and possible work-related overseas trip that could affect my study schedule. But we’ll keep on barrelling through all these labs as much as I can.

In the meantime, here’s a quick lab to set-up Point-to-point protocol over Ethernet(PPPoE). If you want to find out how a router gets an IP for DSL/NBN connection. It’s just a very straigh forward config, you can include hostnames and passwords on both ends while using chap. For this example I just want to show the simplest config to get this up and where end device (in this instance the client) get its IP address from.

Server:

!
int virtual-template 1
ip address 10.0.0.1 255.255.255.0
peer default ip address pool CCIE_POOL
!
ip local pool CCIE_POOL 10.0.0.100 10.0.0.254
!
bba-group pppoe CCIE_PPPOE
virtual-template 1
!
int fa0/0
pppoe enable group CCIE_PPPOE
!

Client:

!
interface dial1
ip address negotiated
encapsulation ppp
dialer pool 1
!
interface fa0/0
encapsulation ppp
pppoe enable group global
pppoe-client dial-group 1
!