Home hostap

Suite à un récent achat de matériel afin de me débarrasser de ma livebox qui plante trop souvent, j’ai choisi de faire mon propre routeur ADSL.

Pour faire un routeur, rien ne vaut un OS de qualité: OpenBSD. Au niveau hardware, j’ai choisi une board Alix 2d13 et une carte mini PCI Wi-Fi Atheros DNMA92 et ses antennes.

Nous allons voir dans ce tutoriel comment configurer OpenBSD afin de transformer notre routeur en borne Wi-Fi.

IMG_20131105_203131

Initialisation sur la board

Si vous comptez utiliser une board Alix, voici (rapidement) comment installer OpenBSD et se connecter en série à l’équipement.

Insérez la carte compact flash dans un lecteur compatible (interne ou USB) puis montez le lecteur sur une machine virtuelle en 32bits (i386), en tant que disque dur. (Sur libvirt il suffit de spécifier /dev/sdX comme chemin de disque dur, /dev/sdX étant le lecteur compact flash).

Installez ensuite OpenBSD comme d’habitude, à l’exception près qu’il faudra activer com0 a 38400 baux et ne pas configurer d’interfaces réseau.

Une fois l’installation terminée, éteignez la machine lancez un sync dans votre terminal et retirez la carte compact flash du lecteur. Insérez la ensuite sur la board et alimentez la.

Si tout se passe bien OpenBSD bootera comme sur un serveur classique.

Configuration du réseau

Nous allons ici bridger toutes les interfaces réseau afin de faire fonctionner le système comme un switch.

Configuration Ethernet

La board Alix 2d13 dispose de 3 interfaces Ethernet. Nous aurons uniquement besoin de les allumer.

echo "up" > /etc/netstart vr0echo "up" > /etc/netstart vr1
echo "up" > /etc/netstart vr2
sh /etc/netstart vr0
sh /etc/netstart vr1
sh /etc/netstart vr2

Configuration Wi-Fi

Passons à la configuration de l’interface Wi-Fi.

Ouvrez le fichier /etc/hostname.athn0 et indiquez la configuration suivante:

nwid "monSSID"
wpa
wpaprotos wpa2
wpakey maclefdelamortquitue
media autoselect mediaopt hostap
up
chan 1

Précisons:

  • nwid: il s’agit de votre SSID
  • wpa & wpaprotos: on active le chiffrement WPA. Si vous ne spécifiez pas wpaprotos WPA et WPA2 seront disponibles
  • wpakey: votre clef WPA
  • media autoselect mediaopt hostap: configure la carte Wi-Fi en mode AP et sélectionne automatiquement les options 802.11a/b/g
  • chan: le canal de transmission Wi-Fi. Sélectionnez un canal qui soit 1, 6 ou 11, étant peu utilisé par les AP/box de vos voisins.

J’ai remarqué qu’il fallait mettre le canal en dernier, après avoir allumé la carte Wi-Fi, autrement celle-ci n’émet pas. Cela doit dépendre des pilotes.

Enfin lancez l’interface:

sh /etc/netstart athn0

Configuration de l’interface de loopback

Dans un souci de détail, nous allons créer une interface de loopback qui aura l’adresse IP de notre AP. Cette IP aurait pu être spécifiée sur une interface Ethernet ou Wi-Fi mais la solution serait moins élégante.

echo "inet 10.0.0.1 255.255.255.0 NONE" > /etc/hostname.vether0
echo "description Bridge-WiFi" >> /etc/hostname.vether0
sh /etc/netstart vether0

Configuration du bridge

Pour finir on va créer notre bridge. Ouvrez le fichier /etc/hostname.bridge0

up
add vether0
add vr0
add vr1
add vr2
add athn0

et lancez l’interface

sh /etc/netstart bridge0

Note: si votre équipement est branché sur un commutateur supportant le spanning-tree, ajoutez les options stp dans le fichier /etc/hostname.bridge0

Conclusion

Si tout s’est bien passé, vous devriez voir apparaître le SSID que vous avez configuré. Ce tutoriel ne permet pas de distribuer des adresses IP, si vous le souhaitez, configurez (subnet et interfaces d’écoute) et lancez le démon dhcpd.