Activer le cryptage WPA sous freeBSD

Ce weekend, j’ai remonté une vieille box à base de Duron 800MHz sous freeBSD. C’est une machine qui traîne dans ma chambre à coucher, un peu loin du routeur, mais équipée d’une carte wifi à base de chip Ralink. Quelle chance, cette puce est plutôt bien gérée par Linux et freeBSD.
Bien que gérée, j’ai eu du mal à la faire fonctionner avec un chiffrage WPA, trouvant très peu de doc à ce sujet sur internet. Finalement, j’ai trouvé un petit tutoriel qui a fonctionné directement, ô joie.
Cette procédure ne va pas s’attarder sur l’installation et la reconnaissance de votre carte, mais sur sa configuration avec un cryptage WPA à clé partagée (WPA-PSK).

Configurer l’interface

Votre carte en place et reconnue, celle-ci n’est bien entendu pas configurée, vous devriez avoir quelque chose comme ça en faisant un ifconfig ral0 :

# ifconfig ral0
ral0: flags=8806 mtu 1500
ether xx:xx:xx:xx:xx:xx
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid ""
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 0

La première chose est d’assigner une IP et un masque réseau à l’interface, toujours avec la commande ifconfig (dans cet exemple, j’utilise l’adresse IP 192.168.1.10 avec un masque 255.255.255.0, adaptez ces valeurs à vos besoins) :

ifconfig ral0 inet 192.168.1.10 netmask 255.255.255.0

On vérifie que la configuration a été prise en compte :

# ifconfig ral0
ral0: flags=8806 mtu 1500
inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:14:51:7a:56:d7
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid ""
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 0

Ajout d’un chiffrage WPA (802.11i)

Maintenant que nous avons une interface réseau configurée pour notre réseau, il ne reste plus qu’à chiffrer l’accès grâce au protocole WPA-PSK (pre-shared key) qui ne nécessite pas de serveur d’authentification Radius.

Créer et éditer un fichier wpa_supplicant.conf sous /etc contenant ces lignes :

ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="mon_ssid"
key_mgmt=WPA-PSK
psk="ma_passphrase"
}

Avant d’activer ce cryptage, il faut charger quelques modules relatif au cryptage wifi. Suivant votre installation de freeBSD, peut-être ces modules sont-ils chargés, sinon entrez cette commande :

# kldload -v wlan_acl wlan_wep wlan_ccmp wlan_tkip

Ensuite, il suffit de lancer la commande suivante pour activer le cryptage :

# wpa_supplicant -B -i ral0 -c /etc/wpa_supplicant.conf [-d]

L’option -B active le cryptage comme « daemon », -i sélectionne l’interface réseau et -c est le chemin vers le fichier de configuration.
L’option -d est optionelle et permet juste d’afficher le mode de debuggage en cas de soucis.