In deze blogpost beschrijven we hoe deze dienst werkt en hoe u kunt bepalen in welk datacenter u het netwerkverkeer primair wilt ontsluiten.
In elke datacenter zal er een koppeling gemaakt worden met een van onze Access routers. Hiervoor ontvangt u twee koppelsubnetten (/30). Vanuit onze routers krijgt u een default route (0.0.0.0/0) geadverteerd.
Verder zal er afgestemd worden welke subnetten u mag adverteren over de BGP sessie. En u ontvangt, indien u geen eigen IP-reeks en Autonomous System (AS) nummer heeft, een private AS nummer (AS65000).
Maar hoe kunt u nu bepalen welk datacenter primair is?
Onderstaand een voorbeeld configuratie met betrekking tot een Juniper SRX cluster.
Gegevens:
Koppelsubnet Eindhoven: 198.51.100.0/30
Interconnect router: 198.51.100.1
Klant firewall: 198.51.100.2
Koppelsubnet Den Bosch: 192.0.2.220/30
Interconnect router: 192.0.2.221
Klant firewall: 192.0.2.222
AS nummer Interconnect: 9150
AS nummer klant: 65000
Klant subnet: 203.0.113.0/24
Primair datacenter klant: Eindhoven
Configuratie Interconnect routers:
set policy-options policy-statement default-only term default-only from route-filter 0.0.0.0/0 exact set policy-options policy-statement default-only term default-only then metric 0 set policy-options policy-statement default-only term default-only then accept set policy-options policy-statement default-only term reject then reject
Eindhoven:
set policy-options policy-statement pol-bgp-imp-ipv4-198.51.100.2 term accepted-routes from route-filter 203.0.113.0/24 orlonger set policy-options policy-statement pol-bgp-imp-ipv4-198.51.100.2 term accepted-routes then accept set policy-options policy-statement pol-bgp-imp-ipv4-198.51.100.2 term reject then reject set protocols bgp group dc-cust export default-only set protocols bgp group dc-cust neighbor 198.51.100.2 import pol-bgp-imp-ipv4-198.51.100.2 set protocols bgp group dc-cust neighbor 198.51.100.2 family inet unicast prefix-limit maximum 20 set protocols bgp group dc-cust neighbor 198.51.100.2 family inet unicast prefix-limit teardown idle-timeout forever set protocols bgp group dc-cust neighbor 198.51.100.2 authentication-key "$9$acJUHP5F9tO5QhrKWx7GDjqfTApBylMRhwgoJkqCtpOBEleWdbsO1x-wYGUCtpBcl7-VoZDvWiqf56/rlK" set protocols bgp group dc-cust neighbor 198.51.100.2 peer-as 65000
Den Bosch:
set policy-options policy-statement pol-bgp-imp-ipv4-192.0.2.222 term accepted-routes from route-filter 203.0.113.0/24 orlonger set policy-options policy-statement pol-bgp-imp-ipv4-192.0.2.222 term accepted-routes then accept set policy-options policy-statement pol-bgp-imp-ipv4-192.0.2.222 term reject then reject set protocols bgp group dc-cust export default-only set protocols bgp group dc-cust neighbor 192.0.2.222 import pol-bgp-imp-ipv4-192.0.2.222 set protocols bgp group dc-cust neighbor 192.0.2.222 family inet unicast prefix-limit maximum 20 set protocols bgp group dc-cust neighbor 192.0.2.222 family inet unicast prefix-limit teardown idle-timeout forever set protocols bgp group dc-cust neighbor 192.0.2.222 authentication-key "$9$acJUHP5F9tO5QhrKWx7GDjqfTApBylMRhwgoJkqCtpOBEleWdbsO1x-wYGUCtpBcl7-VoZDvWiqf56/rlK" set protocols bgp group dc-cust neighbor 192.0.2.222 peer-as 65000
Als eerste zullen we de BGP configuratie in Den Bosch activeren op de firewall:
set routing-options autonomous-system 65000 set protocols bgp group ic-dbs-v4 family inet unicast set protocols bgp group ic-dbs-v4 peer-as 9150 set protocols bgp group ic-dbs-v4 neighbor 192.0.2.221 authentication-key "$9$acJUHP5F9tO5QhrKWx7GDjqfTApBylMRhwgoJkqCtpOBEleWdbsO1x-wYGUCtpBcl7-VoZDvWiqf56/rlK"
Als de sessie actief is, ontvangen we een actieve default route:
bram@srx-cluster> show route receive-protocol bgp 192.0.2.221 inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 0.0.0.0/0 192.0.2.221 0 9150 I
Vervolgens de configuratie voor de koppeling in Eindhoven:
set routing-options autonomous-system 65000 set protocols bgp group ic-ehv-v4 family inet unicast set protocols bgp group ic-ehv-v4 peer-as 9150 set protocols bgp group ic-ehv-v4 neighbor 198.51.100.1 authentication-key "$9$acJUHP5F9tO5QhrKWx7GDjqfTApBylMRhwgoJkqCtpOBEleWdbsO1x-wYGUCtpBcl7-VoZDvWiqf56/rlK"
Als de sessie actief is, ontvangen we een default route:
bram@srx-cluster> show route receive-protocol bgp 198.51.100.1 inet.0: 11 destinations, 12 routes (11 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path 0.0.0.0/0 198.51.100.1 0 9150 I
Door de BGP route selectie, de sessie in Den Bosch was als eerste actief, zal nog steeds de internet ontsluiting vanuit Den Bosch verlopen.
Om ervoor te zorgen dat we altijd Eindhoven prefereren, ook nadat (bijv. wegens onderhoud) de BGP sessies onderbroken zijn geweest, zullen we de local preference aanpassen. Een hogere local preference zal geprefereerd worden.
Meer informatie over BGP route selectie in Junos vindt u hier.
BGP import policies:
set protocols bgp group ic-dbs-v4 import import-dbs-v4 set protocols bgp group ic-ehv-v4 import import-ehv-v4 set policy-options policy-statement import-dbs-v4 term default-only from route-filter 0.0.0.0/0 exact set policy-options policy-statement import-dbs-v4 term default-only then local-preference 100 set policy-options policy-statement import-dbs-v4 term default-only then accept set policy-options policy-statement import-dbs-v4 term reject then reject set policy-options policy-statement import-ehv-v4 term default-only from route-filter 0.0.0.0/0 exact set policy-options policy-statement import-ehv-v4 term default-only then local-preference 200 set policy-options policy-statement import-ehv-v4 term default-only then accept set policy-options policy-statement import-ehv-v4 term reject then reject
De default route is nu gewijzigd naar de router in Eindhoven:
bram@srx-cluster> show route 0/0 exact inet.0: 11 destinations, 12 routes (11 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0.0.0.0/0 *[BGP/170] 00:03:01, MED 0, localpref 200 AS path: 9150 I > to 198.51.100.1 via ge-0/0/1.3022 [BGP/170] 00:08:58, MED 0, localpref 100 AS path: 9150 I > to 192.0.2.221 via ge-5/0/1.3021
Nu moeten we er nog voor zorgen, dat we ons publieke subnet adverteren en dat we ook het inkomende verkeer vanuit Eindhoven binnen krijgen. Omdat we een statefull firewall gebruiken, willen we asynchrone routering voorkomen! Hiervoor zijn verschillende mogelijkheden, zoals het AS pad langer maken door meerdere keren het AS te prependen. Maar in dit voorbeeld is gekozen om de multiple exit discriminator (MED) aan te passen (een lagere MED wordt geprefereerd).
Dit doen we door een hogere metric mee te sturen vanuit de BGP export policy:
set protocols bgp group ic-dbs-v4 export export-dbs-v4 set protocols bgp group ic-ehv-v4 export export-ehv-v4 set policy-options prefix-list direct-reth0-v4 apply-path "interfaces reth0 unit <*> family inet address <*>" set policy-options policy-statement export-dbs-v4 term direct-reth0-v4 from family inet set policy-options policy-statement export-dbs-v4 term direct-reth0-v4 from prefix-list direct-reth0-v4 set policy-options policy-statement export-dbs-v4 term direct-reth0-v4 then metric 200 set policy-options policy-statement export-dbs-v4 term direct-reth0-v4 then accept set policy-options policy-statement export-dbs-v4 term reject then reject set policy-options policy-statement export-ehv-v4 term direct-reth0-v4 from family inet set policy-options policy-statement export-ehv-v4 term direct-reth0-v4 from prefix-list direct-reth0-v4 set policy-options policy-statement export-ehv-v4 term direct-reth0-v4 then metric 100 set policy-options policy-statement export-ehv-v4 term direct-reth0-v4 then accept set policy-options policy-statement export-ehv-v4 term reject then reject
De routes worden nu geadverteerd:
bram@srx-cluster> show route advertising-protocol bgp 198.51.100.1 inet.0: 8 destinations, 10 routes (8 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 203.0.113.0/24 Self 100 I bram@srx-cluster> show route advertising-protocol bgp 192.0.2.221 inet.0: 8 destinations, 10 routes (8 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 203.0.113.0/24 Self 200 I
Op onze router in Eindhoven zien we dan ook de actieve route:
bram@ic-rtr-ehv> show route receive-protocol bgp 198.51.100.2 inet.0: 58 destinations, 97 routes (58 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 203.0.113.0/24 198.51.100.2 100 65000 I
Op de router in Den Bosch is deze ook bekend, maar niet als actieve route geïnstalleerd:
bram@ic-rtr-dbs> show route receive-protocol bgp 192.0.2.222 inet.0: 57 destinations, 104 routes (57 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path 203.0.113.0/24 192.0.2.222 200 65000 I
Maar wat als u in beide datacenters actieve diensten wil aanbieden? Dat kan natuurlijk ook via Interconnect. We zullen dit later toevoegen. U kunt natuurlijk contact met ons opnemen hiervoor via info@interconnect.nl.
Plaats reactie