Dans mon précédent article, j’analysais les différentes possibilités pour disposer d’ipv6 propre.
Cette article y fait suite et explique les bases nécessaires pour obtenir les précieuses ressources.
Cet article ne contiendra pas de tuto sur comment configurer tel ou tel routeur (prochain billet de blog, promis 😉 ) pour faire du BGP, mais plutôt des bases pour démarrer.
L’idée de base
Afin de disposer d’ip propres (ipv6), nous allons obtenir un range d’ipv6 et un numéro d’AS.
Cependant, avoir des ip et un AS ne suffit pas, il vous faudra également un fournisseur de transit. Je vais évoquer les pistes possibles pour un amateur et non pas pour un professionnel du réseau. Ce billet de blog est donc pour ceux qui sont intéressé par l’idée mais qui n’ont pas un demi rack en datacenter ou encore une fibre noire (coucou clément) qui arrive chez eux.
Le transitaire
Avant de rechercher des ressources, je vous propose de passer en revue les possibilités pour transiter votre trafic. A moins que votre isp vous le permette (sans un 4eme chiffre sur la facture), vous allez devoir utiliser un tunnel pour ramener le trafic chez vous. Si cependant, vous souhaitez utiliser votre range en datacenter (serveur dédié / vm), il existe une multitude de petits opérateurs permettant de faire du BGP. Je vous invite à aller voir sur http://bgp.services afin de trouver une liste de prestataires.
Vous pouvez avoir plusieurs transitaires, vous n’êtes même pas obligé de faire passer le trafic sortant et entrant par le même transitaire. C’est pas possible dans un setup classique, mais ici, vous utiliserez la même ip peu importe le transitaire. Si vous voulez vous rendre compte de cela, faite simplement un traceroute dans les 2 sens (dédié > maison, maison > dédié). Vous venez que dans certains cas, le trafic ne passe pas par le même chemin.
La grande différence avec un dual wan classique, c’est que vous gardez les mêmes IP sur vos 2 opérateur de transit
Enfin, je tiens à vous rappeler que votre transitaire fera transiter … votre trafic. Choisissez donc un de confiance qui respectera votre vie privée et sera neutre vis à vis de vos paquets (neutralité du net, toussa, toussa).
Partons du cas ou vous voulez amener le trafic chez vous. Il existe 3 possibilités (vous pouvez utiliser les 3 en même temps):
Un tunnel avec BGP (gre, 6to4, …)
Le but du jeu est très simple, vous allez connecter un ou plusieurs tunnels entre votre routeur et votre provider afin de faire transiter du trafic. En ipv6 vous pouvez trouver 2 opérateurs qui fournisse le service gratuit. tunnelbroker.net et netassist.
Tunnelbroker dispose de plusieurs POP, vous pouvez monter plusieurs tunnels si vous le désirez. Dans le cas de l’Europe, il existe un serveur en Allemagne et l’autre se situe à Londres.
Netassist se situe en ukraine de mémoire, je conseille donc pour un européen de l’utiliser en backup plutôt qu’en principal. (oui c’est faisable via BGP de manière automatique).
Un serveur dédié / vps
Ici le cas est un peu différent, vous allez simplement monter la session BGP depuis votre serveur à votre prestataire. Ensuite, le but du jeu est de monter un tunnel vers chez vous et y acheminer votre trafic. C’est un setup un peu plus complexe mais qui offre beaucoup plus de flexibilités car vous gérez vous même le tunnel.
Si vous partez pour ce setup, je vous conseille d’avoir quelques bonnes notions en routage dynamique (BGP et OSPF principalement).
Avoir un FAI qui peut vous transiter
Niveau perf, c’est le TOP. Par contre, cela à un coût.
Pour mes amis français, je vous conseille de faire un tour vers la fédération FDN.
Il y aura certainement des membres qui seront prêt à vous transiter en échange de quelques bières.
Par contre, n’espérez pas trop des FAI grand publique, c’est en général une presta à plusieurs milliers d’euros via fibre dédié.
Critères communs de choix
Peu importe la solution que vous allez choisir pour transiter votre trafic, voici une petite listes de critères intéressant à vérifier:
- Latence entre vous et le prestataire
- Neutralité du prestataire
- Idéalement, regardez quelles sont les prestataires entre vous et celui-ci. L’idéal étant d’en avoir le moins possible.
- Tester la bande passante entre vous et le prestataire (bah oui, le but c’est pas de se brider hein ;))
Et mon routeur chez moi ?
Votre routeur ? Il doit au minimum être capable de gérer le protocol BGP (ou ospf si vous utiliser des serveurs en amont pour gérer BGP) ainsi qu’un protocol vpn.
Ensuite, vous devez savoir si vous allez lui injecter une fulltable ou non.
Fulltable ou default route ?
La fulltable, c’est la table BGP complète, celle qui est connues par tous les équipements gérant un bout d’internet (ou AS). A l’heure ou j’écris ces lignes, la V4 arrive à 700 000 routes et la V6 a dépassé les 50 000 routes.
Son utilité est d’aiguiller votre trafic en sortie, vous allez recevoir la table complète de chaque prestataires. Votre routeur regardera via quelle prestataire le chemin est plus court (déterminé par le nombre de numéros d’AS dans la route). Votre trafic entrant ne peut pas être influencé par ce moyen, vous pouvez l’influencer en rajoutant des AS dans la route (plusieurs fois le votre) afin de rallonger virtuellement celle-ci.
Donc finalement, si vous ne voulez pas équilibrer votre trafic sortant (ou avez uniquement un transitaire) une default route iras très bien.
N’oubliez pas qu’une fulltable BGP consomme de la RAM, n’espérez donc pas le faire avec un routeur grand publique même flashé sur openwrt.
A titre d’info, voici un exemple sur BIRD 1.6 sous debian avec la table IPV4. (3 transitaires donc 3 fulltables).
BIRD 1.6.3 ready.
bird> show memory
BIRD memory usage
Routing tables: 180 MB
Route attributes: 183 MB
ROA tables: 192 B
Protocols: 164 kB
Total: 363 MB
bird> show route count
2098092 of 2098092 routes for 702380 networks
Et les ip ? comment on fait ?
Pour annoncer vos IP, il vous faut 2 choses. Un range d’ip (oui, sérieusement) et un numéro d’AS.
Le numéro d’AS, c’est l’identifiant de votre réseau, il sera échangé sur la table BGP et permettra de savoir à qui appartient vos IPs. (il intervient principalement dans l’aiguillage pour prendre le chemin le plus court).
Avant toute chose, étant européen, je vais m’attarder uniquement l’europe et donc le RIPE NCC. Je vous invite à chercher votre RIR et vous documenter si vous être situé autre part (canada par exemple).
Demander un numéro d’AS nécessite quelques pré requis, à savoir:
- Au moins disposer de 2 transitaires.
- Avoir au moins un range d’ip à annoncer.
- Avoir un compte utilisateur au RIPE (pas membre, juste un compte).
Vous l’aurez compris, en général, vous introduisez les 2 demandes en même temps.
Sponsor ou membre ?
Avant de parler des ressources en elles même, il faut savoir comment vous allez vous adresser au RIPE, il existe 2 manières de le faire. Soit être membre, soit se faire « sponsorisé » par un membre.
Pour un débutant / hobyist, je conseille clairement de passer par le sponsor, cela vous coûtera bien moins chère que si vous deviez devenir membre au ripe.
Notez que les 2 solutions ne sont pas incompatibles. J’ai d’abord utilisé un sponsor et ensuite récupérer mon numéro d’AS sur mon propre membership.
Se faire membre
Frais d’adhésion: 2000€ HTVA
Membership annuel: 1400€ HTVA
Vous pouvez demander un /22 ipv4 (1024 ip) sans justification supplémentaire (le ripe ne vous donnera rien de plus).
Vous pouvez demander un /29 ipv6 (512K /48) sans justification supplémentaire (et plus si vous justifier votre usage)
Vous pouvez demander des numéros d’AS sans frais supplémentaires (pour vous ou d’autres personnes que vous sponsoriser)
Passer par un sponsor
Le sponsor vous facture ce qu’il souhaite, donc un montant bien moins élevé que l’adhésion au ripe.
Vous pouvez demander un range ipv6 PA ou PI à ce sponsor.
Si le sponsor disparaît, vous pouvez transférer vos ressources PI (l’AS est PI), mais les ressources PA ne sont pas transférable.
PA, PI ?
Une ressource de type PA, c’est « Provider Assigned ». Cela signifie que la ressource a été assigner à un membre du ripe et ne peut-être transférer. L’avantage, c’est que le cout est bien moindre, car un LIR ne devra pas payer plus que sa cotisation pour vous déléguer un petit morceau de son espace PA. Cependant, il facturera le service afin de couvrir les frais du membership. Un autre avantage, c’est que dans le cas d’un PA, le LIR peut vous donner un range plus grand qu’un /48 afin de vous permettre de gérer vous même vos allocations. La politique du ripe interdit d’allouer plus d’un /48 par end site. Disposer d’un PA vous permettra de créer des sous allocations (/48 maison, /48 serveur dédié, …).
Pour le PI, c’est différent, la ressource vous appartient (mais doit-être sponsorisée). Vous pouvez la déplacer de sponsor en sponsor. Par contre, le LIR qui la sponsorise se voit facturer des frais annuels en plus de sa cotisation pour la maintenance de ces ressources. Le coût vous sera donc répercuté. Ensuite, il faut savoir que le RIPE vous considère comme un end site, car, pour eux, vous êtes un « end user » et non pas un ISP. Un range PI ne peut pas être utilisé pour héberger vos clients par exemple, uniquement vous même, votre entreprise, … (utilisateur final). Par conséquent, il sera très difficile d’obtenir plus d’un /48.
Disposer d’ipv4 PI n’est plus possible à ce jour.
Ok, mais quelles quantités d’ip il me faut ?
Afin de ne pas saturer la table de routage, des règles sont adoptées par la communauté, le minimum autorisé en annonce bgp sont /48 pour ipv6 et /24 pour ipv4. Il vous faut donc au minimum un /48 par annonce BGP que vous souhaitez faire. Vous pouvez le subdiviser à l’intérieur de votre réseau sans aucun souci.
La demande au sponsor
Il va vous falloir trouver un sponsor désormais, celui-ci vous fournira un range d’ip et un numéro d’AS. Pour cela, vous devrez lui fournir 2 documents. Un agrément du ripe signé ainsi qu’une copie de votre carte d’identité ou de constitution de votre entreprise. (le ripe vérifie ces informations). Le LIR vous fournira l’agrément lors de votre demande, cependant le modèle est trouvable directement sur le site du RIPE pour les curieux.
Créer les objets dans la base du RIPE.
Si vous débutez sur ce point, je vous conseille de vous créer un objet de type « maintainer ». C’est le minimum vous permettant d’éditer vos objets une fois reçu (oui, vous allez devoir maintenir la db à jour et donc pouvoir localiser vos IP proprement).
Pour ceux qui n’ont pas froid aux yeux, vous pouvez créer les objets suivants:
– Maintainer / nic handle
– Abuse role. (type rôle, avec abuse email comme attribut). (oui, vous allez avoir votre propre abuse mail, comme les grands 😉 ).
– ORG (c’est l’objet qui va vous représenter comme entité légale. Entreprise ou particulier possible).
Je vous recommande vivement d’introduire des bonnes données, en effet, le RIPE vérifie cela au moment où le LIR introduira votre demande et les corrigera si nécessaire. (surtout dans l’objet ORG). Il faut savoir qu’un LIR voir le RIPE peut vous retirer l’espace alloué si vous ne maintenez pas votre documentation à jour avec des informations correctes.
Faire sa demande à un lir
Etant moi même LIR, je vous propose de me contacter directement par mail sur [email protected] (tarifs ici: https://www.servperso.net/ripe-ncc-lir-services) , je pourrais vous aider à enregistrer un AS et obtenir des IP, ainsi que de la connectivité (transit via vm).
Sinon, vous pouvez toujours chercher dans la DB du ripe directement.
Une fois votre LIR choisit, c’est relativement simple:
1) Vous transmettez votre demande avec les éléments suivants (parfois automatisé dans un formulaire de commande):
– Votre besoin en matière d’IP
– Votre souhait d’avoir un AS
– 2 AS (avec le mail de contact) que vous allez utiliser pour transiter votre AS (a tout hasard, HE et netassist)
– Votre lieux de résidence (vous devez être en europe / russie pour le ripe).
– La liste de vos objets nouvellement créer (au moins le maintainer).
2) Le LIR peut vous facturer avant de réaliser la prestation.
3) Le LIR va vous envoyer une copie de l’agrément compléter. Vous allez devoir le signer et lui retourner (par voie électronique) ainsi que joindre une copie de votre carte d’identité.
4) Si vous avez opté pour un PA, votre LIR vous assignera un espace d’ip compris dans son POOL.
5) Le LIR introduit la demande au RIPE (24H pour la réponse)
5) Votre LIR reçois la réponse du ripe (positif ou demande de précisions).
6) Votre LIR vous communique les infos et vous êtes partis pour de nombreuses heures de setup 😉
7) Si votre lir vous à assigné un range en ALLOCATED-BY-LIR, (au delà d’un /48), vous devez réaliser votre premier assignement (pas plus d’un /48) dans la base du ripe.
Et maintenant, comment je rends tous sa disponible au reste du monde ?
Cet article est déjà très long, trop long même. Je vous propose de traiter cela dans un prochain article via les points suivants:
– Création d’un objet route et utilité de l’objet route
– Demande de whitelist à un transitaire (oui, il existe des filtres).
– Configurer un routeur bgp de base avec un tunnel HE (un seul transitaire).
– Gérer simplement sa zone reverse dns (avec bind).