Wi-Fi в Linux почти всегда управляется NetworkManager, а его консольный интерфейс nmcli делает всё, что умеет графический апплет, и иногда чуть больше: показывает причины отказа, переподключает профили и работает там, где оболочка не запускается. Разберём состояния и радио, создание и правку профилей, точку доступа, живой мониторинг и разбор частых проблем подключения.
Состояние интерфейсов и радио
Начинать диагностику нужно с нескольких команд — они отвечают на вопросы «что вижу», «что включено» и «что настроено».
nmcli general status
nmcli device status
nmcli radio wifi
rfkill list
nmcli -f SSID,SIGNAL,CHAN,RATE,BSSID dev wifi list --rescan yes
Если статус интерфейса unavailable, чаще всего сработал аппаратный или программный блокиратор: rfkill list покажет, заблокирован ли Wi-Fi, а разблокировка — rfkill unblock all. Строка unmanaged означает, что интерфейс NetworkManager не принадлежит: проверьте, не осталась ли запись про него в /etc/network/interfaces или в /etc/NetworkManager/conf.d/ с managed=false. Обратите внимание на колонку SIGNAL — она уже отвечает на вопрос «почему медленно»: значение 60 и выше — это хорошо, а 30 при удалении роутера на две стены требуют антенны или ретранслятора.
Подключение и правка профилей
Самый короткий путь — подключиться к видимой сети, дальше работать с профилем как с объектом настроек.
nmcli device wifi connect "Home" password "secret"
nmcli connection show
nmcli connection show Home | grep -E "autoconnect|ipv4|SSID"
Всё, что относится к сети, хранится в профиле, и его удобно править пакетно. Ручной адрес, шлюз и DNS:
nmcli connection modify Home \
ipv4.method manual \
ipv4.addresses 192.168.1.50/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "77.88.8.8 77.88.8.1"
nmcli connection up Home
Типичные правки профиля: отключение энергосбережения адаптера — nmcli connection modify Home 802-11-wireless.powersave 2; фиксация полосы или канала — 802-11-wireless.band bg и 802-11-wireless.channel 6; случайный аппаратный адрес для открытых сетей — 802-11-wireless.cloned-mac-address random. Если сеть появляется не в каждом скане, помогает явное указание имени: nmcli connection modify Home 802-11-wireless.ssid Home.
Точка доступа из командной строки
Раздача интернета с ноутбука сводится к одному профилю: интерфейсу задаётся собственный адрес, а DHCP и трансляция берёт на себя сам NetworkManager.
nmcli connection add type wifi ifname wlan0 con-name Hotspot ssid HomeAP \
autoconnect no ipv4.method shared ipv4.addresses 192.168.42.1/24
nmcli connection modify Hotspot \
802-11-wireless-security.key-mgmt wpa-psk \
802-11-wireless-security.psk "longpassword"
nmcli connection up Hotspot
Параметр shared поднимает внутренний DHCP-сервер, раздаёт адреса клиентам и включает трансляцию наружу. Если интернет приходит по другому интерфейсу, дополнительно потребуется разрешение форвардинга в правилах nft. Для остановки — nmcli connection down Hotspot. Если адаптер не поддерживает режим точки доступа, это видно сразу: nmcli connection up Hotspot вернёт ошибку о недоступном режиме AP, и тогда остаётся проводное подключение или отдельный USB-адаптер.
Отдельно регулируется приоритет автоподключения: у NetworkManager несколько профилей с autoconnect, и они дерутся за интерфейс. Порядок задаётся числом, чем больше — тем выше шанс:
nmcli connection modify Home autoconnect-priority 100
nmcli connection modify Work autoconnect-priority 10
nmcli connection show | sort -k 7 -rn | head
Приоритет работает только когда у обоих профилей включён autoconnect, иначе NetworkManager подключится к первой найденной сети. Проверить, какой профиль реально активен, можно прямо во время переподключения: nmcli device status в колонке CONNECTION показывает имя профиля, а при смене сети строка меняется на глазах.
Живой мониторинг
Для наблюдения за переподключениями есть отдельный режим, который печатает события NetworkManager в реальном времени — удобно держать открытым в отдельной вкладке во время настройки.
nmcli monitor
journalctl -u NetworkManager -f
sudo iw dev wlan0 link
sudo iw dev wlan0 station dump
Первая команда ловит события «подключено», «отключено», «найдена новая сеть», вторая — подробности с уровня wpa_supplicant и DHCP. iw link показывает реальную скорость и сигнал после ассоциации: если там висят 54 Мбит/с, а роутер заявляет 1200, смотрите полосу и канал. Проверка адреса и маршрута: ip -br address show wlan0, ip route и nmcli -f IP4.ADDRESS,IP4.GATEWAY,IP4.DNS connection show Home.
Типичные проблемы
- Подключено, но интернета нет. Чаще всего виноват DNS:
resolvectl statusпокажет, откуда взялись серверы, а принудительно свои можно задать прямо в профиле —nmcli connection modify Home ipv4.dns "77.88.8.8 77.88.8.1". Проверяйте шлюз пингом:ping -c3 192.168.1.1. - Сеть отваливается через несколько минут. Энергосбережение адаптера: команда
802-11-wireless.powersave 2из раздела профилей, а для драйверов Intel — параметрoptions iwlwifi power_save=0в файле/etc/modprobe.d/iwlwifi.conf. - «Secrets were required» при верном пароле. Профиль запомнил старые секреты: удалите его (
nmcli connection delete Home) и подключитесь заново. Если роутер перешёл на WPA3, а адаптер старый, принудительно задайте802-11-wireless-security.key-mgmt wpa-psk. - После сна связь не восстанавливается. Посмотрите журнал за прошлую сессию
journalctl -b -1 -u NetworkManager; на части плат помогает перезапускsudo systemctl restart NetworkManagerи повторныйnmcli connection up Home. - Интерфейс занят другим менеджером. Если вместо NetworkManager работает самостоятельный wpa_supplicant или iwd, отключите их сервисы; переход на iwd как бэкенд, наоборот, оформляется файлом
/etc/NetworkManager/conf.d/wifi-backend.confс параметромwifi.backend=iwd. - Каналы недоступны из-за регуляторного домена.
iw reg getпокажет действующую страну; неверная карта ограничений закрывает часть каналов, и сеть перестаёт находиться. - Сеть видна, но не появляется в списке подключений. Запустите повторное сканирование
nmcli device wifi rescanи убедитесь, что интерфейс в состоянииconnected, а неconnecting (prepare)— застрявший процесс ассоциации снимается переподключением профиляnmcli connection up Home.
Итог
Работа с Wi-Fi в Linux сводится к трём слоям: радио и состояние интерфейса (nmcli device status, rfkill), профили подключений, где хранятся адрес, DNS и энергосбережение, и живой мониторинг через nmcli monitor с журналом NetworkManager. Практически все типовые отказы — «нет адреса», «нет DNS», «отваливается через минуты», «не восстановился после сна» — читаются по одной команде, а точка доступа и ручной IP настраиваются теми же командами, что и обычное подключение.