Configuration d'un PA wifi
Ressources/Sources
Matériel
- Clé USB Wifi avec Antenne 12Db (puce Realtec RTL8191SU) / Nom du driver : r8712u
- Conclusion : impossibilité de faire fonctionner cette clé wifi en tant que point d'accès (PA)
- Autre matériel qui devrait fonctionner :
- EDUP EP-N8531 - Chipset RT5370
Résumer de la manip
La majorité des manipulations ci-dessous nécessitent de passer en root : su -
De quoi un point d'accès à besoin pour fonctionner :
- Informer le matériel de l'existence du PA (Broadcast SSID) ou autoriser les clients à se connecter
- Authentifier le client
- Assigner une IP au matériel du client
- Router les paquets vers le réseau de “sortie” et inversement
Afin de gérer tout cela, le Raspberry PI à besoin de :
- hostapd – Host Access Point Daemon – qui s'occupera du point 1.
- wpa-supplicant – outil responsable de l'authentification WPA pour le point 2. (Déjà installé)
- isc-dhcp-server – qui s'occupera du point 3.
- ip-tables – qui s'occupera du point 4. (Déjà installé)
Vérifier que la carte supporte le mode PA
- Vérifier le mode actuel avec :
iwconfig- Si
iwconfigne fonctionne pas, mais queiw listfonctionne c'est que le driver est récent et utilise l'interface nl80211.
- Si le mode affiché vaut auto, tenter de passer en master avec :
iwconfig wlan0 mode master- Si le mode passe à master, c'est que la carte permet de réaliser un PA.
Commandes utiles
- Voir la config réseau :
ifconfig - Voir les infos wifi :
iwconfig - Pour trouver le nom du pilote du Wifi :
readlink /sys/class/net/wlan0/device/driver
Configuer le serveur DHCP
- Installer les paquets suivant :
apt-get install hostapd isc-dhcp-server - Éditer le fichier de conf du serveur DHCP :
vi /etc/dhcp/dhcpd.conf- Commenter les lignes :
#option domain-name “example.org”;#option domain-name-servers ns1.example.org, ns2.example.org;
- Décommenter la ligne :
authoritative; - Ajouter le contenu ci-dessous en fin de fichier
- Éditer le fichier :
vi /etc/default/isc-dhcp-server- Modifier l'option INTERFACES comme suit :
INTERFACES=“wlan0”
Définition du PA dans le fichier /etc/dhcp/dhcpd.conf :
subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
Définir une adresse IP static à wlan0
- Arrêter wlan0 :
ifdown wlan0 - Éditer le fichier interfaces :
vi /etc/network/interfaces- Laisser la ligne :
allow-hotplug wlan0 - Commenter toutes les lignes correspondant à iface wlan0
- Ajouter les lignes ci-dessous
- Assigner une adresse IP static à wlan0 :
ifconfig wlan0 192.168.42.1
Contenu à ajouter à /etc/network/interfaces :
iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0
Configurer le Point d'Accès
- Création d'un point d'accès avec mot de passe :
- Éditer le fichier :
vi /etc/hostapd/hostapd.conf - Ajouter le contenu ci-dessous en remplaçant par des valeurs de votre choix : <nom-du-pilote>, <nom-du-ssid> et <mot-de-passe>
- Infos sur les paramètres
- hw_mode : a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g
- channel : canal de fréquence Wi-Fi (1-14)
- macaddr_acl : authentification basée sur l'adresse MAC : 0 = accepté sauf si dans liste des refus, 1 = refusé sauf si dans liste des acceptés, 2 = utilisation d'un serveur RADIUS
- Indiquer le fichier de config :
- Éditer le fichier :
vi /etc/default/hostapd- Remplacer la ligne
#DAEMON_CONF=“”parDAEMON_CONF=“/etc/hostapd/hostapd.conf”
Contenu du fichier /etc/hostapd/hostapd.conf :
interface=wlan0 driver=<nom-du-pilote> ssid=<nom-du-ssid> hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=<mot-de-passe> wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Configurer Network Address Translation
- Éditer le fichier :
vi /etc/sysctl.conf- Ajouter à la fin du fichier :
net.ipv4.ip_forward=1
- Lancer :
sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward” - Créer le transfert d'adresse entre eht0 et wlan0 :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEiptables -A FORWARD -i eth0 -o wlan0 -m state –state RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
- Vérifier les règles avec :
iptables -t nat -Siptables -S
- Pour enregistrer ces modifications et qu'elles soient prise en compte au redémarrage :
sh -c “iptables-save > /etc/iptables.ipv4.nat” - Editer :
vi /etc/network/interfaces- Ajouter à la fin du fichier :
iptables-restore < /etc/iptables.ipv4.nat
Finaliser
- Redémarrer le réseau :
ifup wlan0 - Rédémarrer les services :
systemctl restart hostapd isc-dhcp-server
Compiler hostapd
Si besoins, manip pour compiler Hostapd :
- Hostapd source : https://w1.fi/hostapd/
apt-get install libnl-dev libssl-devtar xzvf hostapd-2.5.tar.gzcd hostapd-2.5/hostapdcp defconfig .configvi .config: modifier les optionsmake
Commandes wifi utiles
- Voir la qualité du signal en continu :
wavemonwatch -n 1 cat /proc/net/wireless