travaux:dn42

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
travaux:dn42 [2013/11/17 16:25]
zorun [Se connecter au switch]
travaux:dn42 [2015/05/08 19:35] (Version actuelle)
alarig [Participants]
Ligne 5: Ligne 5:
 Les numéro d'AS ainsi que les adresses alloués au sein du réseau sont privés (DN42 utilise 172.22.0.0/15 en IPv4, des ULA en IPv6). Les numéro d'AS ainsi que les adresses alloués au sein du réseau sont privés (DN42 utilise 172.22.0.0/15 en IPv4, des ULA en IPv6).
  
-C'est un moyen simple de se faire la main pour faire tourner du BGP en pratique. Pour participer, il suffit de : +C'est un moyen simple de se faire la main pour faire tourner du BGP en pratique. Pour participer, il suffit de ([[https://dn42.net/howto/Getting-started|source]] 
- +) : 
-    * demander un ASN et une plage d'adresse ;+    * s'attribuer un ASN et une plage d'adresse ;
     * établir des tunnels (IPsec, GRE, OpenVPN, Tinc, ...) avec des participants existants ;     * établir des tunnels (IPsec, GRE, OpenVPN, Tinc, ...) avec des participants existants ;
     * monter des sessions BGP avec ses voisins et annoncer son préfixe.     * monter des sessions BGP avec ses voisins et annoncer son préfixe.
Ligne 13: Ligne 13:
 ==== Documentation officielle ==== ==== Documentation officielle ====
  
-Le [[https://dn42.net|wiki]] a pas mal d'informations. Il y a notamment un guide [[https://dn42.net/Getting-started-with-dn42|Getting started]].+Le [[https://dn42.net|wiki]] a pas mal d'informations. Il y a notamment un guide [[https://dn42.net/howto/Getting-started|Getting started]].
  
 Une [[http://dn42.volcanis.me/initenv.1.html|copie de l'ancien wiki]] est disponible. **Attention :** la plupart des informations concernant DN42 ne sont plus d'actualité. Par contre, tous les détails techniques concernant les tunnels ou BGP (Quagga, OpenBGPd, etc) sont encore utiles. Une [[http://dn42.volcanis.me/initenv.1.html|copie de l'ancien wiki]] est disponible. **Attention :** la plupart des informations concernant DN42 ne sont plus d'actualité. Par contre, tous les détails techniques concernant les tunnels ou BGP (Quagga, OpenBGPd, etc) sont encore utiles.
Ligne 19: Ligne 19:
  
 ===== DN42 et FFDN ===== ===== DN42 et FFDN =====
 +
 +==== Liste de diffusion et canal IRC ====
 +
 +La fédération a une liste de diffusion dédiée à dn42 : https://lists.ffdn.org/wws/info/dn42
 +
 +Il y a également un canal IRC, ''#ffdn-dn42'' sur geeknode.
  
 ==== Intérêt pour FFDN ==== ==== Intérêt pour FFDN ====
Ligne 24: Ligne 30:
     * Apprendre à faire du routage (BGP, peering) sans risque     * Apprendre à faire du routage (BGP, peering) sans risque
     * (S'échanger des services en interne)     * (S'échanger des services en interne)
 +    * S'amuser :)
  
 ==== Idées de projets pour FFDN ==== ==== Idées de projets pour FFDN ====
  
     * Simplement faire du peering entre FAI de la fédé     * Simplement faire du peering entre FAI de la fédé
-    * Faire tourner un point d'échange (avec route server)+    * Faire tourner un point d'échange (avec route server) //→ en place, voir ci-dessous//
     * Avoir quelqu'un qui s'occupe de tenir à jour le registre (ASN, ranges, DNS, etc) pour toute la fédé     * Avoir quelqu'un qui s'occupe de tenir à jour le registre (ASN, ranges, DNS, etc) pour toute la fédé
- 
-==== Liste de diffusion ==== 
- 
-La fédération a une liste de diffusion dédiée à dn42 : https://lists.ffdn.org/wws/info/dn42 
  
 ===== Point d'échange virtuel ===== ===== Point d'échange virtuel =====
  
-Nous avons un point d'échange virtuel avec un Route Server BGP, ouvert à toute personne liée à la fédération. L'intérêt est le même que pour un vrai point d'échange : les routeurs des participants se connectent au switch, établissent une session BGP avec le Route Server, et utilisent le switch pour forwarder directement le traffic au bon peer.+Nous avons un point d'échange virtuel avec un Route Server BGP, ouvert à toute personne liée à la fédération possédant un ASN et un range sur dn42. L'intérêt est le même que pour un vrai point d'échange : les routeurs des participants se connectent au switch, établissent une session BGP avec le Route Server, et utilisent le switch pour forwarder directement le traffic au bon peer
 + 
 +**Note :** pour échanger des routes sur le point d'échange, il est nécessaire d'avoir un numéro d'AS et un préfixe réseau sur dn42. Il faut évidemment aussi avoir un routeur BGP (Quagga, Bird…).
  
 Le switch virtuel est construit grâce à tinc en mode switch, et opère dans le subnet ''172.22.250.0/25''. Le switch virtuel est construit grâce à tinc en mode switch, et opère dans le subnet ''172.22.250.0/25''.
  
-Le Route Server est en ''172.22.250.1'', AS 76142.+Les Route Servers BGP sont ''172.22.250.1'' et ''172.22.250.2'', AS 76142.
  
 ==== Participants ==== ==== Participants ====
  
-^ Noeud Tinc ^ Adresse       ^ Admin      ^ Commentaire +^ Noeud Tinc ^ Adresse       ^ Admin      ^ AS      ^ Commentaire 
-| tower      | 172.22.250.1  | zorun      | Route Server | +| tower      | 172.22.250.1  | zorun, petrus | 76142 | Route Server 
-mejis      | 172.22.250.2 zorun      | | +polaris    | 172.22.250.2 petrus        76142 | Route Server 2 
-| beta       | 172.22.250.3  | petrus     | | +| beta       | 172.22.250.3  | petrus        | 64751 | | 
 +| bzh        | 172.22.250.4  | petrus        | 64708 | Breizh-Entropy, chez ttnn.net | 
 +| mirsal     | 172.22.250.5  | mirsal        | 76186 | | 
 +| cajou      | 172.22.250.6  | djanos        | 64644 | | 
 +| knu        | 172.22.250.7  | karchnu       | 76141 | | 
 +| mejis      | 172.22.250.8  | zorun         | 4242420184 | chez ttnn.net | 
 +| ryuk       | 172.22.250.9  | kankan        | 64742 | ADSL/câble, pas trop stable | 
 +| haruhi     | 172.22.250.10 | kankan        | 64742 | chez OVH | 
 +| taupo      | 172.22.250.11 | taziden       | 4242421919     
 +| octarine   | 172.22.250.12 | zorun         | 4242420184 | chez poney | 
 +| Atlas      | 172.22.250.13 | atlas         | 4242421337 | | 
 +| mandelkind | 172.22.250.14 | mandelkind    | 4242420012 | | 
 +| ironman    | 172.22.250.15 | dlgg          | 4242420369 | | 
 +| heimdall   | 172.22.250.16 | dlgg, kankan, nicoo | 4242422121 | LeLoop | 
 +| henry      | 172.22.250.17 | kouak         | 4242420036 | | 
 +| twilight_sparkle | 172.22.250.18 | Bawaaaaah | 4242422434 | OVH | 
 +| scrown     | 172.22.250.19 | scrown        | 4242423249 | |  
 +| polokov    | 172.22.250.20 | CAFAI         | 4242421664 | Ikoula | 
 +| jarvis    | 172.22.250.21 | wipton         | 4242421999 | adsl | 
 +| guinch     | 172.22.250.22 | alarig        | 4242423522 | chez TTNN |
 ==== Se connecter au switch ==== ==== Se connecter au switch ====
  
Ligne 66: Ligne 89:
 #Interface = tap-ffdn #Interface = tap-ffdn
  
-# IPv6 *et* IPv4 +Pour faire le vpn en layer2 (tap) pour permettre IPv6 *et* IPv4
-AddressFamily = any+
 Mode = switch Mode = switch
  
-Accessible en IPv6 seulement+Il faut établir des méta-connexions avec plusieurs autres noeuds Tinc
 ConnectTo = tower ConnectTo = tower
-# Au cas où pas d'IPv6 pour joindre tower+ConnectTo = polaris 
 +ConnectTo = beta
 ConnectTo = mejis ConnectTo = mejis
 +
 +# Si on utilise Tinc 1.1, cette option augmente la redondance des méta-connexions, cf. tinc.conf(5)
 +#AutoConnect = yes
 +
 +# Si on utilise Tinc 1.1
 +ExperimentalProtocol = no
 +
 </file> </file>
  
Ligne 79: Ligne 109:
  
 <code> <code>
-tinc -n ix-ffdn -K+tincd -n ix-ffdn -K
 </code> </code>
  
-Il faut envoyer la clé publique ainsi générée (''/etc/tinc/ix-ffdn/hosts/<nom de votre noeud tinc>'') à la liste de diffusion, pour qu'elle soit rajoutée sur les routeurs (au moins sur la machine qui sert de Route Server).+Il faut envoyer la clé publique ainsi générée (''/etc/tinc/ix-ffdn/hosts/<nom de votre noeud tinc>'') à la liste de diffusion, pour qu'elle soit rajoutée sur les routeurs (au moins sur les machines qui servent de Route Server). 
 + 
 +=== Ajout des clés publiques des autres noeuds Tinc ===
  
-=== Ajout de la clé publique du Router Server ===+Pour chaque noeud Tinc indiqué dans une directive ConnectTo (''tower'', ''polaris'', ''mejis'', ''beta''), il faut installer la clé publique correspondant dans ''/etc/tinc/ix-ffdn/hosts/<nom du noeud>'' Les clés publiques sont les suivantes :
  
-Cette clé publique est à mettre dans ''/etc/tinc/ix-ffdn/hosts/tower'' :+== tower ==
  
 <file> <file>
Ligne 102: Ligne 134:
 </file> </file>
  
-Note : ce noeud n'est joignable qu'en IPv6Si vous n'avez pas d'IPv6, mettez également la clé publique de mejis dans ''/etc/tinc/ix-ffdn/hosts/mejis'' :+== polaris == 
 + 
 +<file> 
 +Address = polaris.poum.tk 
 +-----BEGIN RSA PUBLIC KEY----- 
 +MIICCgKCAgEA5XwLzepsX7pgj+ymhrDqYA9VqVaZMMK+3Mi9SY27TxcUZWBI2Cnm 
 +qvYnzPAsPVuD7sjS8uAX7nHQhKZSaSEHQHw97v+BOqGBOuzm0Z2w+xDn4+5C2Z1G 
 +KvTAAqMPbDGvgJ7x0wY9QdGtoaovmcbMMXPYoc9po3g+3w5XlLydUjf9iCAmfzG6 
 +2vuLsSJ/5Lf7+/ANte7uxb9tBIuuFtsyKm14g7MNhYQdCar76pl0rqugu2qMtkHu 
 +q8GH1pQ3vyK4qPQe3MAPrABZVACYhnPB01Ph1rXRFnwfWeRGL4F212mnY+kOBofZ 
 +WQ4K3wtCvRNpoGGK6fLB8G6mnMhdq0YEVuA5wHKR1b/FkAepQIPa3gPrva2nRFvW 
 +sbP+9RjN/rkJpzLan87QF28koZMdm3dmVyKtwUK3TNMIxKYfKxOem9FRdfGZGgX+ 
 +X9Ny/N68rPZGdUs7OGsC+9nYp10F+X6S35HBxZ+40wzelYHcZ4vccTKG4KvsTVGA 
 +qVlDpH+qhVcR4Bj3Mu3tliiwFjtx4yOZZl3NZLQGXKvLRjemMsa8g0PggvMm2/kM 
 +ZqOz7ZhNMvvMzLWVzqp4cUxDmK2PCm5/T61IOCCYElh3u9LV9JEKwXBj4wZPkUtH 
 +T9o590HaJ3Dw1Wg4Z3wxS3z8IgaErztO83yLrS0nRyI+W9NQYGE7OTsCAwEAAQ== 
 +-----END RSA PUBLIC KEY----- 
 +</file> 
 + 
 +== knu == 
 + 
 +<file> 
 +Compression = 10 
 +Address = karchnu.fr 
 + 
 +-----BEGIN RSA PUBLIC KEY----- 
 +MIIBCgKCAQEAoSrngJJ2Vn8ptP9CGlo3149oyPD+Q263tDj40foESQNoWcuaGnoE 
 +i/7S+PSwdLiK4GUtV84M1rCuRAwZnQMpFeTJCywI84/IYqZUw9kvN/lWd+0Dc72a 
 +77c9F3m2YWtzNQA2O+vaMTi1ahITjY7TWldH9GxMCnHRjSF1ZD+x91mJtmpkaMH/ 
 +96+fNiNJUo6+1N7BIHW/4C4Sy3aWzpOhXt2IzJC4Ke58a398HDUBfY8pGVp6NCKm 
 +nhURUmN8+UaSfcySwc2nVCpK9wg2nkgH1JDPohnbj45zxCidiocYb02fvvhovYgw 
 +oJXgWyFcztZy5mnzxpApr0VU6mMYlRVgaQIDAQAB 
 +-----END RSA PUBLIC KEY----- 
 +</file> 
 + 
 +== mejis ==
  
 <file> <file>
Ligne 118: Ligne 185:
 </file> </file>
  
 +== beta ==
 +
 +<file>
 +Address = beta.poum.tk
 +Port = 656
 +-----BEGIN RSA PUBLIC KEY-----
 +MIIBCgKCAQEAyXcBf1EiDocB9u8lNY/vaXPAGoRkALlf50hJrmujeRSby+AwcaxU
 +9ZmDwYmXUNhTLFYpI+zLTfu9CDlJ/dOPmIC8MF1WnrYzLKXLed79sGLgWMZNLch3
 +XEoM8dwX1VHOFcYY0LG2elJ0tPIv3/ANtEzI9Aj/zK0GLT2ajHiADEYQq/VRHS3+
 +ZrbFrZ8y1HeSnsZ08R2wEWzJOMblBi85p1CrlzSevH1oCBPwMH8xGI1oZUK9Udn5
 +IfGrVLyTPZrTukDEYCPac2KvY8kVW0JycfgWriyrMObEfrubuEnV5mOvZbYhHXzS
 +zPMuqIzAXWwPae4kJo39wVK50mlpIud+hQIDAQAB
 +-----END RSA PUBLIC KEY-----
 +ECDSAPublicKey = DAAFJhWlLmpGY9PdXf6zpcGShZFuCqtfeo0iPaCyjaKiqtjBJYxa7aoWKGPb/ztjERXJX/X+6jiR+CQEwov4UglaPB
 +</file>
 +
 +== henry ==
 +
 +<file>
 +Address = henry.kouak.org
 +-----BEGIN RSA PUBLIC KEY-----
 +MIIBCgKCAQEAvsDVrn8ABSkoEkHInNKjZuI0RNnr/T2OzPOpix7HIL1zyKx7j7PW
 +wNf1zqCtICbUneK2SBOY9eiLH0aUp12OQfE1W7LXAUAfk5yeCK5VKbvSb2O4uNZE
 +57z5dE8N7FbX+w5p5DTZtqSg64HGpJvjU6+RuoRkBjQrbqiArf8S0OPWpfmPO84N
 +lHmCZ/z6Z489KLPHS4IHl54Gmg7KA1uTo0S5sijyKM0gGfhgNpRxz4jISXiA0q6a
 +5YOEJ34r04p6pKQdmbmtbheWJz62qRwr4oHvi8/aMU29jHMRH7WjpB08mEW/mRuP
 +qHS7by7dcRXyzKCGo/pYZ4k0lUP8rg6V4QIDAQAB
 +-----END RSA PUBLIC KEY-----
 +</file>
 +
 +== guinch ==
 +<file>
 +Address = guinch.swordarmor.fr
 +-----BEGIN RSA PUBLIC KEY-----
 +MIIBCgKCAQEApjlfRyIHfNOyokykTLVbp32lYwpoOh0dqVDC0/PymkVACbGthe6D
 +jhCj0FZYZNONooRAWDIZg8Bt+82fGTJdCZRlpaIK0PyHOki5cRuXyUpJBzV7MTmJ
 +lJcfxuwOp2yCL6ffwoWpbFJM+oUad4TLxbftfg2q5S3y1yx84gPV5FF65dkVIYEU
 +BTo96b2ELMC7jQfyuqqZZdKMicGsMBumZt78Ol+1eeGUfWF8LTcy1jthpH1nUV3M
 +kNIzefU8rQ/B5MqWfjpOiUVbF3XeTMi97X9s5gZIRXVNn6dIdwq1Yn/3Ov8GS29d
 +nAkEfHwyMxs4FlPbUpCf7xLCb/z7geR8SQIDAQAB
 +-----END RSA PUBLIC KEY-----
 +</file>
 === Attribution d'une adresse === === Attribution d'une adresse ===
  
Ligne 133: Ligne 242:
  
 Sous FreeBSD, rajoute ''tincd_enable="YES"'' et ''tincd_cfg="ix-ffdn"'' dans ''/etc/rc.conf''. Sous FreeBSD, rajoute ''tincd_enable="YES"'' et ''tincd_cfg="ix-ffdn"'' dans ''/etc/rc.conf''.
 +
 +=== Test de connectivité ===
 +
 +Si tout va bien, une fois Tinc lancé, vous devriez pouvoir pinger ''172.22.250.1''.
 +
 +==== Configuration BGP ====
 +
 +Configurez votre daemon BGP favori (Quagga, Bird, OpenBGPD) pour établir deux sessions BGP, une avec chaque Route Server :
 +
 +    * endpoints : ''172.22.250.1'' et ''172.22.250.2''
 +    * ASN : ''76142''
 +
 +Envoyez ensuite un mail sur la mailing list, avec votre endpoint dans ''172.22.250.0/25'' ainsi que votre numéro d'AS et votre nom de nœud Tinc, pour que la session BGP soit montée sur les Route Servers.
 +
 +Attention, les Route Servers ne filtrent aucune route annoncée. À vous de vous assurer que vous filtrez, en entrée, les routes que vous ne voulez pas.
 +
 +===== Références =====
 +
 +==== Configuration du Route Server ====
 +
 +Le Route Server est actuellement un Bird sous FreeBSD, avec une configuration très basique (pas de filtrage).
 +
 +<file>
 +# Bird configuration for a simple dn42 Route Server. No filtering of any kind.
 +# Adapted from https://gitlab.labs.nic.cz/labs/bird/wikis/Simple_route_server
 +
 +log "/var/log/bird.log" all;
 +log syslog all;
 +
 +router id 172.22.250.1;
 +define myas = 76142;
 +
 +protocol device { }
 +
 +# Protocol template
 +template bgp PEERS {
 +  local as myas;
 +  import all;
 +  export all;
 +  route limit 10000;
 +  rs client;
 +  # We could apply a filter here, to only accept routes that belong to dn42.
 +  #import filter bgp_dn42;
 +}
 +
 +# Peers
 +protocol bgp PEER1 from PEERS
 +{
 +  description "Peer1 peering";
 +  neighbor 172.22.250.2 as XXXXX;
 +}
 +
 +protocol bgp PEER2 from PEERS
 +{
 +  description "Peer2 peering";
 +  neighbor 172.22.250.3 as XXXXX;
 +}
 +</file>
  • travaux/dn42.1384701947.txt.gz
  • Dernière modification: 2013/11/17 16:25
  • de zorun