BGP Lab Exercise 1 ------------------ 1. Save your work. The instructors will re-create the lab for you with a new topology and your old configuration will be lost. 2. Work out your AS number from the diagram and write it down here: My AS: 3. Work out the AS number of your upstream provider and write it down here: Upstream AS: 4. Verify the IP address block of the link to your upstream provider. Where would you get this from ? Make sure you do the same for IPv6. 5. Verify the IP address block used for your PC link. Your group has been assigned a /28 IPv4 address block and /60 IPv6 . You will need to sub-divide it for these BGP exercises, using part of it for the LAN with your PC, part of it for the router loopback (as you did for the OSPF exercise previously), and the rest for other requirements later on. Your IPv4 network block (/28): Mask: /29 used for LAN link to PC: Mask: Router's LAN interface name: Router's LAN interface IPv4 address: PC LAN interface name: PC LAN interface IPv4 address: /32 used for router loopback: Your IPv6 network block (/60): PrefixLength: /64 used for LAN link to PC: Router's LAN interface name: Router's LAN interface IPv6 address: PC LAN interface name: PC LAN interface IPv6 address: /128 used for router loopback: 6. We will set up BGP peering sessions according to the diagram. Your router is connecting to a single upstram provider. Ask the workshop instructors what IP address you should use for the Point-to-Point link with your upstream if you are not certain. IPv4 Address block used for link to your upstream (/30): IPv4 Address of your side of the link: IPv4 Address of your transit side of the link: IPv6 Address block used for link to your upstream (/64): IPv6 Address of your side of the link: IPv6 Address of your transit side of the link: 7. Configure BGP on your router to announce your network. This is an example for RouterA team: RouterA# config term Enter configuration commands, one per line. End with CNTL/Z. RouterA(config)# ip bgp-community new-format RouterA(config)# router bgp 1 ! use your AS number RouterA(config-router)# network 196.200.220.32 mask 255.255.255.240 ! use your network and mask RouterA(config-router)# no synchronization RouterA(config-router)# no auto-summary BGP is now configured on your router, but not yet talking to any other routers yet. 8. Set up a peering session with your upstream neighbour, for example: RouterA(config)# router bgp 1 ! use your AS number RouterA(config-router)# neighbor 196.200.221.1 remote-as 100 ! use the IP address and AS number of your neighbour RouterA(config-router)# neighbor 196.200.221.1 descr My-Peer-with-AS100 9. Check to see if the peering session is up. You can use the "show ip bgp summary" command as shown below: RouterA# show ip bgp summary BGP router identifier 196.200.220.47, local AS number 1 BGP table version is 3, main routing table version 3 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 196.200.221.1 4 100 0 0 0 0 0 never Idle 10. Check to see if you are sending routes to your neighbour? Why or why not? If you aren't, what do you think could be wrong? RouterA# sh ip bgp neighbor x.x.x.x advertised-routes Recall that the BGP network statement means that the prefix will be announced *only* if the same prefix is already present in the routing table. To do this we need to add a static route to Null0 for our address block. Refer to the BGP presentation. RouterA# config term Enter configuration commands, one per line. End with CNTL/Z. RouterA(config)# ip route x.x.x.x x.x.x.x Null0 250 11. Check to see if you are receiving routes from your neighbour. RouterA# show ip bgp What routes are you receiving? Other commands to monitor BGP: RouterA# sh ip route RouterA# sh ip bgp RouterA# sh ip bgp neighbor RouterA# sh ip bgp neighbor x.x.x.x routes 12. We will now repeat the above steps to add IPv6 to the workshop network. Your group was assigned a /60 IPv6 address block during the ISIS exercise. During the ISIS exercise, you subdivided it, using the first /64 subnet for the LAN with your PC. Write down this address block here. Address block: Mask: More-specific (/64) block used for LAN: IPv6 address of the router LAN interface: IPv6 address of the PC LAN interface: Ask the workshop instructors what IPv6 address you should use for the Point-to-Point link with your upstream. IPv6 block used for point to point link to AS 100: IPv6 address of your side of the link to AS100: IPv6 address of the AS100 side of the link: 13. Configure BGP on your router to announce your IPv6 network. This is an example for RouterA team: RouterA# config term Enter configuration commands, one per line. End with CNTL/Z. RouterA(config)# router bgp 1 ! use your AS number RouterA(config-router)# no bgp default ipv4-unicast RouterA(config-router)# address-family ipv6 ! IPv6 address family RouterA(config-router-af)# network 2001:43f8:220:ff10::/60 ! use your network and mask What was the purpose of the "no bgp default ipv4-unicast" configuration line? Can you remember from the presentation? Write the reason down here: BGP is now configured on your router, but not yet talking to any other IPv6 routers yet. 14. Set up a peering session with your upstream neighbour, for example: RouterA(config)# router bgp 1 ! use your AS number RouterA(config-router-af)# neighbor 2001:43f8:220:f001::1 remote-as 100 ! use the IPv6 address and AS number of your neighbour RouterA(config-router-af)# neighbor 2001:43f8:220:f001::1 descr AS100-Peer RouterA(config-router)# address-family ipv6 ! IPv6 address family RouterA(config-router-af)# neighbor 2001:43f8:220:f001::1 activate 15. Check to see if the peering session is up: RouterA# show bgp ipv6 unicast summary BGP router identifier 196.200.220.47, local AS number 1 BGP table version is 3, main routing table version 3 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2001:43f8:220:f001::1 4 100 0 0 0 0 0 never Idle 16. Check to see if you are sending routes to your neighbour? Why or why not? If you aren't, what do you think could be wrong? Review the presentation slides - they will give you the hint as to what might be wrong. RouterA# sh bgp ipv6 unicast neighbor x:x:x:x advertised-routes 17. Check to see if you are receiving routes from your neighbour. RouterA# show bgp ipv6 unicast What routes are you receiving? Other commands to monitor BGP: RouterA# sh ipv6 route RouterA# sh bgp ipv6 unicast RouterA# sh bgp ipv6 unicast neighbor RouterA# sh bgp ipv6 unicast neighbor x:x:x:x routes 18. Finally, take a look at the BGP configuration on the router. What do you see? Is there anything unusual with the output? Once you enable the IPv6 address family, you will see that the router will "tidy" up the BGP configuration, separating generic, IPv4 and IPv6 configuration into different sections. When making configuration changes, it is important to specify which address family the changes are required in. The best advice is to simply enter the chosen address family before any configuration changes are required. Print out the configuration, or make a copy of it below here. It will be a useful reference point for you in future as you work through the rest of the exercises in this workshop.