Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Введение
В статье описаны основные приемы работы с адаптерами WiFi. При написании статьи использовались виртуальные машины КVM (см. Виртуализация QEMU/KVM в Astra Linux), в качестве устройств WiFi использовались USB-адаптеры TP-Link LT-WDN3200 (чип Ralink RT5572) и адаптер неустановленной модели с чипом Ralink RT5370. При подключении указанные адаптеры регистрируются операционной системой как сетевое устройство wlan0, и далее в примерах используется это имя адаптера. В статье даются базовые настройки, более подробную информацию следует искать в справочной системе man.
Проверка оборудования
Процедуры проверки оборудования позволяют убедиться, что оборудование опознано операционной системой и готово к настройке. Простейшие проверки можно выполнить без установки дополнительных пакетов, для более детальных проверок понадобятся дополнительные пакеты.
Установка пакетов для проверки оборудования
Для выполнения простейших проверок дополнительные пакеты не требуются. Для детальной проверки установить пакеты rfkill и iw:
Command |
---|
sudo apt install rfkill iw |
Проверка и подготовка оборудования
Убедиться, что устройство действительно подключено (дополнительные пакеты не требуются):
Command Title lsusb 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Вывод команды показывает наличие подключенного USB-устройства "Ralink Technology, Corp. RT5370 Wireless Adapter"
Информация При работе с виртуальными машинами QEMU/KVM переназначение USB-устройств через команду меню может работать некорректно, для переназначения устройств следует использовать панель виртуального оборудования и добавлять устройства как "USB-устройство узла" ("USB Host Device"); Убедиться, что устройство опознано как сетевой адаптер (дополнительные пакеты не требуются):
Command Title 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;
Убедиться, что устройство управляется (опознано) службой Network Manager (дополнительные пакеты не требуются):
Command Title sudo nmcli dev status DEVICE TYPE STATE CONNECTION
eth0 ethernet подключено Проводное соединение 1
wlan0 wifi отключено --Убедиться, что использование устройства разрешено (в частности, устройство не отключено аппаратно или настройками BIOS). Требуется пакет rfkill. Команда:
Command Title sudo rfkill list 0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: noВывод команды показывает, что устройство с именем phy0 не заблокировано ("no"). Если устройство заблокировано ('yes"), то:
Если устройство заблокировано программно ("Soft blocked: yes"), то можно попробовать разблокировать его командой:
Command sudo rfkill unblock <имя_устройства> Если это не помогает, то, возможно, в системе отсутствуют драйверы для устройства;
- Если устройство заблокировано аппаратно ("Hard blocked: yes"), то следует искать способ разблокировки в настройках оборудования (например, включить WiFi кнопкой на ноутбуке);
Убедиться, что устройство поддерживает нужные режимы работы (в частности, режим точки доступа - AP (Access Point)). Требуется пакет iw. Команда может выглядеть так:
Command Title sudo iw list | grep "Supported interface modes:" -A 10 Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
Band 1:
Capabilities: 0x17e
HT20/HT40
SM Power Save disabledВывод команды показывает наличие режима работы AP;
Настройка адаптера WiFi как точки доступа с выходом во внешнюю сеть
Далее предполагается, что WiFi-адаптер установлен в компьютере с сетевой картой с именем eth0, подключенной к внешней сети (Интернет или сеть предприятия). Для корректного подключения клиентов выполняются следующие настройки:
- Настройки сетевого подключения;
- Настройка службы DHCP для назначения IPv4-адресов WiFi-клиентам при их подключении;
- Настройка правил IPTABLES для разрешения перенаправления сетевых пакетов от WiFi-клиентов (от WiFi адаптера) во внешнюю сеть.
Настройка точки доступа при использовании Network Manager
При использовании Network Manager для включения точки доступа WiFi выполнить следующие операции:
Настройка сетевого подключения
- Создать и настроить сетевое подключение. Это можно сделать через графический интерфейс Network Manager или из командной строки следующими командами:
Создание "пустого" соединения с именем соединения alse и с идентификатором сети (SSID) alse-wifi:
Command sudo nmcli con add type wifi ifname wlan0 con-name alse autoconnect yes ssid alse-wifi Назначить параметры WiFi:
Command sudo nmcli con mod alse 802-11-wireless.mode ap 802-11-wireless.band bg Назначить IPv4-адрес:
Command sudo nmcli con mod alse ipv4.method shared ipv4.addresses 10.42.0.1/24 gw4 10.42.0.1 Для примера использован адрес 10.42.0.1. Такой адрес автоматически назначается службой Network Manager при создании подключения через графический интерфейс;
Назначить параметры IPv6:
Command sudo nmcli con mod alse ipv6.method shared ipv6.ip6-privacy 0 Назначить параметры безопасности:
Command sudo nmcli con mod alse wifi-sec.key-mgmt wpa-psk wifi-sec.psk "<пароль_для_подключения>" Активировать интерфейс:
Command sudo nmcli con up alse
После настройки и активации сетевого подключения убедиться, что служба Network Manager создала путь (route) для пересылки сетевых пакетов от WiFi-адаптера во внешнюю сеть:
Command Title ip route default via 192.168.56.1 dev eth0 proto dhcp metric 100
default via 10.42.0.1 dev wlan0 proto static metric 600
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"
Настройка DHCP
Если на сервере уже используется служба DHCP, то следует выполнить настройку этой службы в соответствии с принятыми правилами эксплуатации. Подробнее про работу с DHCP см. статью DHCP а также статью Терминальный сервер LTSP (ltsp-server-standalone) на базе Astra Linux. Если службы DHCP нет, то можно использовать пакет dnsmasq - упрощенную службу DHCP. Команда для установки пакета:
Command sudo apt install dnsmasq Внести в конфигурационный файл dnsmasq следующее содержимое:
Блок кода log-facility=/var/log/dnsmasq.log interface=wlan0 dhcp-range=10.42.0.10,10.42.0.250,12h dhcp-option=3,10.42.0.1 dhcp-option=6,10.42.0.1 #no-resolv log-queries
в настройках использована сеть 10.42.0.0/24, соответствующая ранее назначенному IPv4-адресу WiFi-адаптера.
Перезапустить службу dnsmasq:
Command sudo systemctl restart dnsmasq Убедиться, что служба перезапустилась без ошибок и правильно определила диапазон выдаваемых адресов:
Command Title sudo tail /var/log/dnsmasq.log Feb 10 11:51:04 dnsmasq[5008]: started, version 2.76 cachesize 150
Feb 10 11:51:04 dnsmasq[5008]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify
Feb 10 11:51:04 dnsmasq-dhcp[5008]: DHCP, IP range 10.42.0.10 -- 10.42.0.250, lease time 12h
Feb 10 11:51:04 dnsmasq[5008]: reading /etc/resolv.conf
Feb 10 11:51:04 dnsmasq[5008]: using nameserver 8.8.8.8#53
Feb 10 11:51:04 dnsmasq[5008]: read /etc/hosts - 5 addresses
Включение перенаправления пакетов
Для включения перенаправления (трансляции) пакетов от WiFi-адаптера во внешнюю сеть выполнить указанные ниже команды. Для примера предполагается, что таблицы маршрутизации не содержат важных правил, и первые две команды очищают таблицы маршрутизации. При установленных настройка IPTABLES следует адаптировать команды в соответствии с принятыми правилами эксплуатации. Команды::
Command |
---|
sudo iptables -t nat -F |
Для сохранения настроек IPTABLES после перезагрузки компьютера см. статью Сохранение и восстановление правил iptables.
Настройка точки доступа без использования Network Manager
Для управления WiFi-адаптером в режиме точки доступа вместо Network Manager можно использовать пакет hostapd. Настройка службы DHCP и включение перенправления пакетов при этом выполняется так же, как в случае работы с Network Manager (см. выше).
Установить пакет hostapd можно командой:
Command |
---|
sudo apt install hostapd |
Пакет hostapd можно использовать совместно с Network Manager, если вывести WiFi-адаптер из-под управления Network Manager. Для этого:
В файл конфигурации Network Manager /etc/NetworkManager/NetworkManager.conf в секцию [keyfile] (если секции нет - добавить) добавить список исключенных из управления устройств, содержащий адаптера. В итоге соответствующая часть файла должна иметь вид:
Блок кода [keyfile] unmanaged-devices=interface-name:wlan0
Перезапустить службу Network Manager:
Command sudo systemctl restart NetworkManager Убедиться, что устройство исключено из управляемых устройств (не отображается в списке):
Command sudo nmcli dev status
Настройка адаптера
Если служба Network Manager не используется, то WiFi-адаптеру вручную должен быть назначен сетевой адрес:
Command |
---|
sudo ifconfig wlan0 10.42.0.1/24 |
Для того, чтобы адрес сохранялся после перезагрузки следует настроить используемую сетевую службу (см. Настройка сетевых подключений в ОС Astra Linux).
Настройка и отладка службы 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 |
Обновление конфигурации и включение точки доступа будет выполнено после перезапуска службы.
Для отладки остановить службу:
Command |
---|
sudo systemctl stop hostapd |
Для запуска службы в режиме отладки выполнить команду:
Command |
---|
sudo hostapd -d /etc/hostapd/hostapd.conf |
Выйти из режима отладки можно нажав сочетание клавиш Ctrl+C.
Убедившись в корректной работе:
Указать в файле настроек системной службы hostapd /etc/default/hostapd расположение конфигурации:
Блок кода |
---|
DAEMON_CONF="/etc/hostapd/hostapd.conf" |
Запустить службу:
Command |
---|
sudo systemctl start hostapd |