Les serveurs de routes, aussi connus sous le nom de route server en anglais (RS) permettent aux membres de réduire le nombre de sessions BGP à configurer et donc le temps de gestion de son réseau IP. En effet, par défaut toutes les routes des membres connectés aux RS sont redistribuées.

Un serveur de routes n’est pas un routeur. En effet, le flux de données est directement échangé entre les participants et seules les informations BGP sont échangées avec le RS. Par exemple, si deux membres établissent une session BGP avec nos RS, seules les informations de routages seront échangées par les Route-Serveurs (Control-plane) et le flux de donnée sera direct entre leur routeur (Data-plane) car ils sont dans le même LAN.

GAB-IX a mis en place deux Route-Server (RS) afin de faciliter la possibilité de peerer avec les membres déjà présents (et de peerer avec les futurs membres). Chaque membre est encouragé à s’interconnecter sur nos RS.

AS : 37780
rs1.gabix.ga rs2.gabix.ga
IPv4 : 196.223.39.4 IPv4 : 196.223.39.5
IPv6 : 2001:43f8:1160::4 IPv6 : 2001:43f8:1160::5
Plateforme : Bird Plateforme : Bird

Avantage pour les membres se connectant à nos RS

Les principaux avantages qu’un membre pourrait tirer en se connectant à nos RS sont les suivants :

  • Diminution de nombre de sessions BGP à configurer
  • Méthode facile et rapide pour récupérer une multitude de routes
  • Filtrage des annonces possible grâce à l’usage de communautés BGP
  • Évite la négociation d’accords de peering avec chacun des membres

Certains réseaux préfèrent établir des accords de peering directs et ne sont donc pas présents sur nos RS. C’est le cas par exemple des CDNs (Facebook …) ou de certains membres ayant une politique de peering restrictive.

Guide de déploiement

Cisco

router bgp @Numéro_AS
 
bgp always-compare-med
no bgp enforce-first-as
bgp log-neighbor-changes
neighbor GAB-IX-RS peer-group
neighbor GAB-IX-RS remote-as 37780
neighbor GAB-IX-RS version 4
neighbor GAB-IX-RS transport connection-mode active
 
neighbor 196.223.39.4 peer-group GAB-IX-RS
neighbor 196.223.39.4 description rs1.gab-ix.ga
neighbor 196.223.39.5 peer-group GAB-IX-RS
neighbor 196.223.39.5 description rs2.gab-ix.ga
 
!
address-family ipv4
neighbor GAB-IX-RS activate
neighbor GAB-IX-RS next-hop-self
neighbor GAB-IX-RS soft-reconfiguration inbound
neighbor GAB-IX-RS route-map TO-RS out
no auto-summary
no synchronization
network 192.168.110.0 mask 255.255.255.0
network 192.168.111.0 mask 255.255.255.0
network 192.168.112.0 mask 255.255.255.0
exit-address-family
!
!
ip as-path access-list 12 permit ^$
!
ip prefix-list TO-RS seq 10 permit 192.168.110.0/24
 
ip prefix-list TO-RS seq 20 permit 192.168.111.0/24
 
ip prefix-list TO-RS seq 30 permit 192.168.112.0/24
 
 
route-map TO-RS permit 10
match ip address prefix-list TO-RS
!

Notez que pour les versions récentes d'IOS (par exemple 12.0 (26) S et 12.2 (25) S et plus, vous devrez spécifier "no bgp enforce-first-as (IOS, IOS- XE) / bgp enforce-first-as disable (IOS-XR) ".

Juniper

[edit]
user@junix# show protocols bgp
group IPV4-RS {
    type external;
    description "Route Servers";
    family inet {
        unicast;
    }
    export TO-RS;
    peer-as 6777;
    neighbor 196.223.39.4 {
        description rs1.gabix.ga;
    }
    neighbor 196.223.39.5 {
        description rs2.gabix.ga;
    }
}
 
[edit]
user@junix# show policy-options policy-statement TO-RS
term unicast-export {
    from {
        rib inet.0;
        prefix-list to-announce;
    }
    then accept;
}
term end {
    then reject;
}
 
[edit]
user@junix# show policy-options prefix-list to-announce
10.25.1.0/24;

Filtrages des préfixes

Afin d’éviter certaines erreurs grossières, nos RS réalisent systématiquement ces vérifications :

  • Filtrage des plages IP de la RFC 1918 ;
  • Filtrage des préfixes « martian’s » ;
  • Filtrage de la route par défaut ;
  • Max-préfix : limitation du nombre de préfixes appris par peer (coupure de la session BGP si le seuil est atteint) ;
  • Longueur du préfixe : en IPv4 le masque de sous-réseau doit être >= /8 et <=/24, en IPv6 le masque de sous-réseau doit être =>/19 et <=/48 ;
  • ASN Privé : Pas de numéro d’AS privé dans l’AS_PATH ;
  • Adresse NEXT_HOP : Vérification que l’IP next-hop dans l’annonce BGP est aussi la source du paquet IP ;

N.B : Toute route ne respectant pas ces critères sera rejetée.

Communauté BGP.

Par défaut, lorsqu’une route est annoncée à nos RS, chaque membre reçoit cette route. Il est possible de choisir d’annoncer (ou pas) cette route à certains membres à l’aide de communautés BGP :

TAG Description
0 : peer-as Ne pas envoyer cette route à peer-as
37780 : peer-as Envoyer cette route à peer-as
0 : 37780 N’envoyer cette route à aucun peer
37780 : 37780 Envoyer cette route à tous les peers
Airtel ANINF Gabon Telecom SPIN IPI9 SOLSI AZUR Banque Mondiale Union Africaine FACEBOOK Google PCH BS GABON Commission des TIPPEE