Установка hostapd из исходников


Если вас не устраивают существующие роутеры или точки доступа WiFi, остаётся только один выход — сделать самому. После того как вы собрали роутер с WiFi на базе персонального компьютера и установили систему, настроили сеть, необходимо установить и настроить беспроводную сеть WiFi. Для этого устанавливают пакет hostapd из репозиториев. Но часто бывает так, что находящийся в репозитории пакет не отвечает нашим требования, например, у него не включён режим IEEE 802.11ac или там старая версия hostapd. В этом случаем нам придёт самим установить из исходников hostapd. В нашем примере мы будем устанавливать hostapd на системе Centos 6. Для этого заходим на сайт https://w1.fi/hostapd/ и скачиваем исходники (в момент написания статьи последняя версия была 2.5)

#wget https://w1.fi/releases/hostapd-2.5.tar.gz

Распаковываем

#tar -zxvf hostapd-2.5.tar.gz

Входим в папку с исходниками

#cd hostapd-2.5/hostapd

В исходниках находится пример конфигурационного файла под названием defconfig, копируем его в .config

#cp defconfig .config

Открываем его редактором и настраиваем под наши нужды. В нашем случае нам необходимо включить поддержку IEEE 802.11ac

#nano .config

Приводим файл к следующему виду, сохраняем и выходим

CONFIG_DRIVER_HOSTAP=y
CONFIG_DRIVER_NL80211=y
CONFIG_LIBNL32=y
CONFIG_IAPP=y
CONFIG_RSN_PREAUTH=y
CONFIG_PEERKEY=y
CONFIG_IEEE80211W=y
CONFIG_EAP=y
CONFIG_ERP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_TLS=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_GTC=y
CONFIG_EAP_TTLS=y
CONFIG_PKCS12=y
CONFIG_IPV6=y
CONFIG_IEEE80211N=y
CONFIG_IEEE80211AC=y
CONFIG_ACS=y

Подробное описание каждой настройки .config

Переходим в режим суперпользователя и устанавливаем необходимые библиотеки, указанные в .config файле

#su
#yum install -y libnl3-devel

Устанавливаем компилятор, если он не установлен

#yum install -y gcc

Запускаем процесс компиляции

#make && make install

Если во время компиляции возникают ошибки, значит не хватает каких либо библиотек и значит вам нужно будет посмотреть отладку и установить недостающие библиотеки.
Так как компиляция производится в папку /usr/local/bin, в RedHat системах находятся программы в папке /usr/sbin, нам придётся скопировать туда установленный hostapd

#cp /usr/local/bin/hostapd /usr/sbin/hostapd

После этого запускаем hostapd

#service hostapd start

Проверить состояние службы можно с помощью

#service hostapd status

Если служба не запускается посмотреть отладку можно командой

 #hostapd -dd
или
#/usr/local/bin/hostapd -dd

Смотрим в чём ошибка и устраняем

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *