Wifi точка доступа из нетбука

В последние два дня проходил интересный квест. Задача: установить новую (2.1) прошивку на гуглофон (старая не поддерживает API для bluetooth, а в моей программе он необходим). Для этого, кроме всего прочего, нужно высокоскоростное подключение к Инету, чтобы, например, синхронизировать почту, контакты, календарь и т.п. с аккаунтом Google (GPRS/EDGE и денег сожрет немеряно, и отвалиться может на полпути). Подключить гуглофон к всемирной Сети можно через Wifi, который у меня присутствует только на нетбуке. Беспроводное устройство на нем простенькое (из серии Atheros AR500), режим Master, с помошью которого можно организовать точку доступа, не поддерживает. Гугление показало, что в таких случаях люди используют hostapd. При его установке и настройке встретились подводные камни, о которых стоит рассказать.


Скажу сразу, что есть альтернативный вариант организации точки доступа — с использованием пакета madwifi. Но он что-то не зафурычил и углубляться в эту тему я не стал. А с hostapd вот как обстоит дело.

1) Пройдя по указанной выше ссылке, скачайте исходники, распакуйте, как всегда, в /usr/src.

2) Заходим в каталог и с ужасом обнаруживаем, что там нет до боли родного ./configure. Там вообще какая-то странная структура каталогов. Оказывается, войти нужно в hostapd/, не обращая внимание на всё остальное.

3) О, здесь хотя бы Makefile есть. Но при запуске make вылезает какой-то странный месседж, в переводе с английского означающий, что конфигурационный файл нужно создать вручную из шаблона:

cp defconfig .config


4) А вот теперь внимание! В получившемся шаблоне нужно раскомментировать строку

CONFIG_DRIVER_NL80211=y

и больше ничего не трогать! И вот почему. Этот демон работает с библиотекой libnl. Узнав об этом, многие горячие головы кидаются скачивать ее, причем, берут, естественно, самую свежую версию. Интернет завален мольбами о помощи: «У меня не собирается hostapd с libnl». И бедолагам никто не отвечает. А почему? Да потому что читать нужно внимательнее, что в комментариях конфига написано:

# 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.

Ну, это я сейчас такой «умный», а сам, конечно же, угодил в эту западню и потратил много времени на борьбу с заботливо созданной самому себе проблемой. Так что не повторяйте чужих ошибок, качайте и собирайте устаревшую(1.1) версию libnl и тогда всё встанет на свои места.

4) Установив программное обеспечение, нужно его настроить. Это можно сделать и без моих подсказок, Гугль в помощь, материалов навалом. Настроечный файл /etc/hostapd/hostapd.conf достаточно велик, благодаря обширным комментариям, но и в Сети можно найти его версии, состоящие буквально из 10 строк.

5) Естественно, всё это хозяйство должно запускаться на компьютере, на котором настроен доступ в Интернет. Чтобы пробрасывать проводной Инет в беспроводной, нужно соорудить мост «анженерной работы»:

ifconfig eth0 down
brctl addbr br0
brctl addif br0 eth0
brctl setfd br0 0
ifconfig br0 xxx.xxx.xxx.xxx


В конфиге hostapd строчку, где упоминается мост (br0), нужно раскомментировать. После этого можно запускать демон в тестовом режиме, т.е. с выводом всех сообщений на экран:

hostapd -d /etc/hostapd/hostapd.conf

При этом гуглофон или другое оснащенное Wifi'ем устройство должно увидеть наконец-то самопальную wifi-сеть.

6) Клиент должен еще получить IP-адрес, сведения о маршрутизации и DNS. Поэтому запустить нужно еще и DHCP-демон с примерно таким конфигом:

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
 interface br0;
 range 192.168.0.11 192.168.0.250;
 option routers 192.168.0.1;
 option domain-name-servers ip.of.dns.server1, ip.of.dns.server2;
}


Ну, а уж с защитой сети, фильтрацией mac-адресов и т.п. можно и попозже разобраться Я эту сеть включеной круглосуточно держать не собираюсь. Мне бы гуглофон, наконец-то прошить…
  • +4
  • 14 января 2011, 23:24
  • yababay

Комментарии (3)

RSS свернуть / развернуть
+
0
Повезло тебе с wifi карточкой
моя нормально не работала в master mode
авторизация и фильтрация по mac адресам делается с помощью hostapd
avatar

Sergei_T

  • 15 января 2011, 08:58
+
0
Тупанул — по диагонали сначала прочитал
avatar

Sergei_T

  • 15 января 2011, 09:54
+
0
Блин… Теперь я последний камент не прочитал
avatar

yababay

  • 15 января 2011, 13:01

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.