Вы находитесь на странице: 1из 7

BGP, quand, pourquoi et comment ?

Une fois nest pas coutume, un article plus technique que vulgarisateur. Si vous ne baignez
pas dans les rseaux mais que vous voulez quand mme tenter de vous raccrocher aux
branches, je vous invite commencer par Internet Comment trouver la bonne route qui vous
expliquera les grandes lignes du routage sur Internet sous une forme moins barbare que le
prsent article ainsi que le dbut de la srie Comment devenir FAI qui vous expliquera le
contexte dans lequel le sujet de cet article est employ.
Nota : je me suis fortement inspir des efforts documentaires de Stphane Bortzmeyer. Pour
une version encore plus poilue et brute de fondrie du prsent article, rendez-vous ici.
BGP est un protocole faisant partie des protocoles de routage. Rien de magique dedans, il ne
sagit que dun canal de communication tabli entre deux quipements (gnralement des
routeurs) leur permettant de schanger un certain nombre dinformation concernant la
direction que doivent emprunter les flux de donnes.
Si vous avez lu les articles conseills ci-dessus, vous savez dj que BGP est principalement
utilis pour faire communiquer et permettre lchange de trafic entre deux rseaux autonomes
distincts. On pense souvent que BGP est lui mme le protocole de transport de linformation,
en ralit, il nen est rien. Les donnes se baladant de rseau en rseau circulent cot du flux
BGP, pas dedans. Lintrt principal du partage dun mme mdia de communication pour les
informations de routage et les donnes elle-mmes est que si le mdia en question tombe en
panne, les routeurs ne reoivent plus dinformation sur le lien en question et ny envoient
donc plus dinformation. Cest la base de la redondance dInternet.
Cest un passage oblig pour toute organisation exploitant un rseau autonome et souhaitant
se relier au reste dInternet. Voila pour le quand.
Le pourquoi, prsent. Il existe plusieurs protocoles vaguement similaires BGP qui sont
quasiment tous orients vers lefficacit du rsultat. Le second en terme de notorit et
dutilisation dans le monde est OSPF (mais aussi ISIS, RIP, ). Ces derniers ont pour objectif
de faire discuter entre eux tous les lments de routage dun rseau en se basant sur une
confiance mutuelle globale. Ils sont donc gnralement plus utiliss lintrieur dun rseau
ou la confiance est quasi totale dans tous les quipements du rseau. BGP, lui, a
t conu pour cimenter un rseau plantaire dont on ne maitrise quune toute petite partie et
qui peut potentiellement contenir des lments perturbateurs (volontairement ou pas).
Le comment, maintenant. BGP fonctionne biensur sur les gros routeurs industriels du march
(Cisco, Brocade, Juniper, ) mais plusieurs implmentations ont t faites pour les divers
systmes dexploitation UNIX. Deux sortent du lot, savoir Quagga et OpenBGP.
Nayant encore jamais eu loccasion de tester le second, et cet article sinscrivant dans la srie
Comment devenir son propre FAI, je vais btement suivre la meute et produire un Niemme
howto sur Quagga, et pour pas trop me casser la tte, je ne parlerais que dIPv4. Pour sortir un
peu du lot quand mme, je vous apprendrais peut-tre que le quagga correspond deux
familles de zbres dont lune est teinte depuis 1883.

Lutilit de Quagga se rsume a discuter avec les routeurs voisins et a transcrire le rsultat de
ces conversations en ajoutant et en retirant des routes dans la table de routage de la machine
(accessible avec netstat -rn gnralement)
Nous partirons du principe :

que vous avez dj russi installer un petit routeur sous Linux ou FreeBSD.

que vous y avez connect un modem ADSL dun cot et quelques utilisateurs de
lautre et que a fonctionne

que vous avez install le package Quagga (apt-get install quagga par exemple)

que vous avez fait le necessaire auprs du RIPE pour obtenir au moins un AS et un
bloc dIP (ou bien que vous vous tes mis daccord avec votre FAI pour utiliser un AS
priv et un bloc dIP du FAI lui-mme juste pour tester)

que vous avez choisi un fournisseur daccs poilu du type FDN, et que vous avez donc
le bonheur de pouvoir distribuer du vrai internet avec des vrais adresses IP routables a
vos utilisateurs. a tombe bien, puisque de toute faon, les fournisseurs daccs de la
cabale des agrumes libres qui savent y faire ne proposent pas doffre base sur BGP
via lADSL et quils ne pourront donc, sauf utilisation de VPN pas jolis, pas vous tre
utiles dans le cadre du prsent article.

Lorsque vous allez demander votre fournisseur daccs dtablir un lien BGP, quelles
informations allez-vous obtenir ?

Ladresse IP du routeur BGP du fournisseur (qui a de forte chance dtre la mme IP


que celle qui est utilise comme passerelle par dfaut par votre routeur, nous
utiliserons 80.67.169.41)

Le numro dAS du fournisseur (pour notre exemple, ce sera lAS 20766)

ventuellement un mot de passe MD5 servant protger la session BGP dattaques


TCP aveugles

Vous lui aurez vous-mme fourni votre numro dAS (pour notre exemple, nous utiliserons
lAS 64512 qui se trouve tre un AS priv qui nexistera jamais sur Internet)
et ventuellement la liste des blocs dIP dont vous tes titulaire (qui peut, si vous avez bien
fait votre travail avec le RIPE, tre trouv avec votre numro dAS. Pour notre exemple, nous
utiliseront 172.16.0.0/24 qui se trouve aussi tre un bloc priv qui ne devrait jamais apparaitre
sur Internet).
Que trouve-t-on avec le package Quagga ? Il y a une pellet de binaires et de librairies et au
moins deux fichiers de configuration : zebra.conf et bgpd.conf. Le premier est la
configuration de base du routeur, le second la configuration spcifique BGP. Ne lancez pas
Quagga tout de suite, nous allons commencer par le configurer.
La configuration de base est assez simple (fichier zebra.conf) :

!
hostname mon_petit_routeur.mon_fai_a_moi.fr
password mot_de_passe
enable password second_mot_de_passe
!
interface em0
ip address 172.16.0.129/25
!
interface em1
ip address 80.67.169.42/30
!
interface em2
!
interface lo0
ip address 172.16.0.1/32
!
line vty

Trois groupes de lignes sont remarquer :

le nom de lhte, qui correspond gnralement au nom donn la machine elle-mme.

les mots de passe, utiliss pour verrouiller laccs dadministration du routeur (enable
tant le mode super_utilisateur_qui_peut_tout_casser).

la liste des interface rseau du routeur avec les adresses IP qui leur sont associes (ici,
il y en a trois plus le loopback).

Nota : votre installation par dfaut contiendra surement plus de directives de configuration
que a, vrifiez simplement que celles-ci sont bien prsentes, a suffira amplement pour
commencer.
Concernant les adresses IP, vous remarquerez que linterface em0 a une adresse IP en dbut
du second bloc de votre classe (vos utilisateurs auront donc des IP comprises entre
172.16.0.130 et 172.16.0.254 et utiliseront 172.16.0.129 comme route par dfaut), que lem1
a une IP du fournisseur sur un petit bloc /30 et que le loopback a une IP relle vous (dans le
premier bloc de votre classe). Le loopback possde galement bien sur la clbre 127.0.0.1
mais on y ajoute galement une IP du rseau pour pouvoir parler au routeur depuis notre
rseau sur une interface qui existera toujours quelle que soit les interconnexions qui
apparaitront ou disparaitront avec le temps.
Du cot de la configuration BGP, a se corse un peu mais pas tant que a :
!
hostname mon_petit_routeur.mon_fai_a_moi.fr
password mot_de_passe
enable password second_mot_de_passe
!
ip route 172.16.0.128/25 em0
!
router bgp 64512
bgp router-id 172.16.0.1
network 172.16.0.0 mask 255.255.255.0
neighbor 80.67.169.41 remote-as 20766
neighbor 80.67.169.41 description Gitoyen

neighbor 80.67.169.41 ebgp-multihop 255


neighbor 80.67.169.41 activate

Quavons-nous la ?

Les trois mme lignes que le dbut du zebra.conf qui ont la mme utilit

La dclaration dune route statique vers votre classe IP sur linterface connect vos
utilisateurs (bien quelle devrait dj tre gre par le systme dexploitation, a ne
fait pas de mal de lajouter, ne serait-ce que pour la clart)

La dclaration dune instance BGP prcisant votre numro dAS

Ladresse IP didentification du routeur BGP (la mme que celle que vous avez
indiqu sur le loopback dans le zebra.conf)

La dclaration du bloc dIP que vous grez et qui sera donc envoy vos voisins BGP

La dclaration de votre premier voisin BGP contenant ladresse IP indique par votre
fournisseur, son numro dAS, une description texte qui na dintrt que pour vous y
retrouver dans la configuration et une dclaration ebgp-multihop autorisant dtablir la
connexion BGP avec un routeur qui nest pas immdiatement adjacent (votre
fournisseur vous dira sil est ncessaire dactiver cette option)

a y est, vous pouvez lancer Quagga. Si tout fonctionne comme prvu, quelques secondes
aprs le lancement vous devriez voir gonfler la table de routage de votre machine (netstat
-rn) jusqu atteindre quelques 322000 routes diffrentes et Internet devrait tre au courant de
lexistence de votre bloc 172.16.0.0/24, vos utilisateurs devraient donc pouvoir accder
Internet.
Comment aller un peu plus loin ? Connectez-vous votre routeur BGP en telnet
telnet 172.16.0.1 bgpd
Connected to mon_routeur.mon_fai_a_moi.fr
Escape character is '^]'.
Hello, this is Quagga (version 0.99.7).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
mon_routeur.mon_fai_a_moi.fr>

Vous y tes. Le mot de passe tap correspond videmment celui que vous avez indiqu dans
le dbut du fichier bgpd.conf. Nous allons commencer par vrifier si votre session BGP a bien
t tablie :
mon_routeur.mon_fai_a_moi.fr> show ip bgp sum
BGP router identifier 172.16.0.1, local AS number 64512

332657 BGP AS-PATH entries


0 BGP community entries
Neighbor
State/PfxRcd
80.67.169.41
332657

AS MsgRcvd MsgSent

4 20766

10525

10232

TblVer
0

InQ OutQ Up/Down


0

24m

Total number of neighbors 1

Bingo, tout fonctionne priori, puisque notre voisin 80.67.169.41 semble connect et nous
envoie tout plein de routes. Nous allons en analyser une de plus prs (en prenant par exemple
lune des IP de www.orange.fr)
mon_routeur.mon_fai_a_moi.fr> show ip bgp 193.252.122.103
BGP routing table entry for 193.252.122.0/24
Paths: (1 available, best #1, table Default-IP-Routing-Table)
20766 5511 24600
80.67.169.41 from 80.67.169.41 (80.67.169.41)
Origin IGP, localpref 100, valid, external, best
Last update: Sun Aug 01 12:13:51 2010

On apprends donc que lip de www.orange.fr appartient un bloc /24, que nous navons
quun seul chemin connu pour y aller (normal, nous navons quun seul fournisseur pour
linstant), que lorigine de ce bloc dIP est dans lAS 24600 et quil faut passer par lAS 5511
aprs celui de notre fournisseur pour y aller. Dautres informations suivent dont vous
trouverez lexplication en fouillant un peu.
BGP dispose dune syntaxe de configuration trs riche permettant de faire des choses hors du
commun sans pour autant que beaucoup de documentations nexistent sur le
sujet. Nhsitez pas a poser vos questions, jessaierai dtoffer les exemples avec le temps et
de dtailler les explications qui sont pour linstant plus que succinctes.

Fabriquer son internet

Jai dj fait une srie comment devenir son propre FAI qui aborde, dans les grandes
lignes, la thorie. Un peu de pratique prsent.
Par les temps qui courent, matriser son petit bout dinternet, a va juste devenir
indispensable. Mais avant davoir un rseau national avec plein de gens dessus, il y a quelques
tapes franchir. Je vous propose donc de commencer petit : vous avez une connexion ADSL
peu prs correcte mais tatie Martine qui habite le bourg voisin, elle, au mieux elle a
512Kbps, et encore, quand le vent souffle dans le bon sens.
Prrequis notre petit FAI naissant, quon puisse voir un bout du toit de la maison de tatie
Martine depuis notre propre toit. Si ce nest pas le cas, il faudra aller chez tatie Martine et
essayer de trouver un endroit visible o on sait que lADSL marche peu prs bien et o on a
un bon ami prt aider tatie Martine. Pour a, on a, par exemple, loutil magique de
Heywhatsthat qui permet de connaitre les endroits thoriquement vue dun point dfini.
Bien, nous avons donc un point A avec de linternet qui marche et un point B avec de
linternet ravitaill par les corbeaux. Ces deux points sont, pour notre exemple, distant de
15km, ce qui doit, peu de choses prs, tre le cas de 99.9% des maisons en France vis vis
dun endroit o lADSL marche.
Premier challenge : relier le point A et le point B. Pour a, il vous faudra un peu dargent,
quelque chose comme 150 . Vous achetez deux NanoBridge M5 de chez Ubiquiti. Vous
configurez le premier (rien de bien sorcier) en point daccs avec chiffrement WPA2, vous lui
collez une IP (par exemple 192.168.0.2), puis vous prenez le second, vous le configurez en
station du point daccs et lui collez une IP (par exemple 192.168.0.3). Vous branchez le
premier votre modem ADSL, le second votre PC, vous les mettez en face et vous verrez
que vous avez de linternet sur votre PC.
Un peu de sport prsent, vous montez la premire antenne sur votre toit, par exemple
accroch la place de votre rteau boitkon, et vous faites la mme chose chez tatie Martine
en prenant soin dessayer peu prs de mettre les antennes en face. Une page de loutil de
configuration vous aidera faire lalignement. Le plus difficile tant probablement de
ramener le cble ethernet lintrieur des deux maisons. Notez que si tatie Martine est un peu
fashion et na que des priphriques wifi, vous pouvez planquer un point daccs wifi
standard dans son grenier juste cot de lantenne du toit et cest fini.
Vous avez fait le plus difficile ct physique. Bravo. Tatie Martine a de linternet chez elle.
Par contre, si tatie Martine va sur bittorent pour partager Rihanna ou bien diffuse des photos
de son patron dguis en marsupilami, cest vous qui irez (ou pas) voir le juge. Et puis cest
pas trs neutre, ce serait bien que tatie Martine ai son adresse IP elle pour par exemple
monter un node de darknet ou hberger elle-mme son blog de recettes de cuisine.
Pour faire propre, vous allez devoir investir encore un peu, par exemple dans un routeur wifi
TPLink 25 si tatie Martine ne matrise pas toute la subtilit de quoi faire dune IP routable.
Il faudra ensuite vous dbarrasser de votre FAI mainstream-boitkon-tlfon-bidule pour
choisir un FAI qui saura vous fournir plusieurs adresses IP (au hasard, nimporte quel membre
de la FFDN). Vous installez le TPLink chez tatie Martine et lui affectez lune des adresse IP

publique que le FAI vous aura fourni et vous vous gardez les autres pour vous (ou bien pour
tonton Jean-Claude).
Il ne vous reste que la paperasserie administrative pour tre tout fait en rgle : cration dune
association avec tatie Martine, ouverture dun compte en banque, dclaration L33 auprs de
lARCEP, et voil. Notez que cette tape est surtout utile si vous comptez ritrer lopration
avec quelquun dautre que tatie Martine. Si vous restez en famille, vous vous en passerez fort
bien.
Vous ntes pas encore vraiment un FAI indpendant puisque vous dpendez dun autre qui
vous ramne ses IP lui, mais vous avez fait le premier pas : vous avez un rseau entre deux
points gographiques distants, il est vous et rien qu vous et vous lavez connect au reste
du monde via un lien neutre.
Dans le prochain pisode, je vous expliquerai comment faire voluer votre petit FAI pour
distribuer vos propres adresses IP.
Si vous avez des questions, nhsitez pas. Si vous voulez vous lancer, nhsitez pas. Si vous
voulez me lancer des cailloux, hsitez, on sait jamais.

Вам также может понравиться