{{tag>netadmin sysadmin wifi wap wireless access point todo}}
====== Configurer un système Linux en point d'accès sans fil (WAP) ======
apt install hostapd bridge-utils wireless-tools
Créer le fichier de configuration **/etc/hostapd/hostapd.conf** à partir du fichier exemple ou ex-nihilo:
cp /usr/share/doc/hostapd/examples/hostapd.conf /etc/hostapd/hostapd.conf
Ci-dessous un exemple de fichier minimal:
interface=ap
driver=nl80211
country_code=FR
ssid=test
hw_mode=g
channel=1
wpa=2
ignore_broadcast_ssid=0
wpa_passphrase=Test1234
# Algorithmes de gestion des clés
wpa_key_mgmt=WPA-PSK
# Set cipher suites (encryption algorithms) ##
# TKIP = Temporal Key Integrity Protocol
# CCMP = AES in Counter mode with CBC-MAC
wpa_pairwise=TKIP
rsn_pairwise=CCMP
# Accepter toutes les MAC adresses
macaddr_acl=0
# Shared key authentification
auth_algs=1
Modifier le fichier ''/etc/default/hostapd'' définir la variable **DAEMON_CONF**
...
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example configuration
# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
DAEMON_CONF="/etc/hostapd/hostapd.conf"
...
Activer et démarrer le service
systemctl unmask hostapd.service
systemctl enable hostapd.service
# Afficher l'état du service
systemctl status hostapd.service
# Afficher les messages correspondant au service dans les journaux système
journalctl --unit hostapd.service
Tous les matériels ne supportent pas forcément le mode point d'accès (mode Master).
Dans l'exemple ci dessous la problématique s'est produite avec un adaptateur wifi USB **TP-Link TL-WN823N**, le journal système rapporte que le pilote de la carte ne supporte pas le passage en mode point d’accès ''"Could not configure driver mode"'':
déc. 23 13:31:06 nucleus hostapd[2280]: Configuration file: /etc/hostapd/hostapd.conf
déc. 23 13:31:06 nucleus hostapd[2280]: nl80211: Could not configure driver mode
déc. 23 13:31:06 nucleus hostapd[2280]: nl80211: deinit ifname=wap disabled_11b_rates=0
déc. 23 13:31:06 nucleus hostapd[2280]: nl80211 driver initialization failed.
déc. 23 13:31:06 nucleus hostapd[2280]: wap: interface state UNINITIALIZED->DISABLED
déc. 23 13:31:06 nucleus hostapd[2280]: wap: AP-DISABLED
déc. 23 13:31:06 nucleus hostapd[2280]: wap: CTRL-EVENT-TERMINATING
déc. 23 13:31:06 nucleus hostapd[2280]: hostapd_free_hapd_data: Interface wap wasn't started
===== Pont ou passerelle =====
Le mode pont est le plus simple à paramétrer. les paquets sont directement transmis entre les interfaces pontées.
Le mode passerelle réclame davantage de paramétrages mais permet d'isoler et de filtrer les paquets entre les interfaces.
===== Journalisation =====
Le fichier exemple ''/usr/share/doc/hostapd/examples/hostapd.conf'' contient la description de la configuration des logs:
# Module bitfield (ORed bitfield of modules that will be logged; -1 = all
# modules):
# bit 0 (1) = IEEE 802.11
# bit 1 (2) = IEEE 802.1X
# bit 0 (1) = IEEE 802.11
# bit 0 (1) = IEEE 802.11
# bit 1 (2) = IEEE 802.1X
# bit 2 (4) = RADIUS
# bit 3 (8) = WPA
# bit 2 (4) = RADIUS
# bit 3 (8) = WPA
# bit 3 (8) = WPA
# bit 1 (2) = IEEE 802.1X
# bit 2 (4) = RADIUS
# bit 3 (8) = WPA
# bit 4 (16) = driver interface
# bit 5 (32) = IAPP
# bit 6 (64) = MLME
#
# Levels (minimum value for logged events):
# 0 = verbose debugging
# 1 = debugging
# 2 = informational messages
# 3 = notification
# 4 = warning
#
logger_syslog=-1
logger_syslog_level=1
Ici **%%logger_syslog=-1%%** active les traces pour tous les modules et **%%logger_syslog_level=1%%** émet les traces des niveaux degug et supérieur.
Lorsque le filtrage par MAC est actif, seuls les périphériques autorisés produiront des traces.
Traces produites lors d'un échec à l'authentification:
déc. 31 12:28:26 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 IEEE 802.11: authenticated
déc. 31 12:28:26 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 IEEE 802.11: associated (aid 2)
déc. 31 12:28:35 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 IEEE 802.11: deauthenticated due to local deauth request
Traces produites lors d'une authentification réussie:
déc. 31 12:29:30 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 IEEE 802.11: authenticated
déc. 31 12:29:30 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 IEEE 802.11: associated (aid 2)
déc. 31 12:29:30 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 RADIUS: starting accounting session 185FD137F8256549
déc. 31 12:29:30 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 WPA: pairwise key handshake completed (RSN)
Traces produites lors d'une déconnexion:
déc. 31 12:34:21 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 IEEE 802.11: disassociated
déc. 31 12:34:22 nucleus hostapd[10035]: ap: STA 8c:b8:4a:66:57:32 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
===== Références =====
* https://wireless.wiki.kernel.org/en/users/Documentation/hostapd
* https://www.linux.com/training-tutorials/create-secure-linux-based-wireless-access-point/
* https://www.cyberciti.biz/faq/debian-ubuntu-linux-setting-wireless-access-point/