Introductie Internet
De Internet dienst biedt hoogwaardige en veilige toegang tot internet. SURF zorgt voor uitstekende connectiviteit met andere netwerken. Hiervoor wordt gebruik gemaakt van directe koppelingen, aansluitingen op meerdere internet exchanges, transit providers of directe koppelingen met andere netwerken. Daarnaast hebben wij hoogwaardige verbindingen met andere research netwerken (NREN's) om in het bijzonder onderzoek en onderwijs te faciliteren.
Bij het aansluiten kan gekozen worden uit een of meerdere aansluiting van 10 of 100 gigabit per seconde. Uiteraard ondersteunt Internet zowel IPv6 als IPv4.
Internet wordt in verschillende vormen geleverd. Deze verschillende vormen uiten zich in verschillende aansluitmodellen, waarbij er voor een dynamische of statisch gerouteerde aansluiting kan worden gekozen. Via al deze aansluitmodellen wordt toegang tot het internet mogelijk via IPv4 en IPv6.
Aanvraagproces
Aansluitvarianten
Er zijn drie aansluitvarianten beschikbaar. Meer hierover lees je bij de Functionele beschrijving van Internet.
Variant | Naam Aansluiting | Fysieke aansluiting | Routering |
A | Protected statisch | 1x 10/100Gbit/s SP | Statisch |
B | Protected BGP | 1x 10/100Gbit/s SP | BGP (2 sessies; 1 sessie per SURF-router) + optioneel BFD |
C | Redundant BGP | 1 x 10/100Gbit/s + 1 x 10/100Gbit/s SP (via 2 gescheiden instellingsrouters) | BGP (2 sessies; 1 sessie per SURF-router/instellingsrouter) + optioneel BFD |
Benodigde gegevens voor aanvraag Internet
Voor het aanvragen van Internet, stuur een mail naar changes@surf.nl. Geef hierbij de volgende informatie:
| Combineer onderstaande gegevens met de benodigde gegevens voor een Poort op de pagina Service Port. | |
| Aansluitvariant | Redundant BGP* |
| Huidige poort ID's (bij upgrade) | |
| anti-DDos filter? | ja* |
| Indien protected BGP: VLAN-nrs. voor kant van instelling (niet nodig bij VRRP) | |
| IP-prefixen (IPv6/IPv4) | worden door SURF uitgegeven bij nieuwe instelling |
| AS-nummer | 1103* |
| BFD enabling? | nee* |
| MD5? | nee* |
| Gracefull-restart helper | nee* |
*default setting
Informatie BGP instellingen SURF Internet
Primary vs Secondary
Bij de BGP instelling van SURFinternet kennen we het concept van Primary, Secondary, Tertiary en Quaternary verbindingen. Iedere variant krijgt zijn eigen set aan routeringsinstellingen mee om er voor te zorgen dat verkeer over de correcte verbinding wordt gerouteerd.
Local-preference
Dit is de voorkeur die SURF geeft aan routes die we over een SURFinternet BGP sessie ontvangen. De aansluiting die als Primary is ingesteld krijgt te hoogste local-preference de quarternary de laagste. De hoogste waarde wint.
Metric-out (Multi Exit Discriminator)
SURF stuurt ook een BGP MED (metric) mee met de route(s) die we over de SURFinternet BGP sessie versturen. Hiermee 'vragen' wij aan de instellingsrouters verkeer over een bepaalde verbinding te preferen. Over de aansluiting die als Primary is ingesteld, krijgen de routes een MED van 10 en bij de quarternary een waarde van 40. De laagste metric wint.
| Primary | 500 | 10 |
| Secondary | 460 | 20 |
| Tertiary | 420 | 30 |
| Quaternary | 400 | 40 |
Zelf invloed hebben op loadbalancing (traffic engineering)
Standaard configureert SURF altijd een Primary en Secondary BGP sessie. Hierdoor wordt alle verkeer aan een instelling over de Primary aansluiting verstuurd en verschuift dat naar de Secondary aansluiting als deze onbeschikbaar is. Een instelling kan hier zelf op de volgende manier invloed op uitoefenen en verkeer zelf balanceren over de verschillende aansluitingen;
Zelf de prioriteit van een aansluiting aanpassen
Via het Netwerkdashboard kun je zelf de prioriteit veranderen van aan aansluting. Wil je bijvoorbeeld de huidige Secondary verbinding omzetten naar een Primary verbinding dan kun je deze gewoon omdraaien. Secondary wordt primary en primary wordt secondary. Lees meer op: Self-service acties
Let wel; het aanpassen van de prioriteit van een verbinding zal ervoor zorgen dat de betreffende BGP sessie wordt herstart. Voor het aanpassen van een Secondary verbinding naar Primary zou dit onmerkbaar moeten zijn. Maar het aanpassen van een Primary verbinding naar Secondary kan invloed hebben op het verkeer. Doe dit dus liefst in een eigen maintenance window.
Beinvloeding door gebruik te maken van een BGP Multi Exit Discriminator (MED)
In BGP gaat de local-preference voor de MED. Een route wordt dus in eerste instantie gekozen op basis van de hoogste local-preference. Bij gelijke local-preference zal gekeken worden naar de MED (metric), waarbij de laagste MED de voorkeur krijgt. Daarom zullen wij in een Primary/Secondary scenario verkeer altijd sturen over de Primary aansluiting (zolang deze beschikbaar is).
Een instelling heeft zelf de mogelijkheid via het Netwerkdashboard om beide BGP sessies als Primary te configureren. Vervolgens kan de instelling zelf kiezen welke prefix primair over welke aansluiting gerouteerd wordt door een metric-out (MED) mee te sturen met de routes aan SURF. Hierbij zal SURF het verkeer sturen naar de aansluiting waar de route met de laagste BGP MED wordt ontvangen.
Beivloeding met meer specifieke prefixen
SURF staat alleen de IP prefixen toe die bij een instelling horen. Deze zijn op het Netwerkdashboard ook in te zien. Wij zullen in de routering naar externe netwerken deze IP prefixen zoveel mogelijk aggregeren.
Een instelling kan meer specifieke prefixen aan SURF annonceren (binnen de set aan bekende prefixen) om te zorgen dat we verkeer voor de prefix naar een bepaalde aansluiting routeren.
Een meer specifieke route gaat altijd voor een minder specifieke route, ook al heeft de minder specifieke route bijvoorbeeld een betere local-preference of metric.
Dit kan handig zijn bij bijvoorbeeld dislocaties, waarbij delen van de IP adresruimte op verschillende vestigingen gebruikt wordt. Het is te adviseren om de meest specifieke route altijd op beide aansluitingen aan SURF te annonceren, zodat er altijd redundantie is voor de gehele adresruimte. Daarnaast kunnen dan meer specifieke routes over de aansluitingen geanonnceerd worden in BGP om te zorgen dat het verkeer voor die prefixen primair op die aansluiting gerouteerd wordt vanuit SURF.
BGP Configureren op Cisco apparatuur
Introductie
Voor de routering met SURF wilt u gebruik gaan maken van BGP. In dit deel van de wiki wordt beschreven hoe u op eenvoudige wijze uw router kunt configureren m.b.t. BGP. Het voorbeeld is gebaseerd op een Cisco configuratie.
U heeft van SURF de IP adressen van onze SURF core routers en uw BGP AS nummer gekregen. Het is de bedoeling dat u met beide routers een “peering” opzet. Nadat deze “peering” tot stand is gekomen, krijgt u van beide routers een defaultroute (0.0.0.0/0) toegestuurd. SURF optimaliseert de BGP attributen, zodat SURF kiest via welke SURF router het verkeer zal gaan lopen. U hoeft dus zelf geen extra configuratie hiervoor te verrichten.
Voor dit voorbeeld gebruiken wij de volgende gegevens:
- SURFnet router 1 het IP adres: 145.145.1.1/30 (255.255.255.252)
- SURFnet router 2 het IP adres: 145.145.2.1/30 (255.255.255.252)
- Klant prefix: 192.87.1.0/26 (255.255.255.192)
- Uw BGP AS nummer: 64600
Klant aansluiting met 1 klant router
In deze situatie sluit u met een router aan, waarbij vanaf deze router zowel de primary als backup BGP sessie onderhoud. Voor de situatie waar u met twee routers (redundant) aansluit vindt u de procedure onder “Klant aansluiting met 2 klant routers”
ip prefix-list SURFnet-default seq 5 permit 0.0.0.0/0 ;Filter waarmee u de default route vanuit SURF accepteert
router bgp 64600 ;uw AS nummer
no auto-summary
neighbor 145.145.1.1 remote-as 1103
neighbor 145.145.1.1 description SURFnet router 1
neighbor 145.145.1.1 prefix-list SURFnet-default in
neighbor 145.145.2.1 remote-as 1103
neighbor 145.145.2.1 description SURFnet router 2
neighbor 145.145.2.1 prefix-list SURFnet-default in
Indien u een wachtwoord heeft afgesproken voor de BGP koppeling met SURF, dan dient u de volgende regels toe te voegen aan uw configuratie.
neighbor 145.145.1.1 password “wachtwoord”
neighbor 145.145.2.1 password “wachtwoord”
Verder moet u de door SURF toegewezen netwerken adverteren aan SURF. Dit doet u d.m.v. het “network” commando.
Voorbeeld: u wilt de netwerk/prefix “192.87.1.0/26” aan SURFnet6 adverteren
network 192.87.1.0 255.255.255.192
De volgende regel zorgt ervoor dat uw router het netwerk als één geheel adverteert aan SURF.
aggregate-address 192.87.1.0 255.255.255.192 summary-only
LETOP voor BGP is het noodzakelijk een onderliggende route te hebben voordat het een route adverteert. Als de prefix bekend is in uw IGP hoeft U niets te doen, is deze
nog niet in gebruik kunt u een static naar null zetten, waarmee er een onderliggende route is en BGP deze kan adverteren.
Een IPv6 BGP configuratie maakt u op dezelfde wijze als hierboven staat beschreven, alleen moet u het ipv4 adres vervangen voor een ipv6 adres en onder de BGP
configuratie mode eerst naar het “address-family ipv6 unicast” gaan.
Klant aansluiting met 2 klant routers
In deze situatie sluit u met twee routers redundant aan op SURF, waarmee zowel aan uw kant als die van SURF het falen van 1 router geen impact heeft in uw verbinding naar SURF. Afhankelijk hoe geïmplementeerd is volledige redundantie mogelijk.
Op beide routers:
IP prefix-list SURFnet-default seq 5 permit 0.0.0.0/0
router bgp 64600 ;Uw AS nummer.
no auto-summary
Op router A:
neighbor 145.145.1.1 remote-as 1103
neighbor 145.145.1.1 description SURF router 1
neighbor 145.145.1.1 prefix-list SURF-default in
Op router B:
neighbor 145.145.2.1 remote-as 1103
neighbor 145.145.2.1 description SURF router 2
neighbor 145.145.2.1 prefix-list SURF-default in
Indien u een wachtwoord heeft afgesproken voor de BGP koppeling met SURF, dan dient u de volgende regels toe te voegen aan uw configuratie.
Op router A:
neighbor 145.145.1.1 password “wachtwoord”
Op router B:
neighbor 145.145.2.1 password “wachtwoord”
Verder moet u de door SURF toegewezen netwerken adverteren via beide routers aan SURF. Dit doet u d.m.v. het “network” commando.
Voorbeeld: u wilt de netwerk/prefix “192.87.1.0/26” aan SURF adverteren
network 192.87.1.0 255.255.255.192
De volgende regel zorgt ervoor dat uw routers het netwerk als één geheel adverteeren aan SURF.
aggregate-address 192.87.1.0 255.255.255.192 summary-only
LETOP voor BGP is het noodzakelijk een onderliggende route te hebben voordat het een route adverteert. Als de prefix bekend is in uw IGP hoeft U niets te doen, is deze nog niet in gebruik kunt u een static naar null zetten, waarmee er een onderliggende route is en BGP deze kan adverteren
Een IPv6 BGP configuratie maakt u op dezelfde wijze als hierboven staat beschreven, alleen moet u het ipv4 adres vervangen voor een ipv6 adres en onder de BGP configuratie mode eerst naar het “address-family ipv6 unicast” gaan.
Voor het goed redundant laten functioneren van het geheel is het noodzakelijk tussen de twee routers (router A en router B) een iBGP sessie op te zetten. Dit kunt u op basis van interface addressen op een directe koppeling tussen de twee of loopbacks doen. Enige vorm van filtering in te adverteren prefixen is niet noodzakelijk. op router A en B (waarbij het IP adres natuurlijk van de router afhankelijk is
neighbor a.b.c.d remote-as 64600 ; Uw AS nummer
neighbor a.b.c.d description iBGP peering
Voorbeeldconfiguratie BGP op Cisco apparatuur IPv4/IPv6
Zie hier een voorbeeldconfiguratie: Voorbeeldconfiguratie BGP op Cisco apparatuur IPv4/IPv6
BGP Configureren op Juniper apparatuur
Introductie
Voor de routering met SURF wilt u gebruik gaan maken van BGP. In dit deel van de wiki wordt beschereven hoe u op eenvoudige wijze uw router kunt configureren m.b.t. BGP. Het voorbeeld is gebaseerd op een Cisco configuratie.
U heeft van SURF de IP adressen van onze SURF core routers en uw BGP AS nummer gekregen. Het is de bedoeling dat u met beide routers een “peering” opzet. Nadat deze “peering” tot stand is gekomen, krijgt u van beide routers een defaultroute (0.0.0.0/0) toegestuurd. SURF optimaliseert de BGP attributen, zodat SURF kiest via welke SURF router het verkeer zal gaan lopen. U hoeft dus zelf geen extra configuratie hiervoor te verrichten.
Voor dit voorbeeld gebruiken wij de volgende gegevens:
- SURFnet router 1 het IP adres: 145.145.1.1/30 (255.255.255.252)
- SURFnet router 1 het IPv6 adres: 2001:610:f01:7000::1/64
- SURFnet router 2 het IP adres: 145.145.2.1/30 (255.255.255.252)
- SURFnet router 2 het IPv6 adres: 2001:610:f01:7001::1/64
- Klant prefix: 192.87.1.0/26 (255.255.255.192)
- klant IPv6 prefix: 2001:610:ffff::/48
- Uw BGP AS nummer: 64600
Klant aansluiting met 1 klant router
Opmerking: Deze config mist nog een import filter die alleen specifieke prefixen accepteerd (0.0.0.0/0 en ::/0)
# De interface config richting de SURF router
interfaces {
xe-1/3/6 {
description "Peering: Surfnet [10Gbit] (AS1103)";
unit 0 {
family inet {
address 145.145.1.2/30;
}
family inet6 {
address 2001:610:f01:7000::2/64;
}
}
}
}
#
# Om de routes via BGP te kunnen adverteren moeten ze bestaan in de route tabel. Dit kan met een static discard route
#
routing-options {
rib inet6.0 {
static {
route 2001:610:ffff::/48 discard;
}
}
static {
route 192.87.1.0/26 discard;
}
}
#
# Routing protocol config
#
protocols {
bgp {
#
# De iBGP config tussen de instellings border routers voor het uitwisselen van eBGP routes geleerd van SURF.
#
group iBGP {
type internal;
authentication-key "<optioneel>";
neighbor 10.2.13.0 {
local-address 10.2.13.1;
}
neighbor fc00::13:0 {
local-address fc00::13:1;
}
}
#
# De eBGP peering met SURF voor IPv4
group surfnet-v4 {
type external;
family inet {
unicast;
}
authentication-key "<optioneel>";
export ADVERTISE-AS64600;
peer-as 1103;
neighbor 145.145.1.1 {
local-address 145.145.1.2;
}
}
#
# De eBGP peering met SURF voor IPv6
#
group surfnet-v6 {
type external;
family inet6 {
unicast;
}
authentication-key "<optioneel>";
export ADVERTISE-AS64600;
peer-as 1103;
neighbor 2001:610:f01:7000::1 {
local-address 2001:610:f01:7000::2;
}
}
}
}
#
# De policies die nodig zijn om routes te importeren en exporten in BGP
#
policy-options {
#
# IPv4 prefixes die gebruikt worden in de verschillende policies
#
prefix-list AS64600-routes4 {
192.87.1.0/26;
}
#
# IPv6 prefixes die gebruikt worden in de verschillende policies
#
prefix-list AS64600-routes6 {
2001:610:ffff::/48;
}
#
# De policy statement die gebruikt wordt om er voor te zorgen dat alleen de correcte prefixen wordt adverteerd aan SURF
#
policy-statement ADVERTISE-AS64600 {
term ipv4 {
from {
family inet;
prefix-list-filter AS64600-routes4 exact accept;
}
}
term ipv6 {
from {
family inet6;
prefix-list-filter AS64600-routes6 exact accept;
}
}
then reject;
}
}
Klant aansluiting met 2 klant routers
Hier onder de config voor Juniper routers voor een setup met 2 routers waar tussen ook iBGP is configureerd.
Opmerking: Deze config mist nog een import filter die alleen specifieke prefixen accepteerd (0.0.0.0/0 en ::/0)
# De interface config richting de SURF router
interfaces {
xe-1/3/6 {
description "Peering: Surfnet [10Gbit] (AS1103)";
unit 0 {
family inet {
address 145.145.1.2/30;
}
family inet6 {
address 2001:610:f01:7000::2/64;
}
}
}
lo0 {
description "Loopback";
unit 0 {
family inet {
address 10.2.13.1/32;
}
family inet6 {
address fc00::13:1/128;
}
}
}
}
#
# Om de routes via BGP te kunnen adverteren moeten ze bestaan in de route tabel. Dit kan met een static discard route
#
routing-options {
rib inet6.0 {
static {
route 2001:610:ffff::/48 discard;
}
}
static {
route 192.87.1.0/26 discard;
}
}
#
# Routing protocol config
#
protocols {
bgp {
#
# De iBGP config tussen de instellings border routers voor het uitwisselen van eBGP routes geleerd van SURF.
#
group iBGP {
type internal;
authentication-key "<optioneel>";
neighbor 10.2.13.0 {
local-address 10.2.13.1;
}
neighbor fc00::13:0 {
local-address fc00::13:1;
}
}
#
# De eBGP peering met SURF voor IPv4
group surfnet-v4 {
type external;
family inet {
unicast;
}
authentication-key "<optioneel>";
export ADVERTISE-AS64600;
peer-as 1103;
neighbor 145.145.1.1 {
local-address 145.145.1.2;
}
}
#
# De eBGP peering met SURF voor IPv6
#
group surfnet-v6 {
type external;
family inet6 {
unicast;
}
authentication-key "<optioneel>";
export ADVERTISE-AS64600;
peer-as 1103;
neighbor 2001:610:f01:7000::1 {
local-address 2001:610:f01:7000::2;
}
}
}
}
#
# De policies die nodig zijn om routes te importeren en exporten in BGP
#
policy-options {
#
# IPv4 prefixes die gebruikt worden in de verschillende policies
#
prefix-list AS64600-routes4 {
192.87.1.0/26;
}
#
# IPv6 prefixes die gebruikt worden in de verschillende policies
#
prefix-list AS64600-routes6 {
2001:610:ffff::/48;
}
#
# De policy statement die gebruikt wordt om er voor te zorgen dat alleen de correcte prefixen wordt adverteerd aan SURF
#
policy-statement ADVERTISE-AS64600 {
term ipv4 {
from {
family inet;
prefix-list-filter AS64600-routes4 exact accept;
}
}
term ipv6 {
from {
family inet6;
prefix-list-filter AS64600-routes6 exact accept;
}
}
then reject;
}
}
# De interface config richting de SURF router
interfaces {
xe-1/3/6 {
description "Peering: Surfnet [10Gbit] (AS1103)";
unit 0 {
family inet {
address 145.145.2.2/30;
}
family inet6 {
address 2001:610:f01:7001::2/64;
}
}
}
lo0 {
description "Loopback";
unit 0 {
family inet {
address 10.2.13.0/32;
}
family inet6 {
address fc00::13:0/128;
}
}
}
}
#
# Om de routes via BGP te kunnen adverteren moeten ze bestaan in de route tabel. Dit kan met een static discard route
#
routing-options {
rib inet6.0 {
static {
route 2001:610:ffff::/48 discard;
}
}
static {
route 192.87.1.0/26 discard;
}
}
#
# Routing protocol config
#
protocols {
bgp {
#
# De iBGP config tussen de instellings border routers voor het uitwisselen van eBGP routes geleerd van SURF.
#
group iBGP {
type internal;
authentication-key "<optioneel>";
neighbor 10.2.13.1 {
local-address 10.2.13.0;
}
neighbor fc00::13:1 {
local-address fc00::13:0;
}
}
#
# De eBGP peering met SURF voor IPv4
group surfnet-v4 {
type external;
family inet {
unicast;
}
authentication-key "<optioneel>";
export ADVERTISE-AS64600;
peer-as 1103;
neighbor 145.145.2.1 {
local-address 145.145.2.2;
}
}
#
# De eBGP peering met SURF voor IPv6
#
group surfnet-v6 {
type external;
family inet6 {
unicast;
}
authentication-key "<optioneel>";
export ADVERTISE-AS64600;
peer-as 1103;
neighbor 2001:610:f01:7001::1 {
local-address 2001:610:f01:7001::2;
}
}
}
}
#
# De policies die nodig zijn om routes te importeren en exporten in BGP
#
policy-options {
#
# IPv4 prefixes die gebruikt worden in de verschillende policies
#
prefix-list AS64600-routes4 {
192.87.1.0/26;
}
#
# IPv6 prefixes die gebruikt worden in de verschillende policies
#
prefix-list AS64600-routes6 {
2001:610:ffff::/48;
}
#
# De policy statement die gebruikt wordt om er voor te zorgen dat alleen de correcte prefixen wordt adverteerd aan SURF
#
policy-statement ADVERTISE-AS64600 {
term ipv4 {
from {
family inet;
prefix-list-filter AS64600-routes4 exact accept;
}
}
term ipv6 {
from {
family inet6;
prefix-list-filter AS64600-routes6 exact accept;
}
}
then reject;
}
}





