Привет всем!
Собрал точку доступа wi-fi на основе
Ubuntu Server 9.04 /
hostapd 0.6.9. В качестве беспроводного адаптера использую D-Link
DWA-520 (802.11g, чипсет
Atheros AR5001X+), в будущем планирую перейти на DWA-547 (n
)).
Все работает, клиенты подключаются, но есть некоторые проблемы с обрывами соединения:
один клиент с D-Link DWA-110 и Windows 7 работает без проблем, скорость интернет не менее мегабита, соединение устойчивое.
Проблемы начинаются когда подключается клиент с адаптером Asus WL-169gE и Windows XP. Соединение обрывается каждые 10-15 секунд, опять устанавливается и так далее.. Если держать интерфейс под нагрузкой (ping) - соединение не разрывается. Нашел описание подобной проблемы на английском, правда там использовался адаптер на чипсете Ralink. Автор считает что проблема в специальных фреймах-маяках (beacons) и Windows XP:
http://lists.shmoo.com/pipermail/hostap/2008-July/018030.htmlСижу парюсь вторую неделю..
Собирал по следующей инструкции:
1. Устанавливаем Ubuntu Server.
2. Добавляем в /etc/network/interfaces:
auto eth0
iface eth0 inet dhcp
3. Обновляем базу данных пакетов, устанавливаем mc и библиотеку libssl-dev:
sudo -s -H
apt-get update
apt-get upgrade
apt-get install build-essential linux-headers-$(uname -r)
apt-get install mc
apt-get install libssl-dev
4. Компилируем пакет драйверов для беспроводных адаптеров compat-wireless:
wget compat-wireless-2.6.30.tar.bz2
tar -xjvf compat-wireless-2009-07-15.tar.bz2
cd compat-wireless-2009-07-15
make
make install
make unload
5. Устанавливаем пакет libnl-dev и компилируем hostapd:
apt-get install libnl-dev
wget http://hostap.epitest.fi/releases/hostapd-0.6.9.tar.gz
tar -xzvf hostapd-0.6.9.tar.gz
cd hostapd-0.6.9/hostapd
cp defconfig .config
Прежде чем компилировать hostapd нужно поправить hostapd-0.6.9/hostapd/.config:
# Driver interface for drivers using the nl80211 kernel interface
CONFIG_DRIVER_NL80211=y
# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be
# shipped with your distribution yet. If that is the case, you need to build
# newer libnl version and point the hostapd build to use it.
LIBNL=/usr/src
CFLAGS += -I$(LIBNL)/include
LIBS += -L$(LIBNL)/lib
Далее компилируем:
make
make install
Основной config для hostapd etc/hostapd/hostapd.conf:
interface=wlan0
driver=nl80211
ssid=pashatelecom
hw_mode=g
channel=1
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2 # WPA2-Personal/AES or WPA2-PSK/AES
wpa_passphrase=pashatelecom
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
eap_server=0
eapol_key_index_workaround=0
#ieee80211n=1
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
own_ip_addr=127.0.0.1
Добавляем в /etc/network/interfaces строки:
auto wlan0
iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
6. Теперь настраиваем bind9, iptables и dhcp3-server. Настраивал со стандартными параметрами.
7. Запускаем hostapd:
hostapd -B /etc/hostapd/hostapd.conf
Лог hostapd (/var/log/daemon.log):
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: authentication OK (open system)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 0 notification
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-AUTHENTICATE.indication(00:1e:8c:45:45:09, OPEN_SYSTEM)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-DELETEKEYS.request(00:1e:8c:45:45:09)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: authenticated
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: association OK (aid 1)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: associated (aid 1)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-ASSOCIATE.indication(00:1e:8c:45:45:09)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-DELETEKEYS.request(00:1e:8c:45:45:09)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 1 notification
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 4 notification
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: sending 1/4 msg of 4-Way Handshake
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: received EAPOL-Key frame (2/4 Pairwise)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: sending 3/4 msg of 4-Way Handshake
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: received EAPOL-Key frame (4/4 Pairwise)
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.1X: authorizing port
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 RADIUS: starting accounting session 4A656162-00000002
Jul 21 10:34:58 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: pairwise key handshake completed (RSN)
повторная авторизация..
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: authentication OK (open system)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 0 notification
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-AUTHENTICATE.indication(00:1e:8c:45:45:09, OPEN_SYSTEM)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-DELETEKEYS.request(00:1e:8c:45:45:09)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: authenticated
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: association OK (aid 1)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: associated (aid 1)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-ASSOCIATE.indication(00:1e:8c:45:45:09)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-DELETEKEYS.request(00:1e:8c:45:45:09)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 1 notification
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 4 notification
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: sending 1/4 msg of 4-Way Handshake
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: received EAPOL-Key frame (2/4 Pairwise)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: sending 3/4 msg of 4-Way Handshake
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: received EAPOL-Key frame (4/4 Pairwise)
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.1X: authorizing port
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 RADIUS: starting accounting session 4A656162-00000003
Jul 21 10:35:11 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: pairwise key handshake completed (RSN)
снова..
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: authentication OK (open system)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 0 notification
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-AUTHENTICATE.indication(00:1e:8c:45:45:09, OPEN_SYSTEM)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-DELETEKEYS.request(00:1e:8c:45:45:09)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: authenticated
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: association OK (aid 1)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.11: associated (aid 1)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-ASSOCIATE.indication(00:1e:8c:45:45:09)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 MLME: MLME-DELETEKEYS.request(00:1e:8c:45:45:09)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 1 notification
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: event 4 notification
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: sending 1/4 msg of 4-Way Handshake
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: received EAPOL-Key frame (2/4 Pairwise)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: sending 3/4 msg of 4-Way Handshake
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: received EAPOL-Key frame (4/4 Pairwise)
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 IEEE 802.1X: authorizing port
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 RADIUS: starting accounting session 4A656162-00000004
Jul 21 10:35:24 ubuntu hostapd: wlan0: STA 00:1e:8c:45:45:09 WPA: pairwise key handshake completed (RSN)