Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Common Edition 2.12
Введение
В статье описаны основные приемы работы с адаптерами WiFi. При написании статьи использовались виртуальные машины КVM (см. Виртуализация QEMU/KVM в Astra Linux), в качестве устройств WiFi использовались USB-адаптеры TP-Link LT-WDN3200 (чип Ralink RT5572) и адаптер неустановленной модели с чипом Ralink RT5370. В статье даются базовые настройки, более подробную информацию следует искать в справочной системе man. Процедуры проверки оборудования позволяют убедиться, что оборудование опознано операционной системой, поддерживает необходимые функции и готово к настройке. Простейшие проверки можно выполнить без установки дополнительных пакетов, для более детальных проверок понадобятся дополнительные пакеты.
Установка пакетов для проверки оборудования
Для выполнения проверок установить пакеты:
Проверка оборудования
Убедиться, что устройство действительно подключено (требуется пакет usbutils):
lsusbВывод команды показывает наличие подключенного USB-устройства "Ralink Technology, Corp. RT5370 Wireless Adapter"
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubПри работе с виртуальными машинами QEMU/KVM переназначение USB-устройств через команду меню может работать некорректно, для переназначения устройств следует использовать панель виртуального оборудования и добавлять устройства как "USB-устройство узла" ("USB Host Device");Убедиться, что устройство опознано как сетевой адаптер (дополнительные пакеты не требуются):
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:0f:e7:bf brd ff:ff:ff:ff:ff:ff
inet 192.168.56.31/24 brd 192.168.56.255 scope global noprefixroute dynamic eth0
valid_lft 966sec preferred_lft 966sec
inet6 fe80::5054:ff:fe0f:e7bf/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 8a:69:8b:6c:25:92 brd ff:ff:ff:ff:ff:ffВывод команды показывает наличие сетевого адаптера wlan0.
Далее в примерах и конфигурационных файлах используется имя сетевого адаптера wlan0. В реальной системе имя сетевого адаптера может отличаться, соответственно во всех командах следует использовать актуальное имя.
Убедиться, что устройство управляется (опознано) службой Network Manager (дополнительные пакеты не требуются):
sudo nmcli dev status
DEVICE TYPE STATE CONNECTION
eth0 ethernet подключено Проводное соединение 1
wlan0 wifi отключено --Убедиться, что использование устройства разрешено (в частности, устройство не отключено аппаратно или настройками BIOS). Требуется пакет rfkill. Команда:
sudo rfkill listВывод команды показывает, что устройство с именем phy0 не заблокировано ("no"). Если устройство заблокировано ('yes"), то:
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: noЕсли устройство заблокировано программно ("Soft blocked: yes"), то можно попробовать разблокировать его командой:
sudo rfkill unblock <номер_устройства>Если это не помогает, то, возможно, в системе отсутствуют драйверы для устройства.- Если устройство заблокировано аппаратно ("Hard blocked: yes"), то следует искать способ разблокировки в настройках оборудования (например, включить WiFi кнопкой на ноутбуке);
Убедиться, что устройство поддерживает нужные режимы работы (режим точки доступа - AP (Access Point)). Требуется пакет iw. Команда может выглядеть так:
sudo iw list | grep "Supported interface modes:" -A 10Приведенный выше пример вывода команды показывает наличие режима работы AP. Если про проверке устройства возникает ошибка, то для выяснения его возможностей обратитесь к документации на это устройство.
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
Band 1:
Capabilities: 0x17e
HT20/HT40
SM Power Save disabled
Программное отключение WiFi
При наличии установленного пакета rfkill получить список модулей можно командой:
Настройка адаптера WiFi как точки доступа с выходом во внешнюю сеть
Далее предполагается, что WiFi-адаптер установлен в компьютере с сетевой картой с именем eth0, подключенной к внешней сети (Интернет или сеть предприятия). Для корректного подключения клиентов выполняются следующие настройки:
- Настройки сетевого подключения;
- Настройка службы DHCP для назначения IPv4-адресов WiFi-клиентам при их подключении;
- Настройка правил IPTABLES для разрешения перенаправления сетевых пакетов от WiFi-клиентов (от WiFi адаптера) во внешнюю сеть.
Настройка точки доступа при использовании Network Manager
При использовании Network Manager для включения точки доступа WiFi выполнить следующие операции:
- Создать и настроить сетевое подключение. Это можно сделать через графический интерфейс Network Manager или из командной строки следующими командами:
Создание "пустого" соединения с именем соединения alse и с идентификатором сети (SSID) alse-wifi:
sudo nmcli con add type wifi ifname wlan0 con-name alse autoconnect yes ssid alse-wifiНазначить параметры WiFi:
sudo nmcli con mod alse 802-11-wireless.mode apНазначить параметры IPv6:
sudo nmcli con mod alse ipv6.method shared ipv6.ip6-privacy 0Назначить параметры безопасности:
sudo nmcli con mod alse wifi-sec.key-mgmt wpa-psk wifi-sec.psk "<пароль_для_подключения>"Активировать интерфейс:
sudo nmcli con up alse
После настройки и активации сетевого подключения убедиться, что служба Network Manager создала путь (route) для пересылки сетевых пакетов от WiFi-адаптера во внешнюю сеть:
ip route
default via 192.168.56.1 dev eth0 proto dhcp metric 100
10.42.0.0/24 dev wlan0 proto kernel scope link src 10.42.0.1 metric 600
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.31 metric 100Путь для сетевых пакетов WiFi-адаптера: "10.42.0.0/24 dev wlan0 proto kernel scope link src 10.42.0.1 metric 600"
Настройка точки доступа без использования Network Manager
Для управления WiFi-адаптером в режиме точки доступа вместо Network Manager можно использовать пакет hostapd. Настройка службы DHCP и включение перенаправления пакетов при этом выполняется так же, как в случае работы с Network Manager (см. выше).
Установить пакет hostapd можно командой:
В файл конфигурации Network Manager /etc/NetworkManager/NetworkManager.conf в секцию [keyfile] (если секции нет - добавить) добавить список исключенных из управления устройств, содержащий адаптера. В итоге соответствующая часть файла должна иметь вид:
[keyfile] unmanaged-devices=interface-name:wlan0
Перезапустить службу Network Manager:
sudo systemctl restart NetworkManagerУбедиться, что устройство исключено из управляемых устройств (не отображается в списке):
sudo nmcli dev status
Настройка адаптера
Если служба Network Manager не используется, то WiFi-адаптеру вручную должен быть назначен сетевой адрес:
Настройка и отладка службы hostapd
Привести конфигурационный файл службы hostapd /etc/hostapd/hostapd.conf к виду:
interface=wlan0 channel=6 ieee80211n=1 hw_mode=g ssid=alse-wifi wpa=2 wpa_passphrase=<пароля_для_подключения> wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP auth_algs=1
Обновление конфигурации и включение точки доступа будет выполнено после перезапуска службы.
Для отладки остановить службу:
Убедившись в корректной работе:
Указать в файле настроек системной службы hostapd /etc/default/hostapd расположение конфигурации:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Запустить службу: