Recent disruptions to two undersea internet cables in the Baltic Sea have yet again...
2.9 Bgpd Configuration
- An internal BGP session using the same autonomous system number (ASN) must be configured between each edge router and the IRP. BGP sessions must not be configured with next-hop-self (route reflectors can’t be used to inject routes with modified next-hop) – the next-hop parameter advertised by IRP Bgpd should be distributed to other iBGP neighbors.
- route-reflector-client must be enabled for the routes advertised by IRP Bgpd to be distributed to all non-client neighbors.
- Routes advertised by IRP Bgpd must have a higher preference over routes received from external BGP neighbors.
This can be done by different means, on the IRP or on the router side:
→ Local-pref can be set to a reasonably high value in the Bgpd configuration
→ Communities can be appended to prefixes advertised by BgpdAvoid collisions of localpref or communities values assigned to IRP within both its configuration and/or on customer’s network.→ Multi-exit-discriminator(MED) can be changed to affect the best-path selection algorithm
→ Origin of the advertised route can be left unchanged or overridden to a specific value (incomplete, IGP, EGP)LocalPref, MED and Origin attribute values are set with the first nonempty value in this order: 1) value from configuration or 2) value taken from incoming aggregate or 3) default value specified in RFC4271.
Communities attribute value concatenates the value taken from incoming aggregate with configuration value. The router should be configured to send no Communities attribute in case it is required that IRP announces Communities attribute that contain only the configured value. - BGP next-hop must be configured for each provider configured in IRP (please refer to Providers configuration and Provider)
None of the improvements advertised by IRP should be advertised to your external peers (refer to bgpd.no_export).
We recommend the routes to be injected into the edge router which runs the BGP session with the provider. This ensures that the routes are properly redistributed across the network.
10.0.0.2
establishes an iBGP session to the edge router (IP: 10.0.0.1
). The local-pref parameter for the prefixes advertised by IRP is set to 190. BGP monitoring (see BGP Monitoring, Bgpd settings) is enabled.bgpd.peer.R1.as = 65501 bgpd.peer.R1.our_ip = 10.0.0.2 bgpd.peer.R1.master_peer_ip = 10.0.0.1 bgpd.peer.R1.listen = 1 bgpd.peer.R1.localpref = 190 bgpd.peer.R1.shutdown = 0
Vendor-specific router-side iBGP session configuration examples: #
Vyatta routers: #
set protocols bgp 65501 neighbor 10.0.0.2 remote-as '65501' set protocols bgp 65501 neighbor 10.0.0.2 route-reflector-client set protocols bgp 65501 parameters router-id '10.0.0.1'
delete system ipv6 disable-forwarding commit set protocols bgp 65501 neighbor 2001:db8:2::2 remote-as '65501' set protocols bgp 65501 neighbor 2001:db8:2::2 route-reflector-client set protocols bgp 65501 neighbor 2001:db8:2::2 address-family 'ipv6-unicast' set protocols bgp 65501 parameters router-id '10.0.0.1'
set protocols bgp 65501 neighbor 10.0.0.2 route-map import 'RM-IRP-IN' set policy route-map RM-IRP-IN rule 10 action 'permit' set policy route-map RM-IRP-IN rule 10 set local-preference '190'
set protocols bgp 65501 neighbor 2001:db8:2::2 route-map import 'RM-IRP-IN' set policy route-map RM-IRP-IN rule 10 action 'permit' set policy route-map RM-IRP-IN rule 10 set local-preference '190'
Cisco routers: #
router bgp 65501 neighbor 10.0.0.2 remote-as 65501 neighbor 10.0.0.2 send-community neighbor 10.0.0.2 route-reflector-client
router bgp 65501 neighbor 2001:db8:2::2 remote-as 65501 neighbor 2001:db8:2::2 send-community neighbor 2001:db8:2::2 route-reflector-client or router bgp 65501 neighbor 2001:db8:2::2 remote-as 65501 no neighbor 2001:db8:2::2 activate address-family ipv6 neighbor 2001:db8:2::2 activate neighbor 2001:db8:2::2 send-community neighbor 2001:db8:2::2 route-reflector-client
router bgp 65501 neighbor 10.0.0.2 route-map RM-IRP-IN input route-map RM-IRP-IN permit 10 set local-preference 190
router bgp 65501 neighbor 2001:db8:2::2 route-map RM-IRP-IN input route-map RM-IRP-IN permit 10 set local-preference 190
router bgp 65501 neighbor 10.0.0.2 maximum-prefix 10000
router bgp 65501 neighbor 2001:db8:2::2 maximum-prefix 10000
Juniper equipment: #
[edit] routing-options { autonomous-system 65501; router-id 10.0.0.1; } protocols { bgp { group 65501 { type internal; cluster 0.0.0.1; family inet { unicast; } peer-as 65501; neighbor 10.0.0.2; } } }
[edit] routing-options { autonomous-system 65501; router-id 10.0.0.1; } protocols { bgp { group 65501 { type internal; cluster 0.0.0.1; family inet6 { any; } peer-as 65501; neighbor 2001:db8:2::2; } } }
[edit] routing-options { autonomous-system 65501; router-id 10.0.0.1; } protocols { bgp { group 65501 { type internal; peer-as 65501; neighbor 10.0.0.2 { preference 190; } } } }
protocols { bgp { group 65501 { neighbor 10.0.0.2 { family inet { any { prefix-limit { maximum 10000; teardown; } } } } } } }