Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| hostapd [Le 19/08/2011, 10:31] – [Exemple de script] dhcpd v4 Nexus6 | hostapd [Le 04/08/2025, 19:15] (Version actuelle) – Message qui n'a rien à faire ici.. Nexus6 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>wi-fi réseau}} | + | {{tag>wifi réseau}} |
| ---- | ---- | ||
| ====== HostAP daemon ====== | ====== HostAP daemon ====== | ||
| Ligne 26: | Ligne 26: | ||
| [...] | [...] | ||
| </ | </ | ||
| + | |||
| ===== Installation, | ===== Installation, | ||
| + | Installation depuis dépots officiel | ||
| - | Installation du daemon : | + | <code>sudo apt-get -y install |
| - | [[: | + | |
| - | Le fichier de configuration **/ | + | Le fichier de configuration **/ |
| La configuration minimale (Wi-Fi ouvert/ | La configuration minimale (Wi-Fi ouvert/ | ||
| Ligne 94: | Ligne 95: | ||
| wpa_passphrase=passphrase | wpa_passphrase=passphrase | ||
| wpa_key_mgmt=WPA-PSK | wpa_key_mgmt=WPA-PSK | ||
| - | wpa_pairwise=TKIP CCMP | + | wpa_pairwise=CCMP |
| rsn_pairwise=CCMP | rsn_pairwise=CCMP | ||
| </ | </ | ||
| Ligne 125: | Ligne 126: | ||
| Lancement de hostapd : | Lancement de hostapd : | ||
| < | < | ||
| - | hostapd / | + | hostapd / |
| + | </ | ||
| + | ==== Configuration d'un point d' | ||
| + | |||
| + | L' | ||
| + | |||
| + | Tableau montrant l' | ||
| + | ^Bande passante ^ ^HT 20MHz ^HT 40MHz^ ^ | ||
| + | |**Nombre de Flux** |800 ns Gi |400 ns Gi |800 ns Gi |400 ns Gi| | ||
| + | |1 flux |65 Mbps |75 Mbps |135 Mbps |150 Mbps| | ||
| + | |2 flux |130 Mbps |150 Mbps |270 Mbps |300 Mbps| | ||
| + | |3 flux |195 Mbps |225 Mbps |405 Mbps |450 Mbps| | ||
| + | |4 flux |260 Mbps |290 Mbps |540 Mbps |600 Mbps| | ||
| + | |||
| + | Tableau des canaux dans le mode HT40 inférieur/ | ||
| + | ^fréquences ^ HT40- ^ HT40+ ^ | ||
| + | |2.4 GHz |5-13 |1-7 (1-9 en Europe/ | ||
| + | |5 GHz |40, | ||
| + | |||
| + | Les règles sont les suivantes : vous ne devez pas paramètrer les canaux 1,2,3 ou 4 dans le mode HT40 inférieur, et vous ne devez pas paramétrer les canaux 10,11,12 ou 13 dans le mode HT 40 supérieur. Les canaux 5,6 ou 7 marcheront donc dans les deux modes HT40 -/+. | ||
| + | |||
| + | |||
| + | Petit rappel du mode standard IEEE 802.11g, entre 2,4GHz et 2,5GHz il y a 100Mhz et il y a 14 canaux de 20MHz espacés de 5MHz seulement, et se chevauchant obligatoirement dans cette espace de la bande. En mode 802.11n la bande passant additionné de 2 canaux couvre 40MHz, chevauchant par conséquent beaucoup plus de canaux entre 2,4GHz et 2,5GHz. | ||
| + | |||
| + | Paramètrage Wi-Fi N en mode IEEE 802.11g (2,4GHz) et channel : | ||
| + | < | ||
| + | # mode Wi-Fi | ||
| + | hw_mode=g | ||
| + | channel=6 | ||
| + | </ | ||
| + | |||
| + | Paramètrage Wi-Fi N en mode IEEE 802.11a (5GHz) et channel : | ||
| + | < | ||
| + | # mode Wi-Fi | ||
| + | hw_mode=a | ||
| + | channel=36 | ||
| + | </ | ||
| + | |||
| + | Hostapd implémente des règles très strictes en 802.11n en particulier IEEE_802.11n Draft 7.0 section 11.14.3.2. Au démarrage hostap scannera donc les APs HT20/40 actifs dans son environnement présent, et déterminera si votre fréquence primaire est en adéquation avec la fréquences secondaire conséquente du choix canal inférieur/ | ||
| + | |||
| + | Ce patch est fonctionnel pour activer le mode 40MHz dans un environnement non contrôlé et perturbé, fichier IEEE_802.11n_D7.0_11.14.3.2.patch : | ||
| + | <code c> | ||
| + | hostapd-0.7.3/ | ||
| + | --- ../ | ||
| + | +++ ../ | ||
| + | @@ -378,8 +378,17 @@ | ||
| + | sec = pri + 20; | ||
| + | } | ||
| + | |||
| + | - if ((pri < affected_start || pri > affected_end) | ||
| + | - (sec < affected_start || sec > affected_end)) | ||
| + | + | ||
| + | + " | ||
| + | + | ||
| + | + pri, sec, pri_chan, | ||
| + | + sec > pri ? ' | ||
| + | + | ||
| + | + | ||
| + | + if ( ((pri < affected_start || pri > affected_end) && | ||
| + | + (sec < affected_start || sec > affected_end)) || | ||
| + | + ((pri > affected_start && sec > affected_end) || // | ||
| + | + (pri < affected_start && sec < affected_end)) ) // and reverse | ||
| + | continue; /* not within affected channel range */ | ||
| + | |||
| + | wpa_printf(MSG_DEBUG, | ||
| + | @@ -451,7 +460,14 @@ | ||
| + | iface-> | ||
| + | iface-> | ||
| + | } | ||
| + | - | ||
| + | + else wpa_printf(MSG_INFO, | ||
| + | + " | ||
| + | + iface-> | ||
| + | + iface-> | ||
| + | + iface-> | ||
| + | + iface-> | ||
| + | + iface-> | ||
| + | + iface-> | ||
| + | hostapd_setup_interface_complete(iface, | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Exemple de configuration WI-FI 802.11n : | ||
| + | < | ||
| + | ieee80211n=1 | ||
| + | ht_capab=[HT40+][SHORT-GI-40][RX-STBC1][DSSS_CCK-40][MAX-AMSDU-3839] | ||
| + | </ | ||
| + | |||
| + | Ici nous utilisons les modes HT20/HT40 supérieur, avec un intervalle de garde court en 40 MHz, avec 1 seul flux spatial, avec prise en charge du DSSS/CCK Mode en 40 MHz, avec un AMSDU de longueur maximum à 3839 bytes (par défaut). Canal 6 avec cryptage WPA2-PSK-CCMP configuré plus haut dans la config de hostapd. | ||
| + | |||
| + | Utilisez la commande "iw list" pour déterminer les capacités de votre adaptateur en Wi-Fi 802.11n : | ||
| + | < | ||
| + | # iw list | ||
| + | Wiphy phy1 | ||
| + | Band 1: | ||
| + | Capabilities: | ||
| + | HT20/HT40 | ||
| + | SM Power Save disabled | ||
| + | RX HT40 SGI | ||
| + | RX STBC 1-stream | ||
| + | Max AMSDU length: 3839 bytes | ||
| + | DSSS/CCK HT40 | ||
| + | Maximum RX AMPDU length 65535 bytes (exponent: 0x003) | ||
| + | Minimum RX AMPDU time spacing: 8 usec (0x06) | ||
| + | HT TX/RX MCS rate indexes supported: 0-15 | ||
| + | [...] | ||
| + | </ | ||
| + | |||
| + | Attention aux messages d' | ||
| + | * Driver does not support configured HT capability [SHORT-GI-20] | ||
| + | * Driver does not support configured HT capability [DSSS_CCK-40] | ||
| + | * Driver does not support configured HT capability [RX-STBC*] | ||
| + | * HT (IEEE 802.11n) with WPA/WPA2 requires CCMP to be enabled | ||
| + | |||
| + | |||
| + | N' | ||
| + | |||
| + | Lancement de hostapd en Wi-Fi N avec son fichier de configuration : | ||
| + | < | ||
| + | hostapd / | ||
| </ | </ | ||
| ===== Création d'un point d' | ===== Création d'un point d' | ||
| - | Cette exemple vous permettra de créer un point d' | + | Cet exemple vous permettra de créer un point d' |
| {{: | {{: | ||
| Ligne 183: | Ligne 303: | ||
| </ | </ | ||
| - | Lancement de dhcpd-server : | + | Lancement de dhcpd-server : |
| < | < | ||
| sudo dhcpd -d -f -pf / | sudo dhcpd -d -f -pf / | ||
| Ligne 190: | Ligne 310: | ||
| ==== Configuration Dnsmasq Serveur ==== | ==== Configuration Dnsmasq Serveur ==== | ||
| - | Notre sous-réseau étant créé, il ne reste plus qu'à configurer un serveur de cache DNS sur notre interface, qui transformera toute demande d'un domaine en adresse Ip. | + | Notre sous-réseau étant créé, il ne reste plus qu'à configurer un serveur de cache DNS sur notre interface, qui transformera toute demande d'un domaine en adresse Ip. |
| Attention notre DNS ne fait que lire le fichier '/ | Attention notre DNS ne fait que lire le fichier '/ | ||
| Ligne 207: | Ligne 327: | ||
| Bien que dnsmasq puisse distribuer des adresses IP d'un sous-réseau, | Bien que dnsmasq puisse distribuer des adresses IP d'un sous-réseau, | ||
| - | Lancement de dnsmasq : | + | Lancement de dnsmasq : |
| < | < | ||
| Ligne 215: | Ligne 335: | ||
| ==== Configuration de IP forwarding ==== | ==== Configuration de IP forwarding ==== | ||
| - | Notre interface wlan nouvellement créée a besoin de communiquer avec notre seconde interface ayant Internet, nous devons configurer l'IP forwarding. | + | Notre interface wlan nouvellement créée a besoin de communiquer avec notre seconde interface ayant Internet, nous devons configurer l'IP forwarding. |
| Activez la prise en charge de l'IP forwarding, pour faire suivre les paquets d'une interface à l' | Activez la prise en charge de l'IP forwarding, pour faire suivre les paquets d'une interface à l' | ||
| Ligne 233: | Ligne 353: | ||
| ==== Configuration de la Mascarade & du Firewall ==== | ==== Configuration de la Mascarade & du Firewall ==== | ||
| - | Notre sous-réseau 192.168.0.0/ | + | Notre sous-réseau 192.168.0.0/ |
| Pour traduire des adresses entre deux interfaces nous devons activer le masquerading (NAT/ | Pour traduire des adresses entre deux interfaces nous devons activer le masquerading (NAT/ | ||
| Ligne 254: | Ligne 374: | ||
| < | < | ||
| - | === Configuration du Firewall avec Ufw === | + | === Configuration du Firewall avec Ufw === |
| - | + | ||
| + | En premier lieux, il faut changer la règle par défaut du transfert de paquets d'une interface à l' | ||
| + | Editer le fichier / | ||
| + | < | ||
| Editer le fichier / | Editer le fichier / | ||
| < | < | ||
| Ligne 263: | Ligne 387: | ||
| Éditer le fichier / | Éditer le fichier / | ||
| | | ||
| - | Juste après l' | + | Juste après l' |
| < | < | ||
| # nat Table rules | # nat Table rules | ||
| Ligne 276: | Ligne 400: | ||
| </ | </ | ||
| - | Dans la section *filter ajoutez : | + | Dans la section *filter ajoutez : |
| < | < | ||
| -A ufw-before-forward -m state --state RELATED, | -A ufw-before-forward -m state --state RELATED, | ||
| Ligne 296: | Ligne 420: | ||
| Fichier bash wifi_ap.sh | Fichier bash wifi_ap.sh | ||
| - | < | + | < |
| #!/bin/bash | #!/bin/bash | ||
| Ligne 454: | Ligne 578: | ||
| ./ | ./ | ||
| </ | </ | ||
| + | |||
| + | Si pendant l’exécution du script précédent vous obtenez l' | ||
| + | ", exécuter ou rajouter la commande suivante en début de script : | ||
| + | < | ||
| == Monitoring AP == | == Monitoring AP == | ||
| - | L' | + | L' |
| < | < | ||
| watch -d -n 3 "iw dev wlan0 station dump; iwconfig wlan0; iwconfig mon.wlan0; iw dev wlan6 station dump; iwconfig wlan6;cat / | watch -d -n 3 "iw dev wlan0 station dump; iwconfig wlan0; iwconfig mon.wlan0; iw dev wlan6 station dump; iwconfig wlan6;cat / | ||
| Ligne 468: | Ligne 596: | ||
| * http:// | * http:// | ||
| * http:// | * http:// | ||
| - | * http:// | + | * https:// |
| + | * http:// | ||
| + | | ||
| ---- | ---- | ||
| // | // | ||
| - | |||
