bgp in the lab #3 | lukasz.bromirski.netlukasz.bromirski.net
|PlaboutpostspresentationsbooksprojectsarchivesearchHome
Posts bgp in the lab #307 October 2020 · Łukasz Bromirski | Translations:PlTable of Contentsdisclaimerhow to get the full feed for IPv4?how to get the full feed for IPv6?be a good citizenexample configuration for IOS/IOS-XEexample configuration for IOS XRsummaryafter last blog on sharing full bgp feed for IPv4, I got a number of interesting questions. given many of you were asking to have also IPv6 available, I decided to extend the project to cover that as well.disclaimer#you’re doing this ON YOUR OWN. i’m not responsible for anything on your end and service itself. so if it crashes your router, makes all traffic to follow different paths, or essentially anything that you can’t control - you’re completely on your own.i may also discontinue “the service” at any time, so don’t expect this to last forever :)how to get the full feed for IPv4?#things you need to configure on your end to receive full european IPv4 BGP feed to your router:your ASN - 65001my ASN - 57355eBGP multihop sessionno passwordversion 4my IP - 85.232.240.179 (bonus points for spotting geeky octet)your IP - whatever public IPv4 you havetimers - 3600 for hello and 7200 for hold time (very conservative, yes)if you already have your own ASN configured (and for some reason can’t change it despite it’s targeted for lab environments), you can use local-as feature to use 65001 towards me, while keeping your own ASNhow to get the full feed for IPv6?#things you need to configure on your end to receive full european IPv6 BGP feed to your router:your ASN - 65001my ASN - 57355eBGP multihop sessionno passwordversion 4my IP - 2001:1A68:2C:2::179 (again, bonus points… ;) )your IP - whatever public IPv6 you havetimers - 3600 for hello and 7200 for hold time (very conservative, yes)be a good citizen#please don’t send any prefixes my way. I’ll filter them out anyway, but why you want to put additional burden on my end? please don’t :)example configuration for IOS/IOS-XE#example config for Cisco IOS/IOS-XE on your side:! router bgp 65001 ! global proces for ASN 65001, if you already have other ASN ! and can't change it, look below for solution
neighbor 85.232.240.179 remote-as 57355 ! if you want IPv4 feed neighbor 85.232.240.179 ebgp-multihop 255 neighbor 85.232.240.179 version 4 neighbor 85.232.240.179 description to-luke-bgp-full-feed-router neighbor 85.232.240.179 timers 3600 7200 neighbor 85.232.240.179 local-as 65001 ! if you can't use ASN 65001, at least ! identify towards me as 65001 neighbor 2001:1A68:2C:2::179 remote-as 57355 ! if you want IPv6 feed neighbor 2001:1A68:2C:2::179 ebgp-multihop 255 neighbor 2001:1A68:2C:2::179 version 4 neighbor 2001:1A68:2C:2::179 description to-luke-bgp-full-feed-router neighbor 2001:1A68:2C:2::179 timers 3600 7200 neighbor 2001:1A68:2C:2::179 local-as 65001 ! if you can't use ASN 65001, at least ! identify towards me as 65001 ! address-family ipv4 unicast neighbor 85.232.240.179 activate neighbor 85.232.240.179 prefix-list DENY-ALL-V4 out ! address-family ipv6 unicast neighbor 2001:1A68:2C:2::179 activate neighbor 2001:1A68:2C:2::179 prefix-list DENY-ALL-V6 out ! ! ip prefix-list DENY-ALL-V4 seq 5 deny 0.0.0.0/0 le 32 ! ipv6 prefix-list DENY-ALL-V6 seq 5 deny ::/0 le 128 ! also, on your end, you can optimize a bit TCP stack config with things like:ip tcp selective-ack ip tcp window-size 512000 ip tcp path-mtu-discovery example configuration for IOS XR#example config for Cisco IOS XR on your side:! route-policy DROP drop end-policy ! route-policy PASS pass end-policy ! router bgp 65001 address-family ipv4 unicast ! address-family ipv6 unicast ! neighbor 85.232.240.179 remote-as 57355 ebgp-multihop 255 timers 3600 7200 description to-luke-bgp-full-feed-router local-as 65001 ! if you're already using some other BGP ASN, use this ! command to identify as 65001 towards my route server address-family ipv4 unicast route-policy PASS in route-policy DROP out ! ! neighbor 2001:1a68:2c:2::179 remote-as 57355 ebgp-multihop 255 timers 3600 7200 description to-luke-bgp-full-feed-router local-as 65001 ! if you're already using some other BGP ASN, use this ! command to identify as 65001 towards my route server address-family ipv6 unicast route-policy PASS in route-policy DROP out ! ! ! summary#how it is different from session I described in previous post? it has public ASN and can feed you with IPv6 data. other than that - there’s no change.happy BGPing!CiscoIos-XeIos XrBgp« Prev new ARM Next » AS112Made with FreeBSD, Hugo and my own fingers. Still readable on a VT100. (c) 1997-2026 Łukasz Bromirski · Powered by Hugo & PaperMod |
The document describes the setup and configuration required for sharing full BGP feeds for both IPv4 and IPv6 within a lab environment, detailing the specific parameters necessary for establishing these feeds. The author explicitly warns that this service is provided on a user-managed basis, disclaiming responsibility for any outcome if the service causes router crashes or traffic path issues.
To receive the full European IPv4 BGP feed, specific configuration parameters must be established on the client side. This involves setting the client's Autonomous System Number (ASN) to 65001 and aligning it with the provided server's ASN, 57355e. The connection utilizes an ebgp multihop session without a password, operating at version 4. The client must also specify its public IPv4 address, which is used for communication, along with conservative timers set to 3600 for the hello interval and 7200 for the hold time. An alternative method is provided, allowing the use of the local-as feature if the client already possesses an ASN, enabling it to identify toward the feed as 65001. Furthermore, the configuration includes setting up prefix lists to deny all routes transmitted by the neighbor, ensuring control over the received data.
For setting up the full European IPv6 BGP feed, the requirements are analogous but utilize IPv6 addresses. The client ASN remains 65001, paired with the server ASN 57355e, and the BGP session uses the same security and version settings. The client must use a public IPv6 address for communication, and the same conservative timers of 3600 for hello and 7200 for hold time are applied. Similar to the IPv4 setup, the client is instructed to prevent sending prefixes to the feed.
Example configurations are provided for deployment on Cisco IOS/IOS-XE and Cisco IOS XR platforms. The configuration demonstrates how to define the BGP process for the local ASN 65001, configure neighbor adjacency with the specified remote ASN (57355e), and apply the necessary timers and local-as statements to correctly identify the router towards the feed as ASN 65001. In the context of IPv4 and IPv6 routing adjacencies, the configurations detail the application of route-policy to control incoming and outgoing routes, often using prefix lists to explicitly deny all routes transmitted by the BGP neighbor. These protocols also include suggestions for optimizing the underlying TCP stack configuration, such as adjusting selective-ack and window-size settings, as well as enabling path MTU discovery. The author notes that this specific session differs from a standard session because it incorporates public ASNs and can facilitate the delivery of IPv6 data. |