Pour éditer le wiki, il faut demander un compte à un Lapin !
Ateliers Babel
L'objectif de cet atelier est de partager les connaissances sur le protocole Babel afin de permettre à un maximum de personnes d'installer des nœuds Babel et de lancer une expérimentation de grande taille.
Contents
Description
Lors de cet atelier, je vais vous présenter Babel à partir de la distribution GNU/Linux Debian, mais cela devrait être facilement adaptable pour d'autres distributions.
Pour le moment, Babel n'a pas de système d'authentification (la plupart des protocoles de réseaux maillés, y compris BGP, n'en possèdent pas non plus), mais un russe, Denis Ovsienko, a déjà implémenté un système d'authentification[1] qui fonctionne pour la version Quagga de Babel.
Prérequis
Si vous souhaitez participer à l'expérience des réseaux maillés, il est préférable de venir avec votre propre ordinateur pré-configuré. Les paquets babeld
et ahcpd
sont très légers, donc si vous ne les avez pas encore installés ni configurés, vous pourrez le faire sur place :
- par exemple, avec
aptitude install babeld ahcpd
; - disposer des pilotes réseau pour votre ordinateur ;
- autoriser le transfert des paquets.
Configuration
/etc/network/interfaces
# Exemple à adapter à votre réseau local : allow-hotplug eth0 iface eth0 inet dhcp post-up invoke-rc.d babeld restart post-up invoke-rc.d ahcpd restart # Les lignes suivantes sont commentées et représentent une configuration alternative : # allow-hotplug eth0 # iface eth0 inet manual # post-up invoke-rc.d babeld restart # post-up invoke-rc.d ahcpd restart auto wlan0 iface wlan0 inet manual # Les lignes suivantes sont commentées parce qu'on obtient une adresse avec ahcpd. # Par contre, un serveur ahcpd DOIT avoir une adresse IP (il ne se l'auto-attribue pas) : # address 192.168.100.x # netmask 255.255.255.255 # network 192.168.100.0 wireless-essid babel-mesh wireless-channel 6 wireless-mode ad-hoc wireless-rts 512 # La ligne suivante n'est pas strictement nécessaire et peut être commentée : # wireless-ap ca:fe:ca:fe:ca:fe post-up invoke-rc.d babeld restart post-up invoke-rc.d ahcpd restart
Pour la configuration du WiFi, certains pilotes ne supportent pas la façon dont j'ai écrit les lignes commençant par wireless-...
. Une solution sans garantie consiste à utiliser les directives pre-up
suivies de commandes comme iwconfig
.
/etc/babeld.conf
redistribute proto 3 ip 0.0.0.0/0 eq 0 metric 128
Le partage de la route par défaut se fait avec ip 0.0.0.0/0 eq 0
, tandis que proto 3
est là pour indiquer que la route par défaut sera obtenue à partir de DHCP.
/etc/default/babeld
# Liste des interfaces réseau sur lesquelles le protocole Babel devrait fonctionner : INTERFACES="eth0 wlan0"
/etc/default/ahcpd
# Liste des interfaces réseau sur lesquelles le protocole AHCP devrait fonctionner : INTERFACES="eth0 wlan0"
Pour déployer un serveur AHCP et ainsi donner une adresse IP aux nœuds, sous Debian, il vous faut créer le fichier /etc/ahcp/ahcpd.conf
:
mode server prefix fde6:20f5:c9ac:358::/64 prefix 192.168.100.128/25 lease-dir /var/lib/leases # name-server fde6:20f5:c9ac:358::1 # Ici, j'indique 127.0.0.1 pour ceux qui utilisent dbndns (fork de djbdns) et dnscache-run. # Pour les autres, je ne sais pas comment reprendre le DNS fourni, par exemple, par DHCP. name-server 127.0.0.1 # ahcpd fonctionne mieux avec un serveur NTP, mais si vous n'en disposez pas, ce n'est pas fatal. # ntp-server 192.168.2.4
Ensuite il faut lancer ahcpd
avec son fichier de configuration en paramètre, ce que je ne sais pas encore faire de façon automatique au démarrage sous Debian. Il faudrait voir du coté de /etc/init.d/ahcpd
. Je le lance donc à la main :
ahcpd -D -c /etc/ahcp/ahcpd.conf eth0 wlan0
- -D pour le lancer en daemon. On peut remplacer -D par -d2 pour passer en mode debug.
- -c pour indiquer le fichier de configuration.
- eth0 et wlan0 sont les interfaces sur lesquelles
ahcpd
sera à l'écoute.
NAT avec iptables
Pour, finir je rajoute une règle iptables pour faire du NAT. Il existe d'autres solutions plus élégantes, mais celle-ci s'applique au cas où vous n'avez pas le contrôle sur le routeur qui vous donne l'accès à Internet.
Cela vous permettra de router vos paquets entre le réseau local et le sous-réseau obtenu avec Babel (oui, c'est un sous-réseau ; on comprend plus de choses quand on sait ça, entre autres que ce sont les adresses MAC qui sont importantes, beaucoup plus que les adresses IP).
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j MASQUERADE
Quand
- Date
- Durée envisagée
- Animation
- Err404
Notes et références
- ↑ D. Ovsienko, « Babel HMAC Cryptographic Authentication »
Voir aussi
- Babel sur Wikipédia
Hidden categories > Wiki > Le Loop > Squat > Gare XP
Hidden categories > Wiki > Le Loop > Workshops
Hidden categories > Wiki > Le Loop > Workshops > Babel