Kernel AODV ReseauCitoyen

From YobiWiki
Jump to navigation Jump to search

Converted with HTML::WikiConverter::MediaWiki from my old phpwiki site


Création d'une solution pour ReseauCitoyen:

Cette page contient une description du cheminement qui a permis d'aboutir à la solution viable décrite sur ReseauCitoyen:KernelAodvHackDhcp

Mise en oeuvre:

4 composants sont nécessaires pour avoir un noeud RC qui distribue des adresses RC par DHCP et qui les route via AODV:

module kernel-aodv modifié

  • Accepte les fausses RREP HELLO générées localement en provenance du démon liant DHCP et AODV.
  • cf Kernel AODV Hack
  • Statut: REALISE
  • Résumé:
    • code disponible ici

serveur DHCP modifié

  • Délivre des adresses IP dont les 3 derniers bytes sont égaux aux 3 derniers bytes de la MAC address du client.
  • Appelle un programme ou script externe à chaque envoi d'un ACK à un client.
  • cf Kernel AODV DHCPd
  • Statut: REALISE
  • Résumé:
    • Il n'est pas possible de configurer correctement un client en 10.x.x.x malgré plusieurs approches parfois très tordues.
    • On utilisera finalement le subnet 1.0.0.0/8 pour les clients et on use de netfilter pour lier la sauce.
    • code disponible ici

Étude de Proxy-ARP

  • Répond au client en lieu et place de machines que le client croit être dans son environnement immédiat.
  • cf Kernel AODV Proxy ARP
  • Statut: REALISE
  • Résumé:
    • Utilisation du proxy-arp du noyau et ajout de routes adéquates pour répondre à aux ARP requests destinées au pseudo-gateway 1.N.O.D alors que l'IP du noeud est en fait 10.N.O.D.

démon glue-dhcp-aodv

  • Est informé par un serveur DHCP [KernelAodvDhcpd modifié] de l'arrivée potentielle d'un nouveau client (au moment de l'envoi d'un DHCP ACK) et envoie des messages HELLO forgés au module kernel-aodv local [KernelAodvHack modifié]
  • Vérifie que les clients soient toujours connectés (arping) sinon arrête l'injection et nettoye netfilter et la table de routage.
  • Statut: REALISE
  • Résumé:
    • Ancien code disponible ici (cette version nécessite encore l'écriture sur disque (ramfs si on veut) de petits fichiers pour hping2)
    • Le démon actuel est intégré à /etc/init.d/kaodv, cf ReseauCitoyen:AodvNistBugs et dernier code et ne nécessite plus l'écriture de fichiers temporaires grâce à un nouveau code d'injection (cf ReseauCitoyen:ForgeAodv)