Terug naar overzicht

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, indien u geen eigen IP reeks en Autonomous System (AS) nummer heeft, een private AS nummer (AS65000).

mdc setup hld

Maar hoe kunt u nu bepalen welk datacenter primair is?
Onderstaand een voorbeeld configuratie waarbij het klant apparaat een Juniper SRX cluster betreft.

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 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 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? Ook dat kan, dat zal een ander moment worden uitgewerkt.

Plaats reactie

1000 Resterende tekens