Création d'un AP avec hostapd

Bonjour,

Mon but est de créer un point d’accès wifi grâce à mon serveur qui se trouve sous Ubuntu (on se passera des critiques sur le choix de la distrib… c’est un très petit serveur) et avec Hostapd et une carte wifi à base du chip Atheros. Le système est composé de 2 cartes réseaux et 1 carte wifi. Sur eth0 je fais venir le net directement et la connexion est partagée sur le bridge qui contient eth1 et ath0. Le partage filaire fonctionne bien.

J’avais déjà réussi auparavant à monter l’AP mais j’ai malheuresement du réinstaller le serveur.

Dans l’état actuel des choses, la carte wifi est parfaitement installée avec les pilotes madwifi-ng (les madwifi old ne résolvent pas le problème). Un iwconfig nous donne :

ath0      IEEE 802.11b  ESSID:"MEYERHOME1"
          Mode:Master  Frequency:2.412 GHz  Access Point: 00:0E:2E:7A:7D:5F 
          Bit Rate:0 kb/s   Tx-Power:31 dBm   Sensitivity=0/3
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:D979-A497-CE79-0D2A-31EC-189A-6647-617B [2]   Security mode:open
          Power Management:off
          Link Quality=22/94  Signal level=-62 dBm  Noise level=-84 dBm
          Rx invalid nwid:1760  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

La carte est bien en mode master, bref tout à l’air de rouler.

Concernant hostapd je l’ai compilé avec les mêmes pilotes madwifi-ng (là aussi une compilation avec les madwifi old ne change rien).

Mon fichier de configuration hostapd :


#La carte Wifi, forcément indispensable :)
interface=ath0

#Si la carte est bridgée et utilise madwifi, il faut préciser le nom du bridge
bridge=bridge_local

# Le driver nécessité par la carte
driver=madwifi

#Options de log par défaut, elles sont très bien :)
logger_syslog=-1
logger_syslog_level=1
logger_stdout=-1
logger_stdout_level=2

debug=2

dump_file=/tmp/hostapd.dump

#Contrôle du programme, encore une fois, le réglage par défaut est nickel :)
ctrl_interface=/var/run/hostapd

ctrl_interface_group=0

#Le nom de votre réseau. C'est important. Choisissez un nom à peu près reconnaissable et pas trop long.
ssid=MEYERHOME1

#Comment gérer les adresses MAC (adresse Hardware des cartes réseaux)
# C'est une sécurité qui peut facilement être contournée, mais est
# néanmoins pratique, car elle est facile à mettre en place
# En effet, hostAPd va vérifier l'adresse MAC de la carte Wifi qui fait une
# demande d'accès et pourra alors, sur cette seule adresse, soit continuer le
# processus d'identification, soit s'arrêter et refuser la carte.
# Les paramètres possibles sont les suivants :
# 0 : Tout accepter à moins qu'elle ne soit dans la liste noire
# 1 : Tout refuser, à moins qu'elle ne soit dans la liste blanche
# 2 : Vérifier l'adresse auprès d'un serveur RADIUS (honnêtement, pour son réseau local, ça ne sert à rien)
# Le meilleur paramètre pour commencer est 1. Ça réduit de beaucoup les risques de piratage.
macaddr_acl=0

#Chemin des fichiers pour les listes noire et blanche
# Je vous conseille de les créer tout de suite, on verra plus tard pour les remplir correctement
#accept_mac_file=/etc/hostapd/hostapd.accept
#deny_mac_file=/etc/hostapd/hostapd.deny

# La description anglaise pour les curieux :)
auth_algs=1

#Celui là, je sais pas trop... Je crois qu'on peut l'enlever, mais bon je suis pas sûr, j'ai pas testé :)
eap_server=0

#Dis qu'on veut faire du WPA-PSK
wpa=1

# Votre clé, le coeur de la sécurité du WPA-PSK :)
wpa_passphrase=123456789

# Pour un petit peu plus de sécurité, vous pouvez attribuer une clé WPA par adresse MAC (donc par ordinateur).
#C'est quand même un peu plus embêtant à maintenir...
#wpa_psk_file=/etc/hostapd/wpa_psk

# On définit ce qu'on veut comme WPA
wpa_key_mgmt=WPA-PSK

# Et l'algo de cryptage
wpa_pairwise=TKIP

# Quelques options temporelles. Pas forcément nécessaire pour que ça marche :)
wpa_group_rekey=600

wpa_gmk_rekey=86400

Je m’apprête donc à jouir de ma réussite lorsque je lance hostapd (cela semble fonctionner). Le point d’accès est bien trouvé par mon PC sous XP qui s’y connecte sans difficultés, chouette ! Mais enfait, il s’y connecte mais après rien… Pas de connexion, rien du tout, aucun flux transite. Même les pings vers le serveur sont impossibles :frowning:


root@server:~# hostapd -dd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
ctrl_interface_group=0
Configure bridge bridge_local for EAPOL traffic.
madwifi_set_iface_flags: dev_up=0
Using interface ath0 with hwaddr 00:0e:2e:7a:7d:5f and ssid 'MEYERHOME1'
SSID - hexdump_ascii(len=10):
     4d 45 59 45 52 48 4f 4d 45 31                     MEYERHOME1
PSK (ASCII passphrase) - hexdump_ascii(len=9):
     31 32 33 34 35 36 37 38 39                        123456789
PSK (from passphrase) - hexdump(len=32): b2 88 48 36 d7 45 62 25 ea 5f 34 09 63 c4 a6 b6 84 b4 ec 2a b7 42 a5 85 95 f9 77 26 4e 2c 2a a2
madwifi_set_ieee8021x: enabled=1
madwifi_configure_wpa: group key cipher=1
madwifi_configure_wpa: pairwise key ciphers=0x2
madwifi_configure_wpa: key management algorithms=0x2
madwifi_configure_wpa: rsn capabilities=0x0
madwifi_configure_wpa: enable WPA= 0x1
madwifi_set_iface_flags: dev_up=1
WPA: group state machine entering state GTK_INIT
GMK - hexdump(len=32): [REMOVED]
GTK - hexdump(len=32): [REMOVED]

[...]
ath0: STA 00:18:e7:09:aa:9c WPA: sending 3/4 msg of 4-Way Handshake
WPA: Send EAPOL(secure=0 mic=1 ack=1 install=1 pairwise=1 ie_len=24 gtk_len=0 keyidx=0 encr=0)
TX EAPOL - hexdump(len=137): 00 18 e7 09 aa 9c 00 0e 2e 7a 7d 5f 88 8e 02 03 00 77 fe 01 c9 00 20 00 00 00 00 00 00 00 03 3e 8e b5 df 65 35 7e cc a8 6a e9 b7 d5 e3 fa b8 4a ba 62 18 cc d3 3f d7 35 f7 a0 44 c8 06 e4 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 69 75 67 e1 ce a4 05 d9 d5 93 69 33 d7 25 72 00 18 dd 16 00 50 f2 01 01 00 00 50 f2 02 01 00 00 50 f2 02 01 00 00 50 f2 02
IEEE 802.1X: 99 bytes from 00:18:e7:09:aa:9c
   IEEE 802.1X: version=1 type=3 length=95
ath0: STA 00:18:e7:09:aa:9c WPA: received EAPOL-Key frame (4/4 Pairwise)
WPA: 00:18:e7:09:aa:9c WPA_PTK entering state PTKINITDONE
madwifi_set_key: alg=TKIP addr=00:18:e7:09:aa:9c key_idx=0
ath0: STA 00:18:e7:09:aa:9c IEEE 802.1X: authorizing port
madwifi_set_sta_authorized: addr=00:18:e7:09:aa:9c authorized=1
madwifi_sta_clear_stats: addr=00:18:e7:09:aa:9c
ath0: STA 00:18:e7:09:aa:9c WPA: pairwise key handshake completed (WPA)
WPA: 00:18:e7:09:aa:9c WPA_PTK_GROUP entering state REKEYNEGOTIATING
madwifi_get_seqnum: addr=00:00:00:00:00:00 idx=1
ath0: STA 00:18:e7:09:aa:9c WPA: sending 1/2 msg of Group Key Handshake
WPA: Send EAPOL(secure=1 mic=1 ack=1 install=0 pairwise=0 ie_len=0 gtk_len=32 keyidx=1 encr=1)
Plaintext EAPOL-Key Key Data - hexdump(len=32): [REMOVED]
TX EAPOL - hexdump(len=145): 00 18 e7 09 aa 9c 00 0e 2e 7a 7d 5f 88 8e 02 03 00 7f fe 03 91 00 20 00 00 00 00 00 00 00 04 3e 8e b5 df 65 35 7e cc a8 6a e9 b7 d5 e3 fa b8 4a ba 62 18 cc d3 3f d7 35 f7 a0 44 c8 06 e3 fe 4a ba 62 18 cc d3 3f d7 35 f7 a0 44 c8 06 e4 02 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6b 4f 3e 8d dd 78 3e 7b 0f e1 3c 58 7b 77 0a 3e 00 20 6c 7a 47 80 a1 16 39 c4 22 36 6c 55 b4 fb e8 c9 7a e9 ba 10 d2 26 8b 0a 7c 18 b5 1a 7b fb 9d 11
IEEE 802.1X: 99 bytes from 00:18:e7:09:aa:9c
   IEEE 802.1X: version=1 type=3 length=95
ath0: STA 00:18:e7:09:aa:9c WPA: received EAPOL-Key frame (2/2 Group)
WPA: 00:18:e7:09:aa:9c WPA_PTK_GROUP entering state REKEYESTABLISHED
ath0: STA 00:18:e7:09:aa:9c WPA: group key handshake completed (WPA)
WPA: 00:18:e7:09:aa:9c WPA_PTK_GROUP entering state IDLE
IEEE 802.1X: 5 bytes from 00:18:e7:09:aa:9c
   IEEE 802.1X: version=1 type=1 length=0
   ignoring 1 extra octets after IEEE 802.1X packet

Les 3 dernières lignes sont peut être suspectes non ? Enfin bon je comprend pas grand chose :s
Cela fait 3 jours que je cherche desespèrement la source du problème et je vous serai très reconnaissant si vous pouviez jeter un petit oeil à mon problème.

Merci beaucoup !

Même problème.
De plus le dhcp n’attribue pas d’adresse au client qui s’y connecte.

Le problème venait du bridge.
Il faut y renseigner les interfaces réseau par ordre croissant d’adresse MAC.
Ce que je n’avais pas fait au début.

Tout marche pour moi.