Подключение к Wi‑Fi в Linux через nmcli

Что такое nmcli?
nmcli — это командная строка для управления NetworkManager. NetworkManager — служба для обнаружения и настройки сетей. Если у вас нет рабочего стола, nmcli позволяет делать всё через терминал.
Определение: SSID — имя точки доступа Wi‑Fi.
Важно: nmcli работает поверх NetworkManager. Если он не установлен или сервис отключён, команды не сработают.
Быстрый план (что нужно знать перед началом)
- Узнайте SSID сети (имя точки доступа).
- Подготовьте пароль сети (если есть). Для скрытых сетей нужен точный SSID и параметры безопасности.
- Убедитесь, что NetworkManager запущен и адаптер Wi‑Fi включён.
Шаг 1: Включите Wi‑Fi‑адаптер
Просмотрите состояние интерфейсов:
nmcli dev statusВы увидите список устройств, их тип, состояние и подключённый профиль.
Проверить глобальный статус радио (включён/выключен):
nmcli radio wifiЕсли вывод показывает “disabled”, включите модуль Wi‑Fi:
nmcli radio wifi onВажно: на некоторых ноутбуках так же действует аппаратный переключатель. Проверьте физический прерыватель Wi‑Fi.
Шаг 2: Поиск доступных сетей
Отсканируйте ближайшие точки доступа:
nmcli dev wifi listНайдите нужный SSID в колонке SSID. Обратите внимание на сигнал (RSSI) и тип безопасности (WPA2, WPA3, или open).
Примечание: для скрытых SSID сети не будут видны в списке; нужно знать точное имя и параметры безопасности.
Шаг 3: Подключение к сети
Подключиться к сети по SSID (без указания пароля для открытых сетей):
sudo nmcli dev wifi connect "network-ssid"Подключение к защищённой сети с указанием пароля:
sudo nmcli dev wifi connect "network-ssid" password "network-password"Если не хотите вводить пароль в командной строке (чтобы пароль не сохранялся в истории), используйте –ask — система запросит ввод пароля конфиденциально:
sudo nmcli --ask dev wifi connect "network-ssid"Проверьте соединение командой ping:
ping -c 4 google.comЕсли ping проходит, соединение установлено.
Важно: NetworkManager сохранит подключение и настроит автоподключение при следующем запуске.
Управление сохранёнными соединениями
Посмотреть все сохранённые профили:
nmcli con showОтключить сохранённое подключение (down), указав имя или UUID:
nmcli con down id "SSID"Поднять (подключиться) к сохранённому профилю:
nmcli con up id "SSID"Если у вас несколько профилей с одинаковым SSID, используйте UUID вместо имени.
Частые проблемы и как их решать
Краткий план диагностики:
- Проверить статус NetworkManager:
systemctl status NetworkManager- Убедиться, что модуль Wi‑Fi загружен и нет аппаратного выключателя.
- Посмотреть вывод dmesg на предмет ошибок драйвера:
dmesg | grep -i wifiЕсли сеть видна, но не подключается, проверьте правильность пароля и тип безопасности (WEP/WPA/WPA2/WPA3).
Для корпоративных сетей с EAP/802.1X потребуется дополнительная конфигурация (cert, identity). Для таких сетей лучше создать профиль через nmcli с указанием параметров безопасности.
Пример создания профиля с парой параметров (EAP) для примера структуры:
sudo nmcli connection add type wifi ifname wlan0 con-name "office" ssid "office-ssid" --
wifi-sec.key-mgmt wpa-eap 802-1x.identity "user" 802-1x.password-flags 0(Заполните конкретные параметры сертификатов/идентификаторов для вашей сети.)
Когда подключение не работает (когда nmcli не подходит)
- На системах без NetworkManager (например, минимальные серверные сборки) nmcli не будет доступен. В этом случае используйте wpa_supplicant + ifconfig/ip.
- Для сложных корпоративных настроек с постоянными сертификатами удобнее использовать конфигурацию NetworkManager через файлы или централизованные решения.
- Если драйвер Wi‑Fi отсутствует или несовместим с ядром, nmcli бессилен — нужно установить правильный драйвер.
Альтернативные подходы
- wpa_supplicant — более низкоуровневый инструмент для ручной конфигурации Wi‑Fi.
- connman — альтернативный менеджер сетей с own CLI.
- systemd-networkd + wpa_supplicant — для минималистичных серверов.
Каждый инструмент имеет свои преимущества: nmcli проще для интерактивного использования и автосохранения профилей.
Быстрая шпаргалка — основные команды
- nmcli dev status — список устройств
- nmcli radio wifi on/off — включить/выключить Wi‑Fi
- nmcli dev wifi list — отсканировать сети
- sudo nmcli dev wifi connect “SSID” password “PASS” — подключиться
- nmcli con show — показать сохранённые подключения
- nmcli con up id “SSID” / nmcli con down id “SSID” — подключить/отключить
Шаблон операции: мини‑методология подключения
- Проверить статус: nmcli dev status
- Включить радио: nmcli radio wifi on
- Сканировать: nmcli dev wifi list
- Подключиться: sudo nmcli dev wifi connect “SSID” [password “PASS”]
- Проверить сеть: ping -c 4 8.8.8.8
- Просмотреть сохранённые профили: nmcli con show
Контроль безопасности и конфиденциальности
- Не храните пароли в видимых историях shell. Используйте –ask или ввод через stdin.
- Для чувствительных сред используйте WPA2/WPA3 и сертифицированные EAP‑методы.
- Удалите сохранённые профили при необходимости:
nmcli connection delete id "SSID"Руководство по устранению инцидента (краткий runbook)
- Проверить, видна ли сеть: nmcli dev wifi list
- Проверить статус адаптера: nmcli dev status и nmcli radio wifi
- Просмотреть логи NetworkManager: journalctl -u NetworkManager -b
- Если драйвер: dmesg | grep -i wlan
- Если требуется — перезапустить NetworkManager: sudo systemctl restart NetworkManager
- Повторить попытку подключения и проверить ping
Чек‑лист для администратора и пользователя
Администратор:
- Установлен ли NetworkManager?
- Доступны ли драйверы для устройств Wi‑Fi?
- Есть ли политики безопасности, запрещающие Wi‑Fi?
Пользователь:
- Знаю ли я SSID и пароль?
- Нет ли аппаратного выключателя Wi‑Fi?
- Пробовал ли я –ask для ввода пароля?
Критерии приёмки
- Устройство отображает подключение в nmcli dev status.
- ping к внешнему адресу проходит (например, 8.8.8.8).
- Профиль сохранён и автоподключается после перезагрузки.
Краткое заключение
nmcli — надёжный и быстрый инструмент для управления Wi‑Fi через терминал. Он покрывает большинство сценариев для домашних и серверных установок. Для корпоративных или сильно кастомизированных сред потребуется дополнительная настройка безопасности.
Часто задаваемые вопросы
Как подключиться к скрытой точке доступа?
Скрытая сеть не появляется в списке. Используйте точный SSID и укажите параметры безопасности: sudo nmcli dev wifi connect “exact-ssid” password “pass”.
Как полностью удалить сохранённое подключение?
Выполните: nmcli connection delete id “SSID” или по UUID.
Что делать, если NetworkManager отсутствует?
Используйте wpa_supplicant и ip/ifconfig: это ручной путь без автоконфигурации.