|
1.
Введение
В настоящее время поддерживается подключение к беспроводной сети с помощью
wireless-tools или wpa_supplicant. Важно помнить, что подключение к
беспроводным сетям настраивается глобально, а не для определённого интерфейса.
wpa_supplicant — лучший выбор, но он поддерживает не все драйверы.
Список поддерживаемых драйверов находится на сайте
wpa_suppliant. Кроме того, сейчас wpa_supplicant может подключаться
только к тем сетям, на SSID которых настроен.
wireless-tools поддерживает практически все платы и драйверы, но не способен
подключаться к точкам доступа, работающим исключительно с WPA.
Предупреждение:
Драйвер linux-wlan-ng в данный момент не поддерживается в baselayout. Это
из-за того, что в linux-wlan-ng своя собственная программа установки и
настройки, которая ни на что не похожа. Разработчики linux-wlan-ng, по слухам,
собираются перейти на установку как в wireless-tools; когда это произойдет, вы
сможете использовать linux-wlan-ng с baselayout.
|
1.
Запросчик WPA
Запросчик WPA (WPA
Supplicant) — пакет, позволяющий подсоединяться к точкам доступа с
протоколом WPA. Его настройка проходит достаточно гладко, и пакет работает
достаточно стабильно, хотя находится на стадии бета-тестирования.
Листинг 1.1: Установка wpa_supplicant |
# emerge net-wireless/wpa_supplicant
|
Важно:
Для работы wpa_supplicant в ядре должен быть включен параметр
CONFIG_PACKET.
|
Теперь нам необходимо настроить /etc/conf.d/net для предпочтения
wpa_supplicant по отношению к wireless-tools (по умолчанию, если
обе программы установлены, работает wireless-tools).
Листинг 1.1: Настройка /etc/conf.d/net для wpa_supplicant |
modules=( "wpa_supplicant" )
wpa_supplicant_eth0="-Dбезумный-wifi"
|
Примечание:
Если вы используете драйвер host-ap, то вам потребуется перевести плату
в ведомый режим (managed mode), прежде чем она сможет правильно
работать с wpa_supplicant. Для этого можно указать
iwconfig_eth0="mode managed" в /etc/conf.d/net.
|
Это довольно просто, не так ли? Однако, нужно настроить саму программу
wpa_supplicant, что значительно сложнее. Сложность зависит от степени
защиты точек доступа, к которым вы собираетесь подключаться. Следующий
упрощенный пример взят из /etc/wpa_supplicant.conf.example,
поставляемого в составе wpa_supplicant.
Листинг 1.1: Пример /etc/wpa_supplicant.conf |
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ssid="просто"
psk="очень тайный пароль"
priority=5
}
network={
ssid="второй ssid"
scan_ssid=1
psk="очень тайный пароль"
priority=2
}
network={
ssid="пример"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
priority=2
}
network={
ssid="тест-открытого-текста"
key_mgmt=NONE
}
network={
ssid="тест-статического-wep"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
}
network={
ssid="тест2-статического-wep"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
auth_alg=SHARED
}
network={
ssid="тест adhoc"
mode=1
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE
group=TKIP
psk="тайный пароль"
}
|
1.
Утилиты Wireless tools
Начальная установка и режим ведомого
Wireless Tools обеспечивают общий способ настройки базовых беспроводных
интерфейсов, вплоть до защиты WEP. Хотя WEP является слабым методом защиты, он
наиболее распространен.
Для настройки Wireless Tools служат несколько основных переменных.
В примере файла настроек, приведенном ниже, описано все, что вам потребуется.
Нужно помнить, что отсутствие настройки означает «подключаться к
нешифрующей точке доступа с самым сильным сигналом». Программа будет
всегда пытаться подключить вас к чему-нибудь.
Листинг 1.1: Установка wireless-tools |
# emerge net-wireless/wireless-tools
|
Примечание:
Хотя вы можете хранить свои параметры настройки беспроводной сети в
/etc/conf.d/wireless, это руководство рекомендует хранить
их в /etc/conf.d/net.
|
Важно:
Вам понадобится обратиться к документации по (именам переменных).
|
Листинг 1.1: Пример настройки iwconfig /etc/conf.d/net |
modules=( "iwconfig" )
key_ESSID1="[1] s:ваш-ключ-здесь key [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"
#
preferred_aps=( "ESSID1" "ESSID2" )
|
Настройка порядка выбора точки доступа
Можно указать несколько дополнительных параметров для уточнения порядка
выбора точки доступа, но обычно этого не требуется.
Вам решать, подключаться ли только к указанным точкам доступа, или нет.
По умолчанию, если подключение ко всем настроенным точкам доступа не удалось,
и есть возможность подключиться к нешифрующей точке доступа, такое соединение
произойдет. Этот порядок зависит от переменной associate_order. Ниже
приводится таблица значений и с описанием их действия.
| Значение |
Описание |
| any |
поведение по умолчанию |
| preferredonly |
соединяться только с видимыми точками доступа из списка |
| forcepreferred |
принудительно подключаться к точкам доступа в заданной
последовательности, если они не обнаружены при сканировании
|
| forcepreferredonly |
не сканировать точки доступа, просто пытаться подключиться к каждой по
списку
|
| forceany |
так же, как в forcepreferred + подключаться к любой доступной точке
доступа
|
Наконец, мы можем указать blacklist_aps и unique_ap.
blacklist_aps работает подобно preferred_aps. unique_ap
устанавливается в yes или no, указывая, можно ли подключать
второй беспроводной интерфейс к той же точке доступа, что и первый.
Листинг 1.1: Пример blacklist_aps и unique_ap |
blacklist_aps=( "ESSID3" "ESSID4" )
unique_ap="yes"
|
Режим отдельного и ведущего узла
Если вы хотите становиться отдельным узлом (ad hoc), когда не удается
подключиться ни к какой точке доступа в ведомом режиме, это тоже возможно.
Листинг 1.1: Откат к режиму отдельного узла |
adhoc_essid_eth0="Этот отдельный узел"
|
Как насчет подключения к сетям Ad-Hoc или запуска в режиме ведущего (master),
чтобы стать точкой доступа? Есть конфигурация и для такой работы! Вам может
потребоваться определить WEP-ключи, как показано выше.
Листинг 1.1: Пример настройки ad-hoc/master |
mode_eth0="ad-hoc"
essid_eth0="Этот отдельный узел"
channel_eth0="9"
|
Важно:
Следующий текст взят дословно из документации BSD wavelan, входящей в
документацию NetBSD. «Существуют 14 каналов. Нам сообщили, что
использование каналов с 1 по 11 является законным в Северной Америке, каналов с
1 по 13 — в большинстве стран Европы, каналов с 10 по 13 — во
Франции, и только канала 14 — в Японии. Если у вас есть сомнения,
обратитесь к документации от вашей платы или точки доступа. Убедитесь что
выбранный канал совпадает с каналом точки доступа (или другой платы в сети
ad-hoc). По умолчанию на платах, продаваемых в Северной Америке и большинстве
стран Европы, настроен канал 3; на платах, продаваемых во Франции — канал
11; на платах, продаваемых в Японии — канал 14.»
|
Устранение неполадок в wireless tools
Существуют дополнительные переменные, которые можно использовать для
запуска своего беспроводного оборудования и устранения неполадок, возникших
из-за драйвера или проблем с сетевым окружением. Ниже приведена таблица прочих
функций, которые можно перепробовать.
| Переменная |
Значение по умолчанию |
Описание |
| iwconfig_eth0 |
|
За подробными сведениями о параметрах iwconfig обращайтесь к
странице справки iwconfig.
|
| iwpriv_eth0 |
|
За подробными сведениями о параметрах iwpriv обращайтесь к
странице справки iwpriv
|
| sleep_scan_eth0 |
0 |
Время задержки в секундах перед попыткой сканирования. Требуется, когда
драйверу или прошивке нужно дополнительное время для перехода в рабочий
режим.
|
| sleep_associate_eth0 |
5 |
Время ожидания связи интерфейса с точкой доступа (в секундах) перед
переходом к опросу следующей.
|
| associate_test_eth0 |
MAC |
Некоторые драйверы не сбрасывают MAC-адрес, связанный с недоступной точкой
доступа, при потере или попытки связи. Некоторые драйверы не сбрасывают
значение качества сигнала при потере или попытке соединения. Допустимые
значения: MAC, quality и all.
|
| scan_mode_eth0 |
|
Некоторым драйверам необходимо сканировать в режиме ad-hoc. Если
сканирование не удается, попробуйте указать здесь ad-hoc.
|
| iwpriv_scan_pre_eth0 |
|
Посылать интерфейсу некоторые команды iwpriv перед сканированием.
За дополнительными сведениями обращайтесь к странице справки iwpriv.
|
| iwpriv_scan_post_eth0 |
|
Посылать интерфейсу некоторые команды iwpriv после сканирования.
За дополнительными сведениями обращайтесь к странице справки iwpriv.
|
1.
Раздельная настройка сети по ESSID
Иногда необходим статический IP при соединении с ESSID1, и DHCP при
соединении с ESSID2. На деле, большинство переменных модуля можно
определять раздельно по ESSID. Вот как это сделать:
Примечание:
Это работает при использовании WPA Supplicant или Wireless Tools.
|
Важно:
Вам потребуется свериться с документацией по
(именам переменных).
|
Листинг 1.1: Назначение сетевых настроек для ESSID |
config_ESSID1=( "192.168.0.3/24 brd 192.168.0.255" )
routes_ESSID1=( "default via 192.168.0.1" )
config_ESSID2=( "dhcp" )
fallback_ESSID2=( "192.168.3.4/24" )
fallback_route_ESSID2=( "default via 192.168.3.1" )
dns_servers_ESSID1=( "192.168.0.1" "192.168.0.2" )
dns_domain_ESSID1="some.domain"
dns_search_domains_ESSID1="search.this.domain search.that.domain"
config_001122334455=( "dhcp" )
dhcpcd_001122334455="-t 10"
dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )
|
|