Як змусити бездротову мережу працювати - WiFi

Щоб уникнути можливих порушень норм патентного законодавства aptosid LiveCD містить тільки DFSG-сумісне програмне забезпечення, прочитайте додаткову інформацію за джерелами для невільного ПЗ

Для роботи WiFi, вам знадобиться просте, провідне з'єднання з мережею, на кілька хвилин, щоб завантажити потрібні мікропрограми для WiFi карти.

Якщо провідне з'єднання не можливо, то доведеться завантажити необхідні пакети окремо, зберегти їх на зовнішній носій і пізніше встановити на комп'ютер за допомогою:

#dpkg -i <firmware.deb>

Щоб дізнатися яка мікропрограма Вам потрібна, скористайтеся командою:

#fw-detect

Вона видасть щось начебто таке:

#apt-get update
#apt-get install <name of firmware>
#modprobe -r <modulename>
#modprobe <modulename>

Скористайтеся цією підказкою, щоб дізнатись, які пакунки встановити. Після установки треба набрати ще кілька команд.

Завантажте модуль необхідний для роботи Вашої картки.

З правами root наберіть в консолі:

modprobe -r <modulename>

modprobe <modulename>

<modulename> - це ім'я модуля, яке Вам дав fw-detect. Програма Konsole має корисну функцію - автозавершення команд:
Якщо Ви напишіть кілька букв назви модуля і натисните клавішу TAB, він завершить команду за Вас. Це захистить Вас від помилки.

Якщо все пройшло вдало, то обидві команди modprobe повинні завершитися без повідомлень.

Ви можете перевірити, завантажився чи модуль:

#lsmod | grep <module>

Тепер запустіть Ceni з K-Menu - Internet або з консолі з правами root Getting Online - Ceni. Ваш пристрій має бути в списку и готовий до налаштування.

Для налаштування Wlan WiFi через графічний інтерфейс читайте WiFi - roaming WPA-GUI

Режими використання wpasupplicant для Debian

Щоб уникнути можливих порушень норм патентного законодавства aptosid Live-CD містить тільки DFSG-сумісне програмне забезпечення, Будь ласка звертайтеся за інформацією про використання не вільного програмного забезпечення для різних пристроїв за цим посиланням.

Пакет wpasupplicant в Debian надає два (2) режиму використання, які повністю інтегровані в системну мережеву інфраструктуру:ifupdown.

3абезпечення

1. Специфікація "backend"-ів для wpa_supplicant драйвера

* Таблиця підтримуваних драйверів
* Основні рекомендації по використанню драйвера

2. Режим #1: Керований (Managed Mode)

* Приклад
* Таблиця основних опцій
* Важливі зауваження пов'язані з режиму
* Як це працює

3. Режим #2: Роумінг (Roaming Mode)

* wpa_supplicant.conf
* /etc/network/interfaces
* Контроль роумінгу за допомогою wpa_action
* Тонка настройка роумінгу
* Файл журналу
* Використання зовнішніх mapping скриптів ()
* /etc/network/interfaces із зовнішнім mapping

4. Проблеми

* Прихований ssids

5. Міркування з безпеки

* Права доступу конфігураційного файлу

2. Режим #1: Managed Mode

Цей режим надає можливість встановлювати з'єднання за допомогою wpa_supplicant з однієї певної мережею. Це аналогічно роботі пакета wireless-tools. Кожен елемент встановлюється за допомогою wpa_supplicant з'єднання передує префіксом 'wpa-"і отримує значення, яке використовується для даного елемента.

Приклад режиму # 1 wpa.conf file - Приклад 1.
Приклад режиму # 1 wpa.conf file - Приклад 1.
Примітка: значення 'wpa-psk' правильно тільки при дотриманні наступних умов:

   1. Це ascii-рядок довжиною від 8 до 63 знаків
   2. Це шестнадцатірічное рядок з 64 елементів.

# Підключення до точки доступу ssid 'NETBEER' з типом шифрування
# WPA-PSK/WPA2-PSK. Мається на увазі використання 'wext' backend-а
# Wpa_supplicant, оскільки немає зазначених опцій wpa-driver.
# Пароль записується рядком ASCII. DHCP використовується для
# Отримання адресу.
#
iface wlan0 inet dhcp

        wpa-ssid NETBEER
        # Plaintext passphrase
        wpa-psk PlainTextSecret

# Підключення до точки доступу ssid 'homezone' з типом шифрування
# WPA-PSK/WPA2-PSK, використовуючи 'wext' backend wpa_supplicant.
# Рядок psk представлена ​​шістнадцятковій записом. DHCP використовується для
# Отримання адреси.
#
iface wlan0 inet dhcp
        wpa-driver wext
        wpa-ssid homezone
        # Hexadecimal psk is encoded from a plaintext passphrase
        wpa-psk 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f

# Підключення до точки доступу ssid 'HotSpot1' і bssid of '00: 1a: 2b: 3c: 4d: 5e '
# З типом шифрування WPA-PSK/WPA2-PSK, використовуючи backend 'madwifi'
# Wpa_supplicant. Пароль - простим текстом (ASCII).
# Використовується статичний мережеву адресу.
#
iface ath0 inet static

        wpa-driver madwifi
        wpa-ssid HotSpot1
        wpa-bssid 00:1 a: 2b: 3c: 4d: 5e
        # Plaintext passphrase
        wpa-psk madhotspot
        wpa-key-mgmt WPA-PSK
        wpa-pairwise TKIP CCMP
        wpa-group TKIP CCMP
        wpa-proto WPA RSN
        # Static ip settings
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

# Використання користувацького файлу wpa_supplicant.conf для eth1.
# Вся мережева інформація про користувача настройках зберігається в
# Wpa_supplicant.conf. Тип wpa-driver не вказано
#, Тому використовується 'wext'. Отримання адреси по DHCP.
#
iface eth1 inet dhcp

wpa-conf / path / to / wpa_supplicant.conf

Таблиця основних опцій

Огляд основних опцій 'wpa-', які можуть бути використані в розділі для бездротових пристроїв файлу / etc / network / interfaces. Дивіться 'Важливі зауваження про Managed Mode' розділ про допустимі і неправильних значеннях 'wpa-'.

Зауваження: всі значення чутливі до регістру

Значення Приклад значення Опис
======= ============= ===========
wpa-ssid plaintextstring встановлює ssid вашої мережі
wpa-bssid 00:1 a: 2b: 3c: 4d: 5e bssid вашого AP
wpa-psk 0123456789 ...... Ваш відкритий wpa ключ. використовуйте
                                         wpa_passphrase (8) для генерації psk
                                         зі значень пароля і ssid
wpa-key-mgmt NONE, WPA-PSK, WPA-EAP, лист прийнятих засвідчують ключів
                 IEEE8021X керовані протоколи
wpa-group CCMP, TKIP, WEP104, перелік допустимих типів group шифрування для WPA
                 WEP40
wpa-pairwise CCMP, TKIP, NONE Перелік допустимих типів pairwise шифрування для
                                         WPA
wpa-auth-alg OPEN, SHARED, LEAP перелік дозволених алгоритмів аутентифікації IEEE 802.11

wpa-proto WPA, RSN перелік допустимих протоколів
wpa-identity myplaintextname надане користувальницьке ім'я
                 (EAP аутентифікація)
wpa-password myplaintextpassword ваш пароль (EAP аутентифікація)
wpa-scan-ssid 0 or 1 включає сканування ssid із зазначеними
                                         Probe Request фреймами
wpa-ap-scan 0 or 1 or 2 встановлює логіку сканування
                                         wpa_supplicant

Функціональність wpa_cli (8) вимагає подальшої доробки. Все що пропущено на даний момент вважається містить ошібкі.Баг-репорти і патчі завжди вітаються!.

Важливі зауваження про Managed Mode

Для 'wpa-' опцій необхідно вказати хоча б значення ssid. Тільки деякі параметри мають глобальний ефект. Це: 'wpa-ap-scan' and 'wpa-preauthenticate'.

Будь 'wpa-' опція для конкретного пристрою у файлі interfaces (5) file is запуску wpa_supplicant демона.

Скрипт wpasupplicant ifupdown намагається визначити правильний тип введення даних для кожної опції. Так, якщо вводиться рядок простим текстом і полягає в лапки, введення перенапрвляется wpa_cli, який здійснює вставку до відповідного блоку network, сформований через wpa_supplicant ctrl_interface сокет.

Запуск ifup вручну з опцією '- verbose' покаже всі використовувані команди для створення блоку network wpa_cli. Якщо значення параметра будь wpa-* опції, використаної Вами у файлі / etc / network / interfaces, укладено в подвійні лапки. то воно буде сприйнято як "plaintext" or "ascii" тип введення.

Деякі типи значень увазі 16ті ковий введення (наприклад wpa-wep-key *). Значення 'type' опції wpa-psk, однак, визначається простою перевіркою на наявність більш ніж одного нешестнадцатірічного символу.

Як це працює

Як сказано раніше, кожен певний елемент wpa_supplicant передує префіксом 'wpa-'. Кожен елемент відповідає специфікації описаної в wpa_supplicant.conf (5), wpa_supplicant (8) і wpa_cli (8) man-сторінках.

Запуск здійснюється без будь-яких зумовлених значень, і wpa_cli мережеву конфігурацію безпосередньо з рядків вводу, що містять 'wpa-*'. Спочатку wpa_supplicant / wpa_cli не встановлює безпосередньо властивості пристроїв (як установка essid з iwconfig, наприклад), а вказує пристрою на точку доступу, асоціації з такої. Коли пристрій просканує діапазон і встановить доступність зазначеної точки, тоді будуть встановлені і зазначені раніше властивості.

Виконуючий всю роботу скрипт розташований:

/etc/wpa_supplicant/ifupdown.sh
/etc/wpa_supplicant/functions.sh

ifupdown.sh: Він викликається в фазах 'pre-up', 'pre-down' і 'post-down' ifupdown.

В 'pre-up' фазі, a wpa_supplicant запускається серією команд wpa_cli, які встановлюють мережеву конфігурацію відповідно до значень 'wpa-'опцій файлу / etc / network / interfaces для фізичного пристрою.

Якщо wpa-roam використовується, wpa_cli запускається у фазі post-up '.

У фазі 'pre-down'убівается вже існуюча копія процесу wpa-cli.

У фазі 'post-down' демон wpa_supplicant зупиняється.

3. Режим #2: Roaming Mode

Цим пакетом надано спрощений і ізольований механізм roaming. Він представлений у формі одного з скриптів wpa_cli - / sbin / wpa_action, і будучи активованим передбачає подальший контроль за допомогою ifupdown. Ман сторінка wpa_action (8) містить докладний опис технічних подробиць.

Для активації roaming-інтерфейсу адаптуйте наведений нижче фрагмент файлу interfaces (5):

iface eth1 inet manual
	wpa-driver wext
        wpa-roam /path/to/wpa_supplicant.conf

У даному прикладі стартують два демона: wpa_supplicant і wpa_cli. Що безумовно потребує спеціальної настройки wpa_supplicant.conf. Гарною відправною точкою можна вважати файл конфігурації поставляється разом з документацією:

 # copy the template to /etc/wpa_supplicant/
        cp /usr/share/doc/wpasupplicant/examples/wpa-roam.conf \
                /etc/wpa_supplicant/wpa_supplicant.conf
        # allow only root to read and write to file
        chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf

NOTE: it is critical that the used wpa_supplicant.conf defines the location of
      the 'ctrl_interface' so that a communication socket is created for the
      wpa_cli (wpa-roam daemon) to attach. The mentioned example configuration,
      /usr/share/doc/wpasupplicant/examples/wpa-roam.conf, has been set to a
      sane default.

Звичайно даний файл зажадає додаткового редагування відповідно Вашої мережевої конфігурації і включення блоків для всіх відомих мережевих адаптерів. Якщо все викладене залишається для Вас незрозумілим, вивчіть уважно ман сторінку wpa_supplicant.conf (5).

Для кожної мережі можливо вказати спеціальну опцію 'id_str' (проста текстова рядок). Текстові рядки-основа створюваних профілів мережі, так само вони корелюють з логічними інтерфейсами, зазначеними у файлі interfaces (5). Відсутність даної опції має на увазі, що логічний інтерфейс 'default' буде використаний як запасний. Вибрати цей інтефейс можливо за допомогою опції 'wpa-default-iface'.

Що ж все це означає? Продемонструємо з допомогою маленькогог приклади з ман сторінки wpa_action (8).

Приклад wpa_supplicant.conf
wpa_supplicant.conf example:
network={
        ssid="foo"
        key_mgmt=NONE
        # this id_str will notify /sbin/wpa_action to 'ifup uni'
        id_str="uni"
}

network={
        ssid="bar"
        psk=123456789...
        # this id_str will notify /sbin/wpa_action to 'ifup home_static'
        id_str="home_static"
}

network={
        ssid=""
        key_mgmt=NONE
        # no 'id_str' parameter is given, /sbin/wpa_action will 'ifup default'
}
/etc/network/interfaces example
/etc/network/interfaces example:
# the roaming interface MUST use the manual inet method
# 'allow-hotplug' or 'auto' ensures the daemon starts automatically
allow-hotplug eth1
iface eth1 inet manual

        wpa-driver wext
        wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf


# no id_str, 'default' is used as the fallback mapping target
iface default inet dhcp


# id_str="uni"
iface uni inet dhcp

# id_str="home_static"
iface home_static inet static

        address 192.168.0.20
        netmask 255.255.255.0
        network 192.168.0.0

        broadcast 192.168.0.255
        gateway 192.168.0.1

Логічний інтерфейс піднімається за допомогою ifup і зупиняється за допомогою ifdown також, як wpa_supplicant встановлює і розриває прив'язки до асоційованих з ним мережами за допомогою опції 'id_str', використовуваної в файлі конфігурації wpa_supplicant.conf.

Журнал подій / sbin / wpa_action створюється в / var / log / wpa_action.log, будь ласка приєднуйте його, коли повідомляєте про виниклі проблеми.

Управління wpa_supplicant через wpa_cli або wpa_gui

Процесом wpa_supplicant можуть управляти члени групи "netdev", якщо Ви не змінювали налаштувань (або будь-якою групою, яка вказана в GROUP = crtl_interface parameter).

# the default ctrl_interface option used in the example file
	# /usr/share/doc/wpasupplicant/examples/wpa-roam.conf
        ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

To interact with the supplicant, the wpa_cli (command line) and wpa_gui (QT)
have been provided. With these you may connect, disconnect, add/delete new
network blocks, provide required interactive security information and so on.

Roaming Daemon і wpa_action

Будучи запущеним roaming daemon, надалі контролюється за допомогою ifupdown. Таким чином: wpa_cli викликає ifup, коли wpa_supplicant успішно асоціюється з точкою доступу, і викликає ifdown, коли з'єднання втрачено або розірвано. Поки roaming daemon залишається активним, замість ifupdown використовуйте / sbin / wpa_action для його зупинки і перезавантаження. Наприклад, щоб зупинити romaing daemon на пристрої 'eth1':

wpa_action eth1 stop

Для внесення нових додаткових деталей конфігурації немає необхідності зупиняти roaming daemon. Відредагуйте wpa_supplicant.conf для внесення необхідних доповнень і, опціонально, / etc / network / interfaces для вказівки нової мережі (з позначкою 'id_str') і просто перезапустіть демона:

wpa_action eth1 reload

Повне технічний опис може бути знайдено в тексті ман сторінки wpa_action (8).

Тонка настройка Roaming Setup

Ви можете зіткнутися з ситуацією, коли кілька точок доступу знаходяться в безпосередній близькості. Ви можете вручну вказати одну з них-предпочтительную, використовуючи wpa_cli або wpa_gui, або ж ви можете виставити індивідуальні пріоритети для кожної з точек.Данную можливість надає опція 'priority' файлу wpa_supplicant.conf.

Файл журналу

Події roaming dameon заносяться в файл журналу / var / log / wpa_action.log. Реєструється наступна інформація:

*time and date
*interface name and action event
*values of enviromental variables (WPA_ID, WPA_ID_STR, WPA_CTRL_DIR)
*ifupdown command executed
*wpa_cli status (based on WPA-PSK, network may display different info)
*bssid
*ssid
*id
*id_str
*pairwise_cipher
*group_cipher
*key_mgmt
*wpa_state
*ip_address

Використання зовнішніх Mapping Scripts (такі як guessnet)

На додаток до можливості створення асоціацій з логічними інтерфейсами за допомогою опції 'id_str', wpa_action допускає використання зовнішніх mapping script-ів. Такий скрипт повертає ім'я того логічного інтерфейсу, який буде піднятий. Будь-які mapping script, які працюють з ifupdown (див. man interfaces), також будуть працювати, будучи викликаними з wpa_action.

Для використання додайте рядок 'wpa-mapping-script name-of-the-script' в розділ фізичного роумінгу пристроїв файлу interfaces. (Можна вказати абсолютний шлях до mapping script.)

Вміст рядка, що починається з wpa-map передається на введення mapping script. (кількість рядків, по одній для кожного wpa-mapX, необмежена). Наприклад:

iface wlan0 inet manual
        wpa-driver wext
        wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
        wpa-mapping-script guessnet-ifupdown
        wpa-map0 home
        wpa-map1 work
        wpa-map2 school
        # ... additional wpa-mapX lines as required

Пол замовчуванням mapping script використовується тільки якщо не вказана опція 'id_str'. Для повного відключення відповідностей, що задаються 'id_str' і використання тільки зовнішніх mapping script, вкажіть 'wpa-mapping-script-priority 1' для зміни поведінки, заданого за замовчуванням.

Якщо mapping script повертає порожній рядок, wpa_action буде використовувати 'default' інтерфейс, якщо тільки не вказана альтернатива опцією 'wpa-roam-default-iface'.

Нижче наведено приклад з використанням guessnet-ifupdown як зовнішнього mapping script.

Приклад / etc / network / interfaces із зовнішніх mapping
/etc/network/interfaces with external mapping example:
allow-hotplug wlan0
iface wlan0 inet manual

        wpa-driver wext
        wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
        wpa-roam-default-iface default-wparoam
        wpa-mapping-script guessnet-ifupdown
        wpa-map default: default-guessnet
        wpa-map0 home_static
        wpa-map1 work_static


# school can only be chosen via 'id_str' matching
iface school inet dhcp

        # resolvconf
        dns-nameservers 11.22.33.44 55.66.77.88

iface home_static inet static

        address 192.168.0.20
        netmask 255.255.255.0

        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        test peer address 192.168.0.1 mac 00:01:02:03:04:05


iface work_static inet static

        address 192.168.3.200
        netmask 255.255.255.0
        network 192.168.3.0
        broadcast 192.168.3.255

        gateway 192.168.3.1
        test peer address 192.168.3.1 mac 00:01:02:03:04:05

iface default-guessnet inet dhcp

iface default-wparoam inet dhcp

У прикладі wpa_action використовує guessnet для вибору відповідного логічного інтерфейсу тільки, якщо у файлі wpa_supplicant.conf. не використовується опція 'id_str' для поточного інтерфейсу

Рядок 'wpa-map' представляє guessnet з тестованим логічним інтерфейсом, а також інтерфейсом за замовчуванням для використання у випадку, коли всі тести закінчаться невдало. Рядок 'test' кожного логічного інтерфейсу використовується guessnet щоб визначити, чи дійсно ми підключені до цієї мережі. наприклад, guessnet вибирає логічний інтерфейс 'home_static', якщо в даній мережі присутній пристрій з IP адресою 192.168.0.1, MAC адресою 00:01:02:03:04:05. Ну у випадку невдачі всіх спроб тесту, буде налаштоване пристрій 'default-guessnet'.

Для більшої інформації зверніться до керівництва man guessnet (8).

4. Tруднощі

Для налагодження з'єднання, а також у разі проблем асоціації або аутентифікації, запустіть `wpa_cli-i <interface>` в окремому сеансі shell, до запуску самого інтерфейсу. Використовуйте спершу команду 'level 0' для отримання всієї налагоджувальної інформації. Потім `ifup - verbose <interface>` для отримання докладного висновку від скрипта, що стартує wpasupplicant.

Приховані ssids

Для довідки ознайомтесь з # 358137. З метою мати возможнеость асоціювати з прихованими ssids, спробуйте встановити опцію 'ap_scan = 1' в секції global, і 'scan_ssid = 1' у секції network block файлу wpa_supplicant.conf file. при використанні керованого режиму, вставте наступні рядки:

iface eth1 inet dhcp
wpa-conf managed
wpa-ap-scan 1
wpa-scan-ssid 1
# additional options for your setup

Відповідно до # 368770, асоціація може зажадати дуже багато часу пріподключеніі до мереж використовують WEP. У деяких випадках виставлення параметра 'ap_scan = 2' в конфігураційному файлі (або використання абзацу 'wpa-ap-scan 2', що еквівалентно) допомагає значно прискорити цей процес.

Будь ласка, зверніть увагу, що установка ap_scan на суму 2 також вимагає, щоб всі мережі мають повну безпеку для key_mgmt: попарних, групових, і прото зміннених мереж.

5. Зауваження щодо безпеки

Права доступу конфігураційного файлу

Є важливим забезпечити збереження PSK та іншої подібної інформації щодо приватного налаштування мережі, тому важливі конфігураційні файли, що містять такі дані повинні бути доступні тільки для читання їх власником.Hаприклад:

chmod 0600 /etc/network/interfaces
# substitute the path of your wpa_supplicant.conf file
chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf

За замовчуванням / etc / network / interfaces доступний для читання всім, і отже непроігоден для зберігання секретних ключів і паролів.

Cторінка останний раз переглянута 14/08/2010 0100 UTC