Tag Archives: IPv6

IPV6: Quick straight forward notes on differences in modes for exam day!

Going to cut right to the chase here for exam day what you will need to know without a lot of explanation, as I’ve been reading the white papers for my second attempt this Friday, and there are just some things to know without knowing all the “why.”

NTPv6 – This does the same function as NAT for IPv4, only it does it ONLY for IPv6. So if you are asked to explain what it does, it allows communication between IPv6 networks (and if they aren’t dual stacking they aren’t talking)

NAT64 – This could be a local server in your building, or a server at your ISP, that translates V6 addresses to V4 addresses, so hosts can communicate without using Dual-Stack technology themselves.

Stateless NAT64 DOES NOT CONSERVE IPV4 ADDRESSES, 1:1 translations, no IP bindings done in this mode, requires manual or DHCPv6 address to assign an IPv6 address

Stateful NAT64 DOES CONSERVE IP ADDRESSES, 1:any usable translations, creates states or bindings for every entry requiring one to translate between IPv6 and IPv4

IPv6 Tunneling – As posted earlier about IPv6 there are some different Tunneling methods, but all of them do require devices capable of Dual Stacking, remember that on exam day

Dual Stacking – Ability of a host to speak IPv6 and IPv4 with other hosts with the same capability

That is all, remember that information, it may save you a few points on exam day ^

IPv6: Tunnel type review, links to IPv6 address identification, migration, and GRE / DMVPN that I highly encourage you to review!

I know I said no more posts, but IPV6 was begging for some kind of review before exam day so here it is!

There are two general ways to route IPv6 packets, those being a fully native end to end IPv6 network from host – across the WAN – to the end host and back, or IPv6 Tunnels.

IPv6 tunneling consists of taking IPv6 traffic, and encapsulating it like interesting traffic for an IPSec tunnel before transmission into an IPv4 packet, so it can traverse the IPv4 network to its tunnel endpoint that then decapsulates the IPv6 packet for delivery to the inside IPv6 host.

Tunneling is generally done by only two routers, however the Tunneling protocol ISATAP can be done by the hosts themselves, if they are capable of creating the packet that includes the IPv6 payload encapsulated within an IPv4 packet type.

There are 4 general types of IPv6 Tunnels:

  • Manually configured – Point to Point, generally permanent, like any site to site VPN
  • GRE – Point to Point, manually configured, wide support of protocols it can transmit
  • 6to4 – Multipoint tunnel, dynamically formed, uses 3rd and 4th “quartets” for IPv4 address
  • ISATAP – Multipoint tunnel, dynamically formed, uses 7th and 8th “quartets” for the IPv4 address

Now, you may be asking yourself, what on Earth is a quartet, because I sure am. Being that it’s only 3am or so, why not google it, because I doubt it is the part of a musical ensemble.

After a quick google search (how did we even survive before google?), a quartet is 4 digits of the 128 bit address, so it would make sense that 4 of these bits are being used, as each bit represents part of a hexadecimal address as shown in this explanation.

I highly suggest you read that quick explanation of Hex conversion if you’re rusty.

NAT-PT will also get an honorable mention here, though it is not technically a tunnel so there is no encapsulation / decapsulation of packets, however it does translate between protocols. It does also translate and keep track of DNSv4 and DNSv6 name to address bindings, while translating both IPv4 to IPv6 and back between the two.

I have updated this link with how to identify some IPv6 addresses on exam day if asked “Which one of these is is an ISATAP / TEREDO / 6to4 / Link-Local” Address type. It is not conclusive, but that is really all I got before exam day that is now less than 24 hours away.

I was going to post something else about IPv6, but I am too tired to remember what at 3:30am now, just read everything I’ve ever written and you should be good to go for exam day I think – We’ll see how tomorrow goes ūüôā

Ooop, just remember, migration strategies link for IPv6, if you add up everything I’ve said between those links and this post it will hopefully make sense and I don’t contradict myself in every explanation.

One big take away from the migration strategies, as a majority of it is using Tunnels as part of the Migration, is Dual-Stacking which is having your hosts run both IPv6 and IPv4, which is how most migrations work.

Start out with a single web facing server that is not critical to production, and give it both an IPv4 and IPv6 test, and see if you can communicate with it over IPv6 (while still having the reliable IPv4 address on it that you know works within your environment).

Also since it was a tunnel type mentioned, and it is also in the VPN section of topics to be covered, do yourself a favor and read the GRE over IPSec tunnel configuration that I did a fairly brief write up about.

I gotta go to bed but wanted to post one last link, this is for mGRE used for DMVPN, which gives a very brief overview of concepts / terminology of how mGRE is used, as well as NHRP (Next Hop Routing Protocol) to make DMVPN works.

I highly encourage you to familiarize yourself with the DMVPN high level view setup process of the tunnels, not so much the configuration, so you are familiar with the terminology.

Ok, must stop researching and studying and posting resources, and test time tomorrow – Hope to see that Pass on the grade!

ALSO ONE LAAAST NOTE, NAT64 – This is used for your IPv4 hosts to communicate with IPv6 servers, hence the device configured for it holding the bindings / address mappings! Remember on exam day, IPv4 hosts talking to IPv6 hosts involves Dual Stacking, or NAT64 to translate for hosts / server on different IP versions!

IPv6 migration strategies from IPv4 networks, need to know details for exam day explained!

This will be a quick post with NO Topology added this time, so tomorrow I can hopefully jump right into the security section of route starting with ACL’s! So I will list off the terminology for methods, the up and downs of using them, and how they stack up against other methods.

  • One important thing to note, the best strategy of migrating is start at the edge and work your way to the core of the network, whether its stacking / tunneling / translating.

Speaking of Stacking, Dual-Stack is the first method to discuss

Dual-Stacking is when you are running IPv4 and IPv6 simultaneously across your entire network, making both v4 to v4 connections and v6 to v6 connections across all devices, however most networks right now will lack the capability to run IPv6.

It would require a lot of money to purchase high end IPv6 compatible hardware and software, so it is a great but not completely viable option for most networks at this time.

6-to-4 Tunneling

It works like a VPN that a tunnel is actually built and torn down when not needed for traffic to flow, however instead of encapsulating the traffic to encrypt it, IPv6 packets are encapsulated in an IPv4 addressed packet to traverse IPv4 domains to reach “IPv6 Islands” which is a fancy term for IPv6 networks.

The IPv6 prefix for this type of network is 2002 and carries a /32 mask on the address. Easy way to this of it a 6-to-4 prefix is it being R2’s loopback.

One issue is you would need to use Dual-Stacking with this method as well, or IPv6 hosts won’t be able to communicate with IPv4 hosts on IPv4 based services.

NAT64 / NAT6-to-4

Not traditional NAT (obviously), this translates IPv6 to IPv4 traffic, and it comes in two flavors, stateless and stateful:

  • Stateless NAT64 embeds an IPv4 address directly into an IPv6 address, resulting in a one to one mapping of the IPv6 to IPv4 addresses. The concern is with Stateless is running out of IPv4 embedded addresses to put in the IPv6 address, the whole reason we are migrating to IPv6 in the first place.
  • Stateful mode doesn’t use up IPv4 addresses as quickly, since it allows multiple IPv6 addresses to use a single IPv4 address, making it a MUCH larger pool to draw from

This has largely replaced an old migration method called NAT-PT (NAT-Protocol Translation) because of NAT-PT’s integrated use of DNS, where as NAT64 keeps NAT64 and DNS64 functions completely separate which we like.

NPTv6 (Not to be confused with NAT64) / NAT-PT

This is used to translate from IPv4 to IPv6 addresses on “IPv6 Islands” or networks using only IPv6, then translate them back, meaning it is NOT any of the tunnel mentioned above where packets are being encapsulated / decapsulated.

It sounds like when the source prefix arrives at the device or is leaving a device, instead of using the outside interfaces IPv6 prefix, it changes it to another if perhaps a downstream router has the original address black-listed or something (Why it is a special use tool).

It is stateless only, and cannot perform PAT type overload on outgoing packets which is what makes so special use as well.

OK, I SURVIVED THROUGH THE IPV6 SECTION!!!

Time to delve into Security topics for awhile and get back to labbing!

RIP for IPv6 (RIPng) configurations, explanations, and plenty of examples!

IPv6_RIPng

I will be recycling the last labs Topology for this and one final OSPFv3 headache, and then IPv6 is done for now (though I am sure I will recover the topics at some point).

So as can be seen kind of above, it’s a weird sort of RIP boundary to not block the IPv6 addresses at the top in paint, but both FastEthernet and Loopback interfaces will be in the same domain / process.

Now I will go through the main concepts covered bullet point style, since I haven’t done that for awhile and there isn’t a whole lot there, then get to configuring!

  • All the configuration for RIPng can be done on the interfaces (for CCNP purposes)
  • Interface configuration makes you define a process id, which can be a word or number, and these process ID’s DO need to match with other RIPng routers proccess ID’s to advertise to eachother
  • As with OSPF, “default-information originate” can be configured like in OSPF, with a tweak to the command not yet covered I don’t believe
  • The maximum hop count / metric is STILL 15 hops, seriously. No, really.

So I’ve just removed the EIGRP configurations from the last lab and will recycle the IP addresses for this one, and I will jump right into the complete configuration of RIP on this Topology in one fowl swoop:

R2(config)#int fa0/0
R2(config-if)#ipv6 rip ?
  WORD  User selected string identifying this RIP process

R2(config-if)#ipv6 rip Process1 ?
  default-information  Configure handling of default route
  enable               Enable/disable RIP routing
  metric-offset        Adjust default metric increment
  summary-address      Configure address summarization

R2(config-if)#ipv6 rip Process1 enable
R2(config-if)#int lo2
R2(config-if)#ipv6 rip Process1 enable

ASR#3
[Resuming connection 3 to r3 … ]

R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#int fa0/0
R3(config-if)#ipv6 rip Proccess1 enable
R3(config-if)#int lo3
R3(config-if)#ipv6 rip Proccess1 enable
R3(config-if)#
ASR#4
[Resuming connection 4 to r4 … ]

R4(config)#int fa0/0
R4(config-if)#ipv6 rip Process1 enable
R4(config-if)#int lo4
R4(config-if)#ipv6 rip Process1 enable
R4(config-if)#^Z
R4#
*Mar 10 00:51:43.247: %SYS-5-CONFIG_I: Configured from console by console
R4#sh ipv6 route rip
IPv6 Routing Table – default – 7 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B РBGP, HA РHome Agent, MR РMobile Router, R РRIP
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       D РEIGRP, EX РEIGRP external, NM РNEMO, ND РNeighbor Discovery
       l РLISP
       O РOSPF Intra, OI РOSPF Inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
R   2002::/64 [120/2]
     via FE80::20E:D7FF:FE10:6C60, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#

And that is absolutely it, lab could be finished right here, thanks for stopping by – It’s that easy. However I did highlight in red some commands I added a ? to show the output / modifiers for the command, of those options I’ll demonstrate a bit of this old friend default-information originate and its other option yet to be shown.

However, that is literally the configuration as shown in the route table output on R4, by the time I configured that, I have R2’s and R3’s loopback in my RIP IPv6 route table.

** Take note of the AD / Metric are the same as IPv4, and yes the hop count limit is still 15.

Now one thing I am not 100% sure on even though I put it in a bullet point, which I will edit if I need to, but I hate editing facts I make up after I find them to be false – I am going to change the Process ID on R2’s Loopback interface to see if it drops off R4’s route table (to see if the process ID’s truly do need to match):

R2(config-if)#no ipv6 rip Process1 enable
R2(config-if)#ipv6 rip Process2 enable
R2(config-if)#
ASR#4
[Resuming connection 4 to r4 … ]

R4#sh ipv6 route rip
IPv6 Routing Table – default – 7 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B РBGP, HA РHome Agent, MR РMobile Router, R РRIP
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       D РEIGRP, EX РEIGRP external, NM РNEMO, ND РNeighbor Discovery
       l РLISP
       O РOSPF Intra, OI РOSPF Inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
R   2002::/64 [120/2]
     via FE80::20E:D7FF:FE10:6C60, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#clear ipv6 route *
R4#sh ipv6 route rip
IPv6 Routing Table – default – 7 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B РBGP, HA РHome Agent, MR РMobile Router, R РRIP
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       D РEIGRP, EX РEIGRP external, NM РNEMO, ND РNeighbor Discovery
       l РLISP
       O РOSPF Intra, OI РOSPF Inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
R   2002::/64 [120/2]
     via FE80::20E:D7FF:FE10:6C60, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#

Ok….. so…. no apparently? Let us check R2, to confirm the Process is indeed changed:

R2#sh ipv6 proto
IPv6 Routing Protocol is “connected”
IPv6 Routing Protocol is “static”
IPv6 Routing Protocol is “rip Process1”
  Interfaces:
    FastEthernet0/0
  Redistribution:
    None
IPv6 Routing Protocol is “rip Process2”
  Interfaces:
    Loopback2
  Redistribution:
    None
R2#

I like that style of “sh ip proto” for IPv6, very concise details, almost like a “sh ip proto brief” or something. To get more information on RIP in IPv6, you will want to use the command “sh ipv6 rip”:

R2#sh ipv6 rip
RIP process “Process1”, port 521, multicast-group FF02::9, pid 54
     Administrative distance is 120. Maximum paths is 16
     Updates every 30 seconds, expire after 180
     Holddown lasts 0 seconds, garbage collect after 120
     Split horizon is on; poison reverse is off
     Default routes are not generated
     Periodic updates 39, trigger updates 3
  Interfaces:
    FastEthernet0/0
  Redistribution:
    None
RIP process “Process2”, port 521, multicast-group FF02::9, pid 78
     Administrative distance is 120. Maximum paths is 16
     Updates every 30 seconds, expire after 180
     Holddown lasts 0 seconds, garbage collect after 120
     Split horizon is on; poison reverse is off
     Default routes are not generated
     Periodic updates 12, trigger updates 0
  Interfaces:
    Loopback2
  Redistribution:
    None
R2#

Now that is how we like our output. Huge, filled with great output, and makes us look like Alien level genius to people who don’t know anything about Cisco CLI. This gives you all the information you need about RIPng on the router, quite literally. Timers, Processes, interfaces, port # for RIPng, Multi-Cast Group #, everything.

So after some time and “clear ipv6 route *” on both routers, R4 finally showed the loopback in Process2 on R2 gone:

R4#sh ipv6 route rip
IPv6 Routing Table – default – 6 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B РBGP, HA РHome Agent, MR РMobile Router, R РRIP
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       D РEIGRP, EX РEIGRP external, NM РNEMO, ND РNeighbor Discovery
       l РLISP
       O РOSPF Intra, OI РOSPF Inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R4#

The timing with RIP in IPv6 is a bit odd, its not always 30 seconds for updates as it shows in the above timers output, so if something doesn’t happen in the expected time RIP is still really terrible with convergence times in IPv6 if not more so than IPv4.

Now to tackle default-information in RIP

I will pick on R4 first with our old tried and true friend “default-information originate” and see how it impacts R2’s route table with a¬† before and after:

R2#sh ipv6 route rip
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U РPer-user Static route
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       O РOSPF intra, OI РOSPF inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
       D РEIGRP, EX РEIGRP external
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R   2004::/64 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
ASR#4
[Resuming connection 4 to r4 … ]

R4(config-if)#ipv6 rip Process1 default-information ?
  only       Advertise only the default route
  originate  Originate the default route

R4(config-if)#ipv6 rip Process1 default-information originate ?
  metric  Default route metric
  <cr>

R4(config-if)#ipv6 rip Process1 default-information originate metric ?
  <1-15>

R4(config-if)#ipv6 rip Process1 default-information originate
ASR#2
[Resuming connection 2 to r2 … ]

R2#sh ipv6 route rip
IPv6 Routing Table – 9 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U РPer-user Static route
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       O РOSPF intra, OI РOSPF inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
       D РEIGRP, EX РEIGRP external
R   ::/0 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R   2004::/64 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R2#

See what I did there? The color coding shows R2’s original route table in red, and in blue you can see the command added to the R4 Fa0/0 interface, as well as the default route now seen in R2’s route table AFTER A PAINFULLY LONG AMOUNT OF TIME.

Really, with RIP in IPv6, if you think you’ve waited long enough and something should have happened by now it really hasn’t. Go take a shower or do the dishes, come back, and it will have maybe have sent route updates. Its surprisingly noticeably worse than IPv4.

ANYWAYS, so that works like it does with OSPF, just sends a default route to itself to all listening routers with it’s same Process ID.

Now let us change this to use “only” instead of originate, and see what happens, we’ll skip before and after as the current route table is just above us all colorful and fun looking:

R4(config)#int fa0/0
R4(config-if)#no ipv6 rip Process1 default-information originate
R4(config-if)#ipv6 rip Process1 default-information only
ASR#2
[Resuming connection 2 to r2 … ]

R2#sh ipv6 route rip
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U РPer-user Static route
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       O РOSPF intra, OI РOSPF inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
       D РEIGRP, EX РEIGRP external
R   ::/0 [120/2]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R   2003::/64 [120/2]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
R2#

R2#ping 2004::1

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

After 10 minutes, R2 got its routing update, which shows that R4 is now only advertising default routes to other RIPng routers listening, and the ping to it’s loopback is successful.

So the difference with originate and only is pretty straight forward, originate just adds a default route to RIPng routers, while “only” on the command will “only” advertise a default route to itself.

** One thing to note from that last output is that it is best practice to remove the original command before replacing it with a new value, however with this be sure not to remove the “ipv6 rip process enable” command because it needs to stay! **

With that, I am done waiting for RIP’s routing updates, next up is one more OSPFv3 lab which will use this same Topology once more. Don’t miss out on all the fun in that post!

Configuration of EIGRP in IPv6, output examples and differences from v4, and some old IOS code derps!

IPv6_EIGRP

I sometimes wonder how much it makes network engineers cringe when they look at a blog post (if any engineers do), and see my barely put together Topology not made in Visio as my diagram ūüôā

Anyways this should be pretty quick, so far I have only configured the loopback and FastEthernet0/0 interfaces for the Ethernet segment, and configured EIGRP RID’s on all of them the exact same way as OSPF:

R3(config)#ipv6 router eigrp 100
R3(config-rtr)#router-id 3.3.3.3

Only of course I did that for R2, R3, and R4 because I am a nice guy like that. For the Fa0/0 interfaces I have no shut them and assigned only IP addresses shown in the Topology, so for the sake of testing we should be able to ping around quick from R2 to R3 and R4 as their on a shared Ethernet Segment of 2001::0/64:

R2(config-if)#do ping 2001::3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/8 ms
R2(config-if)#do ping 2001::4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::4, timeout is 2 seconds:
…..
Success rate is 0 percent (0/5)
R2(config-if)#

@_@. Already? Ahhh, no worries, cabling mis-hap in my semi-awake state, lets try again:

R2(config-if)#do ping 2001::4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/8 ms
R2(config-if)#

There we go. So I have already enabled EIGRP AS 100 on all 3 routers, however I need to configure it interface by interface like OSPFv3:

R2(config-if)#ipv6 eigrp 100
R2(config-if)#
ASR>3
[Resuming connection 3 to r3 … ]

R3(config-if)#ipv6 eigrp 100
R3(config-if)#
ASR>4
[Resuming connection 4 to r4 … ]

R4(config-if)#ipv6 eigrp 100
R4(config-if)#

Simple enough, so at this point we aren’t going to see any EIGRP routes because we’re all already connected to eachother, but why have no adjacencies formed between the 3 routers? So the investigation begins, confirming first across all 3 routers with “sh ipv6 eigrp nei” that noone has a neighbor.

So I was on R2 reviewing the show run when I saw this oddity:

!
ipv6 router eigrp 100
 router-id 2.2.2.2
 shutdown
!
!

What? Routing process is shut down? Well lets no shut like an interface and see what happens I suppose:

R2(config-if)#exit
R2(config)#ipv6 router eigrp 100
R2(config-rtr)#no shut
R2(config-rtr)#
*Mar  1 22:52:33.402: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::21B:53FF:FE36:F2CC (FastEthernet0/0) is up: new adjacency
R2(config-rtr)#
R2(config-rtr)#do sh ipv6 eigrp nei
IPv6-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
(sec)         (ms)       Cnt Num
0   Link-local address:     Fa0/0             11 00:02:17    6   200  0  2
FE80::21B:53FF:FE36:F2CC

You have to be kitten me. This wasn’t on the training video course I am going with, so this was like turning over a rock, and finding IPv6 EIGRP gold my CCNP candidate friends.

So lesson # 1, in IPv6 if your neighbors aren’t forming adjacencies… no shut the ipv6 router eigrp # I guess.

That is really weird. Anyways, I wanted to know who it formed an Adjacency with as I hadn’t “no shut” any other routers, went to R3 and look at this:

R3(config-if)#
R3(config-if)#do sh ipv6 eigrp nei
IPv6-EIGRP neighbors for process 100
% EIGRP 100 is in SHUTDOWN
R3(config-if)#


So after going across all 3 routers, it wasn’t in that video because on code 15.x IOS, it doesn’t require the “no shut” in the router process, so maybe keep it in the back of your head for troubleshooting but my old crusty gear needs that extra kick to work.

^ This will be demonstrated below as I “no shut” the other R3 and R4:

R3(config)#ipv6 router eigrp 100
R3(config-rtr)#no shut
R3(config-rtr)#
*Mar  2 07:36:40.370: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::20E:D7FF:FE10:6C60 (FastEthernet0/0) is up: new adjacency
*Mar  2 07:36:40.370: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::21B:53FF:FE36:F2CC (FastEthernet0/0) is up: new adjacency
R3(config-rtr)#
ASR>4
[Resuming connection 4 to r4 … ]

*Mar  8 04:45:38.655: %DUAL-5-NBRCHANGE: EIGRP-IPv6 100: Neighbor FE80::20E:D7FF:FE10:6C60 (FastEthernet0/0) is up: new adjacency
R4(config-if)#
*Mar  8 04:52:06.939: %DUAL-5-NBRCHANGE: EIGRP-IPv6 100: Neighbor FE80::20F:23FF:FE09:B180 (FastEthernet0/0) is up: new adjacency
R4(config-if)#exit
R4(config)#ipv6 router eigrp 100
R4(config-rtr)#no shut

I kind of already knew something was up, because when I flipped to R4 via the access-server there I had the console messages for DUAL changes waiting for me, so with 15.x IOS code in the lab room ignore the “no shut” non-sense.

Now, back onto the lab, lets confirm all the neighbors are friends and saying Hellos to each other and being good neighbors:

R4(config)#do sh ipv6 eigrp nei
EIGRP-IPv6 Neighbors for AS(100)
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   Link-local address:     Fa0/0             13 00:05:31    9   200  0  4
    FE80::20F:23FF:FE09:B180
0   Link-local address:     Fa0/0             12 00:11:59    5   200  0  2
    FE80::20E:D7FF:FE10:6C60
R4(config)#

Ok, the link-local address is pretty irritating because that doesn’t show me which neighbor is actually there unless I run the command in detail, I would imagine:

R4(config)#do sh ipv6 eigrp nei det
EIGRP-IPv6 Neighbors for AS(100)
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   Link-local address:     Fa0/0             12 00:07:00    9   200  0  4
    FE80::20F:23FF:FE09:B180
   Version 12.4/1.2, Retrans: 0, Retries: 0, Prefixes: 1
   Topology-ids from peer – 0
0   Link-local address:     Fa0/0             13 00:13:28    5   200  0  2
    FE80::20E:D7FF:FE10:6C60
   Version 12.4/1.2, Retrans: 0, Retries: 0, Prefixes: 1
   Topology-ids from peer – 0
R4(config)#

Nope, no actual assigned IP addresses here, just that link-local address. I could see it using the RID here, but the link-local address that is only known by the remote router? Gah!

So at this point we have neighbors, but no routes for EIGRP in the IPv6 route table as we haven’t added any loopbacks, so lets get to that:

R4(config)#int lo4
R4(config-if)#ipv6 eigrp 100
R4(config-if)#
ASR>3
[Resuming connection 3 to r3 … ]

R3(config-rtr)#int lo3
R3(config-if)#ipv6 eigrp 100
R3(config-if)#
ASR>2
[Resuming connection 2 to r2 … ]

*Mar  1 22:59:01.626: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 100: Neighbor FE80::20F:23FF:FE09:B180 (FastEthernet0/0) is up: new adjacency
R2(config-rtr)#
R2(config-rtr)#do sh ipv6 route eigrp
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U – Per-user Static route
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
       D – EIGRP, EX – EIGRP external
D   2003::/64 [90/156160]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
D   2004::/64 [90/156160]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0
R2(config-rtr)#do ping 2003::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2003::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/4/16 ms
R2(config-rtr)#do ping 2004::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2004::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/4 ms
R2(config-rtr)#

So that looks the same, however I want to get a bit of redistribution in here, and actually I want to get it on R4 to demonstrate some things not available on 12.x code.

And to note, most behavior issues on these older IOS images is IPv6, so my posts are valid for this exam and the information in them – Just to give myself some credibility… yeah.

So couple of things I want to point out when configuring your redistribution, as we know from IPv4 EIGRP has no seed metric so it must be added either on the Redistribution statement or by “default-metric # # # # #” in router configuration mode:

R4(config-if)#exit
R4(config)#ipv6 router eigrp 100
R4(config-rtr)#default-metric 1544 10 100 1 1500
R4(config-rtr)#redistribute connected ?
metric     Metric for redistributed routes
route-map  Route map reference
<cr>


R4(config-rtr)#redistribute connected
R4(config-rtr)#

So you can see there is still a metric and route-map available after redistribute command is going, but no subnets again because IPv6 don’t have time for none of that subnet business.

So lets look at R2’s route table:

R2(config-if)#do sh ipv6 route eigrp
IPv6 Routing Table – 8 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
       U – Per-user Static route
       I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
       O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
       ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
       D – EIGRP, EX – EIGRP external
D   2003::/64 [90/156160]
     via FE80::20F:23FF:FE09:B180, FastEthernet0/0
EX  2004::/64 [170/1662976]
     via FE80::21B:53FF:FE36:F2CC, FastEthernet0/0

R2(config-if)#do ping 2004::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2004::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/4 ms
R2(config-if)#

You can see still the same AD values for Internal and External, nothing fancy, basically the same as IPv4 with the small 12.x IOS caveat I stumbled upon.

So for redistributed routes, the difference from IPv4 to IPv6 is v4 will show D EX in it’s route table where IPv6 will just show EX in it’s route table for an EIGRP external route.

And that is it, I am going to enjoy the little bit of night I have left, next up will be RIPing!

IPv6 Redistribution, Stub and Total Stub configuration, and some gotchas to watch for on exam day!

OSPFv3_No_NBMA

I was going to bring R1 in on this with a Point-to-Point Serial cable, to make the Topology look a little less pathetic than the usual all out routers everywhere model, however for these topics I only need these 3 – Though I may need to for further IPv6 studies.

So far I’ve confirmed the frame switch does not understand IPv6 at all, and R5 at very least has a bug in its code regarding IPv6 and OSPF, not sure yet about other protocols…

Redistribution with IPv6 is very similar to IPv4 in the way that you must go into the router configuration mode “ipv6 router ospf #” from global config, and actually I’ve already added some loopbacks on R2 for this demonstration:

R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int lo14
R2(config-if)#ipv6 add 2014::1/64
R2(config-if)#int lo15
R2(config-if)#ipv6 add 2015::1/64
R2(config-if)#int lo16
R2(config-if)#ipv6 add 2016::1/64
R2(config-if)#
R2(config-if)#
*Mar  1 22:44:19.449: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback14, changed state to up
*Mar  1 22:44:19.589: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback15, changed state to up
*Mar  1 22:44:19.625: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback16, changed state to up
R2(config-if)#

Typed them so fast the router could hardly keep up ūüôā

So now I will drop into router config, and I’ll display the ? output as I go along:

R2(config)#ipv6 router ospf 1
R2(config-rtr)#redistribute ?
  bgp        Border Gateway Protocol (BGP)
  connected  Connected Routes
  eigrp      Enhanced Interior Gateway Routing Protocol (EIGRP)
  isis       ISO IS-IS
  ospf       Open Shortest Path First (OSPF)
  rip        IPv6 Routing Information Protocol (RIPv6)
  static     Static Routes

R2(config-rtr)#redistribute connected ?
  metric       Metric for redistributed routes
  metric-type  OSPF/IS-IS exterior metric type for redistributed routes
  route-map    Route map reference
  tag          Set tag for routes redistributed into OSPF
  <cr>

R2(config-rtr)#redistribute connected
R2(config-rtr)#

Oh boy I see that route-map statement as part of the command and I just want to start redistributing everywhere, however I stuck to basics just to demonstrate the route table, if I think up a scenario where it’d be fun to use route-maps in IPv6 I will definitely be labbing it.

It’s so hard to put IPv6 and fun in the same sentence, I can’t believe I just did it, one step closer to true Cisco enlightenment!

All joking aside, there was one field missing there, and that would be “subnets” on the end of that redistribute command. That is because subnets is not necessary in OSPFv3 vs OSPFv2, so that will be a good detail to remember come exam day.

So let us see what this all looks like way over to R4 in it’s OSPF route table:

R4#sh ipv6 route ospf
IPv6 Routing Table – default – 10 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B РBGP, HA РHome Agent, MR РMobile Router, R РRIP
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       D РEIGRP, EX РEIGRP external, NM РNEMO, ND РNeighbor Discovery
       l РLISP
       O РOSPF Intra, OI РOSPF Inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
OE2 2014::/64 [110/20]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OE2 2015::/64 [110/20]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OE2 2016::/64 [110/20]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2022::1/128 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2023::/64 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2033::1/128 [110/1]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
R4#

I have to admit, that was less spectacular or different than I expected, it shows the O E2 routes for the Redistributed routes just like in OSPFv2.

When you’re taking the CCNA (at least in my day, walked uphill both ways, etc), IPv6 was just a memorization game, it was just kind of points that were up in the air on exam day if you couldn’t remember which address type was which.

As demonstrated above with Redistribution it is almost completely similar in configuration, and I will now show you that creating a stub / total stub network is as well!

The funny thing is that R3 is the gateway right now for both R2 and R4 (which is why I thought about bringing R1 in), but we are all adults here and can handle imagining that R2 leads to other routers.

So I will first create the basic stub Area on 34:

R4(config)#ipv6 router ospf 1
R4(config-rtr)#area 34 stub ?
no-summary  Do not send summary LSA into stub area
<cr>

R4(config-rtr)#area 34 stub
R4(config-rtr)#
*Mar  7 00:55:50.455: %OSPFv3-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
R4(config-rtr)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
3.3.3.3¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 1¬†¬† DOWN/DROTHER¬†¬†¬†¬†¬†¬† –¬†¬†¬†¬†¬†¬†¬† 5¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† FastEthernet0/1
R4(config-rtr)#

So far, so good? I wanted to show the neighbor relationship output in case you see this on your exam, this means you haven’t let your stub neighbor know that you are being stubborn all by yourself – So off to R3 to let it know they will both be stubs:

IMPORTANT BEHAVIOR TO NOTE FOR EXAM DAY, TAKE NOTE!! :

R3(config)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
2.2.2.2           1   FULL/BDR        00:00:38    4               FastEthernet0/0
R3(config)#
ASR#4
[Resuming connection 4 to r4 … ]

R4(config-rtr)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
3.3.3.3¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† 1¬†¬† DOWN/DROTHER¬†¬†¬†¬†¬†¬† –¬†¬†¬†¬†¬†¬†¬† 5¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† FastEthernet0/1
R4(config-rtr)#

On R3, its just no longer has an adjacency with R4 so it doesn’t show it in the neighbor table, however on R4 it is showing DOWN/DROTHER with a – through the Dead Time. I am not sure if I saw that in IPv4, so this will also be something to watch for on exam day, if its state is DOWN as the beginning portion with no dead timer its probably a not quite finished stub configuration (or so you shall hope in the exam room).

Anyways, back to stubbing R3:

R3(config)#ipv6 router ospf 1
R3(config-rtr)#area 34 stub
R3(config-rtr)#
*Mar  2 07:47:58.558: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from LOADING to FULL, Loading Done
R3(config-rtr)#do sh ipv6 ospf nei

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
2.2.2.2           1   FULL/BDR        00:00:39    4               FastEthernet0/0
4.4.4.4           1   FULL/DR         00:00:36    4               FastEthernet0/1
R3(config-rtr)#

And there we have it back in the neighbor table. Really watch for that on exam day, that is a very tricky behavior that I would write a question about to test how much someone has been labbing their *ss off to prepare for this brutal exam!

So what does R4 look like now in its route table here:

R4(config)#do sh ipv6 route
IPv6 Routing Table – default – 8 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B РBGP, HA РHome Agent, MR РMobile Router, R РRIP
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       D РEIGRP, EX РEIGRP external, NM РNEMO, ND РNeighbor Discovery
       l РLISP
       O РOSPF Intra, OI РOSPF Inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
OI  ::/0 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2022::1/128 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2023::/64 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
OI  2033::1/128 [110/1]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
C   2034::/64 [0/0]
     via FastEthernet0/1, directly connected
L   2034::4/128 [0/0]
     via FastEthernet0/1, receive
LC¬† 2044::1/128 [0/0]¬†¬† <— LC, Interesting
     via Loopback4, receive
L¬†¬† FF00::/8 [0/0]¬†¬†¬†¬†¬† <— What??
     via Null0, receive
R4(config)#

I wanted to show the whole route table to see what different things look like. Obviously our redistributed routes are outta here, however our Inter-Area (routes known in other area than its own) are still around.

I also wanted to show this sort of oddity, or two of them, LC and our built in route to Null0. I am not sure what made the router to designate its own Loopback with an L and C together, but that’s a bit odd to me, and FF00::/8 which with some googling is just a discard bucket built into IPv6 enabled interfaces.

So everything is fine and good (except for that stupid frame switch that I still haven’t gotten over), however we still have all these OSPFv3 Inter-Area routes still going to the same next hop which spells out one thing to us CCNP’s – IT’S TOTAL STUB TIME!!

So I’ll see if that is the same from OSPFv2, and see if I can just make the change on R3:

R3(config)#ipv6 router ospf 1
R3(config-rtr)#no area 34 stub
R3(config-rtr)#
*Mar  2 08:02:31.881: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
R3(config-rtr)#area 34 stub no-summary
R3(config-rtr)#
*Mar  2 08:02:40.187: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from DOWN to DOWN, Neighbor Down: Adjacency forced to reset
R3(config-rtr)#
*Mar  2 08:02:46.874: %OSPFv3-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/1 from LOADING to FULL, Loading Done
R3(config-rtr)#

And yes it does, so again, as with OSPFv2 on IPv4 you can just remove the stub command (best practice) and enter the same command with no-summary tacked onto the end. As seen the adjacency goes down, but reforms immediately.

 

Noooow lets see how R4’s route table is doing:

R4(config)#do sh ipv6 route ospf
IPv6 Routing Table – default – 5 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
       B РBGP, HA РHome Agent, MR РMobile Router, R РRIP
       I1 РISIS L1, I2 РISIS L2, IA РISIS interarea, IS РISIS summary
       D РEIGRP, EX РEIGRP external, NM РNEMO, ND РNeighbor Discovery
       l РLISP
       O РOSPF Intra, OI РOSPF Inter, OE1 РOSPF ext 1, OE2 РOSPF ext 2
       ON1 РOSPF NSSA ext 1, ON2 РOSPF NSSA ext 2
OI  ::/0 [110/2]
     via FE80::20F:23FF:FE09:B181, FastEthernet0/1
R4(config)#

And then, there was one. If I did not already mention this route type somewhere in the posts, this would be an IPv6 default route (meaning everything go thataway).

Now last time I had a little grief getting return pings and had to manipulate some static route redistribution to get pinging working, lets see how this goes:

R4(config)#do ping 2022::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2022::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms
R4(config)#
ASR#2
[Resuming connection 2 to r2 … ]

R2(config-rtr)#do ping 2044::1

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

Ok, nevermind everything I just said previous to these pings, cause that worked really as it should. Come to think of it I think it was stub area to stub area where I had to work some magic to get connectivity.

So if you take absolutely nothing else away from this post, it’s that the concepts from OSPFv2 are almost identical to OSPFv3, with some very slight differences.

One good verification command to check for stub area’s will be the same from OSPFv2, just with the ipv6 twist on it, for example:

R3#sh ipv6 ospf
¬†Routing Process “ospfv3 1” with ID 3.3.3.3
 It is an area border router
 SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
 Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
 LSA group pacing timer 240 secs
 Interface flood pacing timer 33 msecs
 Retransmission pacing timer 66 msecs
 Number of external LSA 3. Checksum Sum 0x004335
 Number of areas in this router is 4. 3 normal 1 stub 0 nssa
 Reference bandwidth unit is 100 mbps
    Area BACKBONE(0)
        Number of interfaces in this area is 1
        SPF algorithm executed 9 times
        Number of LSA 10. Checksum Sum 0x04C947
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0
    Area 3
        Number of interfaces in this area is 1
        SPF algorithm executed 6 times
        Number of LSA 7. Checksum Sum 0x041AA0
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0
    Area 34
        Number of interfaces in this area is 1
        It is a stub area, no summary LSA in this area
          generates stub default route with cost 1
        SPF algorithm executed 12 times
        Number of LSA 8. Checksum Sum 0x02FDBB
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0
  
R3#

It is really a wealth of information there, but for our purposes, I’ve highlighted where we can verify our stub areas. When I say it is just like v2, v3 for OSPF really is once you get over the addressing, and that itself takes time (I am still a bit blah about it honestly).

That is it for OSPFv3 for now, next on the plate is EIGRPv3 or whatever they call it using IPv6 (it’s probably not really called EIGRPv3 so I would not wr mem that to your brain).

Part 4: Found an IOS bug on R5, and found why IPv6 doesn’t work over my NBMA, so I won’t be able to lab it :(

ospfv3_multiarea_topology

I’m thinking it has to be something on that frame switch so we’ll dig into the guts of that, but I start off with R5 (not in this Topology in which you will see why), just to get SOMETHING going for R1. As you may not know from previous labs, R5 is attached to R1 via Ethernet, and usually hangs in topology above R2.

So I R5 loaded first so I immediately got into configuring and OSPFv3 Area 15, and not hardly into the configuration at all, I hit a bug in the IOS:

R5#sh ip int bri
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES NVRAM  administratively down down
FastEthernet0/1            172.12.15.5     YES NVRAM  administratively down down
Serial0/0/0                unassigned      YES NVRAM  administratively down down
Serial0/0/1                unassigned      YES NVRAM  administratively down down
Loopback5                  5.5.5.5         YES NVRAM  up                    up
R5#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R5(config)#int lo5
R5(config-if)#no ip add
R5(config-if)#exit
R5(config)#ipv6 unicast-routing
R5(config)#ipv6 router ospf 1
% Failed to create routing protocol ospf  <-What????
R5(config)#ipv6 router ?
  eigrp  Enhanced Interior Gateway Routing Protocol (EIGRP)
  nemo   Network Mobility (NEMO)
  ospf   Open Shortest Path First (OSPF)
  rip    IPv6 Routing Information Protocol (RIPv6)

R5(config)#ipv6 router ospf ?
  <1-65535>  Process ID

R5(config)#ipv6 router ospf 1
% Failed to create routing protocol ospf
R5(config)#

That’s an excellent way to start off a lab ūüôā Yeah, so I am seriously giving this one last attempt, and then I will just have to take the point hits on the exam because this is the kind of material that is a study killer.

However, I’d like to turn this into a learning lesson, so far we have learned that R5 has IPv6 IOS bug issues so I will be keeping the 1800 series router completely out of IPv6 studies if possible.

So what we know, is that when I did add the frame map statements from the last lab, we got Active PVC’s to both peers, so Layer 2 is working. However, for some reason Layer 3 does not want to work, and I am thinking it had to do with something on the NBMA switch that perhaps was configured off camera before the lesson cause Chris Bryant enters about 4 commands and it just works like it should.

So my first thought, is the 2600 router serving as the NBMA switch which works perfectly for IPv4 routing needs some tweaks for IPv6 routing. Now I want to make as little change as possible, preferably just global (ipv6 unicast-routing) to kick it in the butt and get it routing, but I will also enable the interfaces if that doesn’t work.

So then I found the issue, on a 2620XM router (one of the higher end models (unfortunately) in my lab that is the frame switch for R1 / R2 / R3:

FRSW#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
FRSW(config)#ipv6 unicast-routing
                                 ^
% Invalid input detected at ‘^’ marker.

FRSW(config)#ipv6 ?
% Unrecognized command

It has no idea what in the world we are talking about IPv6, so when a packet of Hex jibberish shows up at the Frame-Switch it just goes HUH? So at least that solves the mystery of what was going on there.

So that will conclude IPv6 over NBMA, it’s been my Achilles heel that I was going to squash tonight to start progressing again through the week, and that really sucks it won’t work but I’ll just take in the theory on this one and keep moving forward to exam day.

Not sure what the next topic is on deck, but given I’m a bit under the weather it may be a slow start, but time to start pounding these topics out.