Программная WiFi точка доступа

    В данном посте постараюсь рассказать как быстро настроить wifi точку доступа на домашнем сервере при наличии беспроводной сетевой карты. Думаю сейчас wifi настолько распространен и зарекомендовал себя, что без его наличия уже и не удобно пользоваться какими либо девайсами. Сам пользуюсь ноутбуком и телефоном с wifi, поэтому жуть как не люблю провода.

   Начнем с железа. Домашний сервер работает на debian 6. Там все и будет настраиваться. В качестве wifi карты я использовал D-link DWL-G510. Карточка старая, но для простых нужд сгодится.

    Входим в терминал нашего сервера. Устанавливаем необходимые пакеты для организации точки доступа и работы с карточкой.

apt-get install hostapd iw wireless-tools

    Убеждаемся что наше wifi устройство опознано в системе:

lspci | grep Ethernet
# или
lspci | grep Wireless
# или для usb адаптера
lsusb | grep Wireless

    Вывод будет приблизительно такого вида:

server ~ # lspci | grep Ethernet
01:00.0 Ethernet controller: Atheros Communications Inc. AR2413 802.11bg NIC (rev 01)
01:02.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 8b)
01:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

    Нашлось три сетевые карты, одна из которых беспроводная, а именно Atheros Communications Inc. AR2413 802.11bg. Какое значение будет у Вас, зависит от вашего оборудования. Если оборудование определилось, то вероятнее всего в системе оно имеет идентификатор wlan0. Для работы в качестве точки доступа плату wifi нужно перевести в соответствующий режим, что и делаем:

iwconfig wlan0 mode Master

   Если у Вас не выдало ошибок, то все отлично. В моем случае это не сработало, пришлось удалять интерфейс, и создавать заново с заданным режимом:

iw dev wlan0 del
iw phy phy0 interface add wlan0 type __ap

    После произведенных действий смотрим, в каком режиме теперь работает наш адаптер

iwconfig wlan0
wlan0     IEEE 802.11bg  Mode:Master  Frequency:2.437 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr=2347 B   Fragment thr=2346 B
          Power Management:off

    Надпись Mode:Master указывает на работу нужного нам режима. Так же для информации можно посмотреть список всевозможных режимов работы и скоростных показателей нашей wifi платы:

iw list
Wiphy phy0
        Band 1:
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (disabled)
                        * 2472 MHz [13] (disabled)
                        * 2484 MHz [14] (disabled)
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps (short preamble supported)
                        * 5.5 Mbps (short preamble supported)
                        * 11.0 Mbps (short preamble supported)
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
        max # scan SSIDs: 4
        Fragmentation threshold: 2346
        RTS threshold: 2347
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * new_beacon
                 * new_station
                 * new_mpath
                 * set_mesh_params
                 * set_bss
                 * authenticate
                 * associate
                 * deauthenticate
                 * disassociate
                 * join_ibss
                 * set_wiphy_netns
                 * connect
                 * disconnect

    Делаем пред-настройки сетевых параметров точки доступа:

vi /etc/network/interfaces
auto wlan0 eth0 eth1
iface wlan0 inet manual

    Переходим собственно к самой програмной точки доступа. За её работу отвечает установленный демон hostapd. Изначально файла с настройка несуществует. Но его можно найти в папке с доками к демону. Извлекаем его от туда

zcat /usr/share/doc/hostapd/examples/hostapd.conf.gz > /etc/hostapd/hostapd.conf

    Проверяем что демон hostapd будет брать наш конфиг из нужного места. Смотрим, и редактируем файл

vi /etc/default/hostapd
# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information about alternative
# methods of managing hostapd.
#
# 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"

# Additional daemon options to be appended to hostapd command:-
#       -d   show more debug messages (-dd for even more)
#       -K   include key data in debug messages
#       -t   include timestamps in some debug messages
#
# Note that -B (daemon mode) and -P (pidfile) options are automatically
# configured by the init.d script and must not be added to DAEMON_OPTS.
#
#DAEMON_OPTS=""

    Собственно строка DAEMON_CONF указывает на файл с настройками.

    Hostapd можно настроить в различной конфигурации. Приведу наиболее простой пример без шифрования. Открываем файл конфига:

vi /etc/hostapd/hostapd.conf

    Вносим несколько изменений:

# обязательно указывваем тип интерфейса
# Driver interface type (hostap/wired/madwifi/prism54/test/none/nl80211/bsd);
# default: hostap). nl80211 is used with all Linux mac80211 drivers.
# Use driver=none if building hostapd as a standalone RADIUS server that does
# not control any wireless/wired driver.
driver=nl80211
# имя wifi сети
# SSID to be used in IEEE 802.11 management frames
ssid=HOME
# режим в котором будет работать wifi
# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
# Default: IEEE 802.11b
hw_mode=g
# номер беспроводного канала
# Channel number (IEEE 802.11)
# (default: 0, i.e., not set)
# Please note that some drivers (e.g., madwifi) do not use this value from
# hostapd and the channel will need to be configuration separately with
# iwconfig.
channel=6

    Проверить правильность настройки файла, можно запустив демон с параметром указывающим на этот файл.

hostapd /etc/hostapd/hostapd.conf

    Если ни каких ошибок не возникло, запускаем демон в нормальном режиме:

/etc/init.d/hostapd start

    Всё почти готово. Можете проверить что wifi точка доступа заработала любым устройством с наличием wifi. Ну и посмотреть содержимое вывода команд:

ifconfig
mon.wlan0 Link encap:UNSPEC  HWaddr 00-11-95-94-0E-EF-77-6C-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:168 (168.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:11:95:94:0e:ef
inet6 addr: fe80::211:95ff:fe94:eef/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:576 (576.0 B)
iwconfig
wlan0     IEEE 802.11bg  Mode:Master  Frequency:2.437 GHz  Tx-Power=20 dBm
Retry  long limit:7   RTS thr=2347 B   Fragment thr=2346 B
Power Management:off

mon.wlan0  IEEE 802.11bg  Mode:Monitor  Frequency:2.437 GHz  Tx-Power=20 dBm
Retry  long limit:7   RTS thr=2347 B   Fragment thr=2346 B
Power Management:off

    Как видите, появился второй интерфейс mon.wlan0. Все так и должно быть. Точка доступа работает. В заключении остатется сделать сетевые настройки интерфейса wlan0. Что проделывается как с любым другим сетевым интерфейсом. К примеру:

vi /etc/network/interfaces
auto wlan0
iface wlan0 inet static
address 172.16.1.1
network 172.16.1.0
netmask 255.255.255.0
broadcast 172.16.1.255

    Перезапускаем службу networking

service networking restart

    Все готово! Удачного коннекта Вам))

VN:F [1.9.22_1171]
Рейтинг: 9.0/10 (1 голос)
Программная WiFi точка доступа, 9.0 out of 10 based on 1 rating

Добавить комментарий

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