Dynamic NAT-PT

Cisco Main Page

A picture is worth a thousand words. An interface is worth a thousand pictures.

A Networker Blog

Static Nat-PT

IPv6 address from the IPv6 domain are mapped to ipv4 addresses by the NAT PT device. We can perform ipv4 address mappings though a static or dynamic allocation.

NAT-PT uses a /96 bit prefix to provide a pool of addresses for “virtual IPv6” IPv4 only nodes. The /96bits prefix is used because 32 bits are left to represent IPv4 nodes, and IPv4 uses a 32 bit addressing space. So a /96bit IPv6 prefix is enough address space to represent the entire IPv4 internet.

This post is based on just Static NAT-PT Configuration (I will be posting Dynamic NAT-PT by Friday), and from this test we can say that static address mappings are useful in networks in which an internal IPv6 Node requires a stable mapping to an external ipv4 Device, such as access to an external DNS Server.

To enable NAT-PT use the command ipv6 Nat, on the interfaces that connects to the IPv6 Domain and also in the interface that connects to the IPv4 Domain.

We can see that from R7 (ipv6 only) we can ping to NATPT Device (Rc)

and viceversa

We can now use the command ipv6 nat v6v4 source ipv6address ipv4address and the ipv6 nat v4v6 ipv4address ipv6address to configure static mappings for ipv6 to ipv4 and ipv4 to ipv6 translations.

We need to use also a NAT-PT Prefix, this prefix is configured globally for all interfaces or on a per interface

When a received IPv6 datagram matches against the NAT-PT prefix, it will be translated by the mappings that you configure, so this prefix would be used as the destination of traffic going from the ipv6 domain to the ipv4 domain, and from the ipv4 domain to the ipv6 would be the source of the traffic.

Here we are going to create a secondary ip address on the connection with RC and R8 in order to have that ip reachable by R8, like in normal NAT this should be like the inside global.

We need to inform about this new connected prefix to R7, we can use any routing protocol to do this,

and we are done

Lets do a Telnet to R8 from R7 (IPv6 Domain -> IPv4 Domain)

The Result:


This Rocks!


A Networker Blog

IPv6 On MPLS

Each Cisco 6PE router (Router R5 and Router R6) are running IPV4 routing and CEF the 2 customer edge routers (R1 and R2) have been assigned an IPV6 address os 2001:0:1:15::/64 and 2001:0:1:36::/64 the CE router are connected to the

Cisco 6PE router as shown in the figure

My First MPLS IPV6 Network

The following is the configuration of the P routers (R7,R8,R9) tht aare using the 192.168.XX.0/24 inside the core,

with ISIS as the IGP with ISIS Wide Metric, also they are running LDP Protocol for label exchange bindings.

P-R7 configuration:

R7#conf te
Enter configuration commands, one per line.  End with CNTL/Z.
R7(config)#router isis
R7(config-router)#net 49.0000.0000.0007.00
R7(config-router)#metric-st w
R7(config-router)#is-type level-2-on
R7(config-router)#do show mpls inter
Interface              IP            Tunnel   Operational
Serial0/0/0.57         Yes (ldp)     Yes      Yes
Serial0/0/0.78         Yes (ldp)     Yes      Yes
Serial0/0/0.79         Yes (ldp)     Yes      Yes
R7(config-router)#int s0/0/0.57
R7(config-subif)#ip router isis
R7(config-subif)#int s0/0/0.78
R7(config-subif)#ip router isis
R7(config-subif)#int s0/0/0.79
R7(config-subif)#ip router isis

P-R8 configuration:

R8#conf te
Enter configuration commands, one per line.  End with CNTL/Z.
R8(config)#router isis
R8(config-router)#net 49.0000.0000.0008.00
R8(config-router)#metric-st w
R8(config-router)#is-type level-2-on
R8(config-router)#do show mpls inter
Interface              IP            Tunnel   Operational
Serial0/0/0.68         Yes (ldp)     Yes      Yes
Serial0/0/0.78         Yes (ldp)     Yes      Yes
Serial0/0/0.89         Yes (ldp)     Yes      Yes
R8(config-router)#int s0/0/0
R8(config-if)#int s0/0/0.68
R8(config-subif)#ip router isis
R8(config-subif)#int s0/0/0.78
R8(config-subif)#ip router isis
R8(config-subif)#int s0/0/0.89
R8(config-subif)#ip router isis
R8(config-subif)#int lo0
R8(config-if)#ip router isis

P-R9 configuration:

R9#show mpls inter
Interface              IP            Tunnel   Operational
Serial0/0/0.79         Yes (ldp)     Yes      Yes
Serial0/0/0.89         Yes (ldp)     Yes      Yes
Serial0/0/0.179        Yes (ldp)     Yes      Yes
Serial0/0/0.189        Yes (ldp)     Yes      Yes
R9#conf te
Enter configuration commands, one per line.  End with CNTL/Z.
R9(config)#router isis
R9(config-router)#net 49.0000.0000.0009.00
R9(config-router)#metric-st w
R9(config-router)#is-type level-2-on
R9(config-router)#int s0/0/0.79
R9(config-subif)#ip router isis
R9(config-subif)#int s0/0/0.89
R9(config-subif)#ip router isis
R9(config-subif)#exit
R9(config)#int lo0
R9(config-if)#ip router isis
R9(config-if)#^Z

The Cisco 6PE Router are prepared by enabling IPV4 and IPV6 CEF, enabling IPv6 and specifying the interfaces fromwhich locally generated packets takes theier source IPv6, Router R5 exchanges IPv6 routing information with router 6 using IBGP established over an IPv4 The 6PE routers (5 and 6) are configured for both IPv4 and IPv6, Configuration for 6PE Router R5

R5#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R5(config)#ip cef
R5(config)#ipv6 unicast-routing
R5(config)#ipv6 cef
R5(config)#ip vrf IPV6:13
R5(config-vrf)#rd 56.56.56.56:13
R5(config-vrf)#route-t 56.56.56.56:13
R5(config-vrf)#exit
R5(config)#mpls ipv6 source-inter lo0
R5(config)#mpls ldp router-id lo0
R5(config)#int lo0
R5(config-if)#ip add 5.5.5.5 255.255.255.255
R5(config-if)#ip router isis
R5(config-if)#ipv6 address 2001::5/64
R5(config-if)#router isis
R5(config-router)#net 49.0000.0000.0005.00
R5(config-router)#metric-s w
R5(config-router)#is-ty level-2-on
R5(config-router)#exit
R5(config)#int lo0
R5(config-if)#ip router isis
R5(config-if)#int s0/0/0.57

R5(config-subif)#ip router isis
R5(config-subif)#exit
R5(config)#int s0/0/0.15
R5(config-subif)#no ip add
R5(config-subif)#ip vrf forw IPV6:13
R5(config-subif)#description TO CE ROUTER#1
R5(config-subif)#ipv6 add 2001:0:1:15::/64 eui
R5(config-subif)#ipv6 ospf 1 area 0
R5(config-subif)#do show ipv6 int brief
FastEthernet0/0            [administratively down/down]
FastEthernet0/1            [administratively down/down]
Serial0/0/0                [up/up]
Serial0/0/0.15             [up/up]
FE80::213:C4FF:FEE5:E1D0
2001:0:1:15:213:C4FF:FEE5:E1D0
Serial0/0/0.25             [up/up]
Serial0/0/0.56             [down/down]
Serial0/0/0.57             [up/up]
Serial0/0/1                [administratively down/down]
Loopback0                  [up/up]
FE80::213:C4FF:FEE5:E1D0
2001::5

Configuration for The Cisco 6PE Router R6

R6#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R6(config)#ipv6 unicast-routing
R6(config)#ipv6 cef
R6(config)#mpls ipv6 sou lo0
R6(config)#ip cef
R6(config)#ipv6 unicast-routing
R6(config)#ipv6 cef
R6(config)#ip vrf IPV6:13
R6(config-vrf)#rd 56.56.56.56:13
R6(config-vrf)#route-t 56.56.56.56:13
R6(config-vrf)#exit
R6(config)#int lo0
R6(config-if)#ip add 6.6.6.6 255.255.255.255
R6(config-if)#ip router isis
R6(config-if)#ipv6 add 2001::6/64
R6(config-if)#router isis
R6(config-router)#net 49.0000.0000.0006.00
R6(config-router)#metric-s w
R6(config-router)#is-type level-2-on
R6(config-router)#int s0/0/0.36
R6(config-subif)#no ip add
R6(config-subif)#ip vrf for IPV6:13
R6(config-subif)#Description TO CE ROUTER 3
R6(config-subif)#ipv6 add 2001:0:1:36::/64 eu
R6(config-subif)#ipv6 ospf 1 area 0
R6(config-subif)#no sh
R6(config-subif)#exit
R6(config)#int s0/0/0.68
R6(config-subif)#ip router isis
R6(config-subif)#do show ipv6 int brief
FastEthernet0/0            [administratively down/down]
FastEthernet0/1            [administratively down/down]
Serial0/0/0                [up/up]
Serial0/0/0.26             [up/up]
Serial0/0/0.36             [up/up]

FE80::213:C4FF:FEE5:B1E0
2001:0:1:36:213:C4FF:FEE5:B1E0
Serial0/0/0.46             [up/up]
Serial0/0/0.56             [down/down]
Serial0/0/0.68             [up/up]
Serial0/0/1                [administratively down/down]

Loopback0                  [up/up]
FE80::213:C4FF:FEE5:B1E0
2001::6
Tunnel0                    [up/down]

IPv6 and CEFv6 are enable are enabled the 6PE neighbor is activated, and aggregate label binding and advertisments is enabled for IPv6 using the neighbor send-label.

MP-BGP and OSPFv6 Configurations for 6PE Router R5

R5(config-subif)#router bgp 56
R5(config-router)#neigh 6.6.6.6 remote-as 56
R5(config-router)#neigh 6.6.6.6 up lo0
R5(config-router)#address-family ipv6 unicast
R5(config-router-af)#neigh 6.6.6.6 activate
R5(config-router-af)#neigh 6.6.6.6 send-label
R5(config-router-af)#redistribute ospf 1 include-connected
R5(config-router-af)#exit
R5(config-router)#exit
R5(config)#ipv6 router ospf 1
R5(config-rtr)#redistribute bgp 56 include-connected

MP-BGP and OSPFv6 Configurations for 6PE Router R6

R6(config-subif)#router bgp 56
R6(config-router)#neigh 5.5.5.5 remote-as 56
R6(config-router)#neigh 5.5.5.5 up lo0
R6(config-router)#add ipv6
R6(config-router-af)#neigh 5.5.5.5 activate
R6(config-router-af)#neigh 5.5.5.5 send-label
R6(config-router-af)#redistribute ospf 1 include-connected
R6(config-router-af)#exit
R6(config-router)#exit
R6(config)#ipv6 router ospf 1
R6(config-rtr)#redistribute bgp 56 include-connected

When the neighbor relationship comes on, lets see the BIG output from the show bgp ipv6 neigh.. just for history..

R6#show bgp ipv6 unicast neighbors
BGP neighbor is 5.5.5.5,  remote AS 56, internal link
BGP version 4, remote router ID 5.5.5.5
BGP state = Established, up for 01:42:36
Last read 00:00:35, last write 00:00:35, hold time is 180, keepalive interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Address family IPv6 Unicast: advertised and received
ipv6 MPLS Label capability: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent       Rcvd
Opens:                  2          2
Notifications:          0          0
Updates:                6          6
Keepalives:           138        138
Route Refresh:          0          0
Total:                146        146
Default minimum time between advertisement runs is 0 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1/0
Output queue size: 0
Index 1, Offset 0, Mask 0x2
1 update-group member
Sent       Rcvd
Prefix activity:               ----       ----
Prefixes Current:               0          0
Prefixes Total:                 0          0
Implicit Withdraw:              0          0
Explicit Withdraw:              0          0
Used as bestpath:             n/a          0
Used as multipath:            n/a          0
Outbound    Inbound
Local Policy Denied Prefixes:    --------    -------
Total:                                0          0
Number of NLRIs in the update sent: max 0, min 0
For address family: IPv6 Unicast
BGP table version 9, neighbor version 9/0
Output queue size: 0
Index 1, Offset 0, Mask 0x2
1 update-group member
NEXT_HOP is always this router
Sending Prefix; Label
Sent       Rcvd
Prefix activity:               ----       ----
Prefixes Current:               2          2 (Consumes 152 bytes)
Prefixes Total:                 2          2
Implicit Withdraw:              0          0
Explicit Withdraw:              0          0
Used as bestpath:             n/a          2
Used as multipath:            n/a          0
Outbound    Inbound
Local Policy Denied Prefixes:    --------    -------
Bestpath from this peer:              2        n/a
Total:                                2          0
Number of NLRIs in the update sent: max 1, min 1
Connections established 2; dropped 1
Last reset 01:42:38, due to Peer closed the session
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 255
Local host: 6.6.6.6, Local port: 179
Foreign host: 5.5.5.5, Foreign port: 14079
Connection tableid (VRF): 0
Enqueued packets for retransmit: 0, input: 0  mis-ordered: 0 (0 bytes)
Event Timers (current time is 0x2D28498):
Timer          Starts    Wakeups            Next
Retrans           106          0             0x0
TimeWait            0          0             0x0
AckHold           106        100             0x0
SendWnd             0          0             0x0
KeepAlive           0          0             0x0
GiveUp              0          0             0x0
PmtuAger            0          0             0x0
DeadWait            0          0             0x0
Linger              0          0             0x0
ProcessQ            0          0             0x0
iss:   75068442  snduna:   75070667  sndnxt:   75070667     sndwnd:  16365
irs: 3898122610  rcvnxt: 3898124835  rcvwnd:      16365  delrcvwnd:     19
SRTT: 300 ms, RTTO: 303 ms, RTV: 3 ms, KRTT: 0 ms
minRTT: 44 ms, maxRTT: 316 ms, ACK hold: 200 ms
Status Flags: passive open, gen tcbs
Option Flags: nagle
IP Precedence value : 6
Datagrams (max data segment is 536 bytes):
Rcvd: 121 (out of order: 0), with data: 106, total data bytes: 2224
Sent: 218 (retransmit: 0, fastretransmit: 0, partialack: 0, Second Congestion: 0), 
with data: 105,
total data bytes: 2224 Packets received in fast path: 0, fast processed: 0, slow path: 0
fast lock acquisition failures: 0, slow path: 0

Now is the turn to configure the CE routers (R1 and R3), with IPv6 to the 6PE Router R5 and R6

R1#conf te
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#ipv6 unicast-routing
R1(config)#int s0/0/0.15
R1(config-subif)#ipv6 add 2001:0:1:15::/64 eui
R1(config-subif)#ipv6 ospf 1 area 0
R1(config-subif)#int lo0
R1(config-if)#ipv6 add 2001::1/128
R1(config-if)#ipv6 ospf 1 area 0
R1(config-subif)#do show ipv6 ospf neigh
Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
5.5.5.5           1   FULL/  -        00:00:34    16              Serial0/0/0.15

R3#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#ipv6 unicast
R3(config)#int s0/0/0.36
R3(config-subif)#ipv6 add 2001:0:1:36::/64 eu
R3(config-subif)#ipv6 ospf 1 area 0
R3(config-subif)#int lo0
R3(config-if)#ipv6 add 2001::3/128
R3(config-if)#ipv6 ospf 1 area 0

We can see now that R5 is receiving IPv6 routes from R1

R5(config-subif)#do show ipv6 route
 IPv6 Routing Table - 6 entries
 Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
 U - Per-user Static route, M - MIPv6
 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
 C   2001::/64 [0/0]
 via ::, Loopback0
 O   2001::1/128 [110/64]
 via FE80::216:46FF:FE99:6328, Serial0/0/0.15
 L   2001::5/128 [0/0]
 via ::, Loopback0
 C   2001:0:1:15::/64 [0/0]
 via ::, Serial0/0/0.15
 L   2001:0:1:15:213:C4FF:FEE5:E1D0/128 [0/0]
 via ::, Serial0/0/0.15
 L   FF00::/8 [0/0]
 via ::, Null0

The BGP Table of R5

R5#show bgp ipv6 unicast
BGP table version is 5, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
 2001::1/128      ::                      64         32768 ?
 2001:0:1:15::/64 ::                       0         32768 ?

On R6

R6#show ipv6 route
IPv6 Routing Table - 6 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
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
C   2001::/64 [0/0]
via ::, Loopback0
O   2001::3/128 [110/64]
via FE80::215:FAFF:FED8:51B0, Serial0/0/0.36
L   2001::6/128 [0/0]
via ::, Loopback0
C   2001:0:1:36::/64 [0/0]
via ::, Serial0/0/0.36
L   2001:0:1:36:213:C4FF:FEE5:B1E0/128 [0/0]
via ::, Serial0/0/0.36
L   FF00::/8 [0/0]

We can reach R3 lo0 from R6

R6#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 = 28/28/32 ms
R6#

lets see the labels that MP – BGP is advertising

Information from R5

R5#show bgp ipv6 unicast
BGP table version is 5, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
2001::1/128      ::                      64         32768 ?
i2001::3/128      ::FFFF:6.6.6.6          64    100      0 ?
2001:0:1:15::/64 ::                       0         32768 ?
i2001:0:1:36::/64 ::FFFF:6.6.6.6           0    100      0 ?
R5#show bgp ipv6 label
Network          Next Hop      In label/Out label
2001::1/128      ::              26/nolabel
2001::3/128      ::FFFF:6.6.6.6  nolabel/24
2001:0:1:15::/64 ::              27/nolabel
2001:0:1:36::/64 ::FFFF:6.6.6.6  nolabel/25

Information from R6

R6#show bgp ipv6 uni
BGP table version is 5, local router ID is 6.6.6.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
i2001::1/128      ::FFFF:5.5.5.5          64    100      0 ?
2001::3/128      ::                      64         32768 ?
i2001:0:1:15::/64 ::FFFF:5.5.5.5           0    100      0 ?
2001:0:1:36::/64 ::                       0         32768 ? 

R6#show bgp ipv6 uni lab
Network          Next Hop      In label/Out label
2001::1/128      ::FFFF:5.5.5.5  nolabel/24
2001::3/128      ::              24/nolabel
2001:0:1:15::/64 ::FFFF:5.5.5.5  nolabel/25
2001:0:1:36::/64 ::              25/nolabel

So we can try now a ping from R1 to R3

 

R1#ping 2001::3 rep 10000
Type escape sequence to abort.
Sending 10000, 100-byte ICMP Echos to 2001::3, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!

The P router in the core of the network are not aware that they are switching IPv6 Packets, Core routers in this

configuration are using only LDP and ISIS, you can use TDP or RSVP for binding Ipv4 labels.

 

R7#deb mpls pac
MPLS packet debugging is on

R7#
MPLS: Se0/0/0.57: recvd: CoS=0, TTL=63, Label(s)=18/24
MPLS: Se0/0/0.78: xmit: CoS=0, TTL=62, Label(s)=18/24

Within this network, IPv6 traffic is forwarded using label 24 assigned by R6 to reach R3 loopback , which makes the IPv6 traffic transparent to the core of the MPLS network.

MPLS is a very FUN Technology!!!

Have fun!

A Networker Blog

— preparing for SP Track… Written Done!! (23 Jul 2008) – 92

IPV6 & Multicast Routing

This configuration is based on this link

1.jpg

The requirement is to configure a Loopback0 on R3 and configure the following IPv6 Networks on R3 and R4.

The configuration on R3 is:

Loopback0    3:3:3:33::/64
Fast0/1    3:3:3:30::/64
Serial0/0/1    3:3:3:34::/64

The configuration on R4 is:
Fast0/0        3:3:3:40::/64
Serial0/0/1        3:3:3:34::/64

R3#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#
R3(config)#ipv6 unicast-routing
R3(config)#interface Loopback0
R3(config-if)#ipv6 address 3:3:3:33::/64 eui-64
R3(config-if)#interface FastEthernet0/1
R3(config-if)#ipv6 address 3:3:3:30::/64 eui-64
R3(config-if)#interface Serial0/0/1
R3(config-if)#ipv6 address 3:3:3:34::/64 eui-64
R3(config-if)#exit
R3(config)#^Z

R4#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#
R4(config)#ipv6 unicast-routing
R4(config)#interface FastEthernet0/1
R4(config-if)#ipv6 address 3:3:3:40::/64 eui-64
R4(config-if)#interface Serial0/0/1
R4(config-if)#ipv6 address 3:3:3:34::/64 eui-64
R4(config-if)#

Now we are going to configure RIPng and make sure R3 and R4 can ping all IPv6 networks

R3#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#ipv6 unicast-routing
R3(config)#interface Loopback0
R3(config-if)#ipv6 rip Lab3 enable
R3(config-if)#interface FastEthernet0/1
R3(config-if)#ipv6 rip Lab3 enable
R3(config-if)#interface Serial0/0/1
R3(config-if)#ipv6 rip Lab3 enable
R3(config-if)#^Z

R4#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#
R4(config)#ipv6 unicast-routing
R4(config)#interface FastEthernet0/1
R4(config-if)#ipv6 rip Lab3 enable
R4(config-if)#interface Serial0/0/1
R4(config-if)#ipv6 rip Lab3 enable
R4(config-if)#^Z
R4#

We can check the routing and then perform a test ping from R4’s LAN to R3’s loopback.

R3#sh ipv6 route
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
C   3:3:3:30::/64 [0/0]
via ::, FastEthernet0/1
L   3:3:3:30:217:EFF:FE64:5B19/128 [0/0]
via ::, FastEthernet0/1
C   3:3:3:33::/64 [0/0]
via ::, Loopback0
L   3:3:3:33:217:EFF:FE64:5B18/128 [0/0]
via ::, Loopback0
C   3:3:3:34::/64 [0/0]
via ::, Serial0/0/1
L   3:3:3:34:217:EFF:FE64:5B18/128 [0/0]
via ::, Serial0/0/1
R   3:3:3:40::/64 [120/2]
via FE80::216:C7FF:FEBE:6D58, Serial0/0/1
L   FE80::/10 [0/0]
via ::, Null0
L   FF00::/8 [0/0]
via ::, Null0
R3#

R4#sh ipv6 route
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
R   3:3:3:30::/64 [120/2]
via FE80::217:EFF:FE64:5B18, Serial0/0/1
R   3:3:3:33::/64 [120/2]
via FE80::217:EFF:FE64:5B18, Serial0/0/1
C   3:3:3:34::/64 [0/0]
via ::, Serial0/0/1
L   3:3:3:34:216:C7FF:FEBE:6D58/128 [0/0]
via ::, Serial0/0/1
C   3:3:3:40::/64 [0/0]
via ::, FastEthernet0/1
L   3:3:3:40:216:C7FF:FEBE:6D59/128 [0/0]
via ::, FastEthernet0/1
L   FE80::/10 [0/0]
via ::, Null0
L   FF00::/8 [0/0]
via ::, Null0

Now we are configuring R3 and R4 for IPv6 multicast-routing. Also, we are going to Configure R4 to join group FF04::40 using its Fast0/0 interface and make sure R3 is the PIM DR on the Serial network.

To configure a router to do IPv6 multicast routing we first need to configure the following command.

R3#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#ipv6 multicast-routing
R3(config)#^Z

R4#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#ipv6 multicast-routing
R4(config)#^Z

The host to router signaling in IPv6 multicast is performed by a protocol called Multicast Lister Discovery (MLD). Cisco IOS supports MLDv1 (similar to IGMPv2) and MLDv2 (similar to IGMPv3). Below command will configure R4’s Fast0/0 to join the requested group.

R4#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#int f0/0
R4(config-if)#ipv6 mld join-group FF04::40

Note that unlike Ipv4 multicast, as soon as you configure IPv6 multicast routing all interfaces automatically run PIM-SM (IPv6 multicast only supports PIM-SM and PIM-SSM. No PIM-DM).

You can check your configuration using show ipv6 mroute

R4#show ipv6 mroute
Multicast Routing Table
Flags: D – Dense, S – Sparse, B – Bidir Group, s – SSM Group,
C – Connected, L – Local, I – Received Source Specific Host Report,
P – Pruned, R – RP-bit set, F – Register flag, T – SPT-bit set,
J – Join SPT
Timers: Uptime/Expires
Interface state: Interface, State

(*, FF04::40), 00:00:06/never, RP ::, flags: SCLJ
Incoming interface: Null
RPF nbr: ::
Immediate Outgoing interface list:
FastEthernet0/1, Forward, 00:00:06/never

Now we need to make sure R3 is the PIM DR. The default DR priority is 1 one so we will configure R3’s Serial0/0/1 interface to have a priority of 2 and then check to make sure it is the DR.

R3(config)#int s0/0/1
R3(config-if)#ipv6 pim dr-priority 2
R3(config-if)#exit
R3(config)#do sh ipv6 pim interface Serial0/0/1
Interface          PIM  Nbr   Hello  DR
Count Intvl  Prior

Serial0/0/1        on   1     30     2
Address: FE80::217:EFF:FE64:5B18
DR     : this system

R3  is going to work as a candidate BSR and candidate RP for groups in the range FF00::/8 using Loopback0 address as an ID.

Cisco IOS doesn’t support Auto-RP or at least not until 12.4T. It only supports BSR routers that look at candidate RP advertisements and send the mapping to the rest of the multicast routers.

The range specified in the question is in fact the whole IPv6 multicast range because an IPv6 Multicast address is identified by the first 8 bits being set (FF).

We will configure the commands below for BSR and RD candidature. Note that we don’t need to configure the Loopback interface for PIM because this happens automatically as soon as we configure IPv6 multicast.

R3(config)#ipv6 pim bsr candidate bsr  3:3:3:33:217:EFF:FE64:5B18 !Lo0
R3(config)#ipv6 pim bsr candidate rp  3:3:3:33:217:EFF:FE64:5B18
R3(config)#

We can confirm the configuration on R3 itself using the commands below.

R3#show ipv6 pim bsr candidate-rp
PIMv2 C-RP information
Candidate RP: 3:3:3:33:217:EFF:FE64:5B18 SM
All Learnt Scoped Zones, Priority 192, Holdtime 150
Advertisement interval 60 seconds
Next advertisement in 00:00:45

R3#show ipv6 pim bsr election
PIMv2 BSR information

BSR Election Information
Scope Range List: ff00::/8
BSR Address: ::
Uptime: 00:00:00, BSR Priority: 0, Hash mask length: 0
RPF: ::,
BS Timer: 00:00:21
This system is candidate BSR
Candidate BSR address: 3:3:3:33:217:EFF:FE64:5B18, priority: 0, hash mask length: 126

R3#sh ipv6 pim group-map info-source bsr

FF00::/8*
SM, RP: 3:3:3:33:217:EFF:FE64:5B18
RPF: Tu2,3:3:3:33:217:EFF:FE64:5B18 (us)
Info source: BSR From: 3:3:3:33:217:EFF:FE64:5B18(00:02:23), Priority: 192
Uptime: 00:00:06, Groups: 1

A Networker Blog