Monday, October 18, 2010

PeerIX Version 6: BGP and IPv6

I got involved in a project called PeerIX this week.  It's a group of guys that have all connected various routing devices together over GRE and/or IPsec tunnels to form a BGP network for learning purposes.  I got involved when a a thread on Networking-Forum about this group started thinking that this might be interesting to do the same concept with IPv6.  As I was one of the people that was interested here I am posting about it.

There isn't much to see yet.  There's only 4 of us involved, but it's up.  I have a diagram done up, but it's in .vsd and I'm too lazy to convert it to a format I can put up here right this second.  For your own amusement, just picture me (I'm better looking...  Try again) with 3 peers connected via IP6IP tunnels in a hub and spoke topology.  We each have our own ASN, mine being 69.

The address format is simple.  We're using the ULA range of FD00::/8

The tunnel IPs are FD00:AS1:AS2::/64 with :1 and :2 on either end.

Each AS is assigned a block of FD00:YourAS:YourAS::/48 to "play" with.

And that's it.  Here's what it looks like so far:

BGP Config:

router bgp 69
 bgp router-id
 bgp log-neighbor-changes
 neighbor PEERIXv6 peer-group
 neighbor FD00:69:4444::2 remote-as 4444
 neighbor FD00:69:4444::2 peer-group PEERIXv6
 neighbor FD00:1337:69::1 remote-as 1337
 neighbor FD00:1337:69::1 peer-group PEERIXv6
 neighbor FD00:6500:69::1 remote-as 6500
 neighbor FD00:6500:69::1 peer-group PEERIXv6
 address-family ipv6
  neighbor PEERIXv6 route-map BGP_ULA_ONLY in
  neighbor FD00:69:4444::2 activate
  neighbor FD00:1337:69::1 activate
  neighbor FD00:6500:69::1 activate
  network FD00:69:69::/64

Example Tunnel Config:

interface Tunnel620
 no ip address
 ipv6 address FD00:1337:69::2/64
 ipv6 enable
 tunnel source FastEthernet0/1
 tunnel destination x.x.x.x
 tunnel mode ipv6ip

And some show output for your viewing pleasure.

Rooter#sh ip bgp ipv6 unicast
BGP table version is 5, local router ID is
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
*> FD00:69:69::/64  ::                       0         32768 i
*> FD00:69:4444::/64
                    FD00:69:4444::2          0             0 4444 i
*> FD00:6500:6500:1::/64
                    FD00:6500:69::1          0             0 6500 i

Rooter#sh ip bgp ipv6 unicast summary
BGP router identifier, local AS number 69
BGP table version is 5, main routing table version 5
4 network entries using 596 bytes of memory
4 path entries using 304 bytes of memory
14/4 BGP path/bestpath attribute entries using 1736 bytes of memory
10 BGP AS-PATH entries using 240 bytes of memory
1 BGP community entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 2900 total bytes of memory
BGP activity 191/158 prefixes, 238/197 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
FD00:69:4444::2 4  4444    2954    2990        5    0    0 01:21:13        1
FD00:1337:69::1 4  1337    2139    2137        5    0    0 01:21:14        0
FD00:6500:69::1 4  6500    3026    3065        5    0    0 01:21:14        1

If you're interested in joining up drop me a line.  It's an open community with the goal of learning something useful.

No comments:

Post a Comment