Когда пригодится nmcli
NetworkManager отвечает за сетевые подключения во многих настольных дистрибутивах Linux, а nmcli — его консольный клиент. Он нужен там, где нет графической оболочки, на сервере с NetworkManager, при подключении по SSH или просто когда проще набрать команду, чем искать нужный пункт меню.
Утилита отвечает на три разных вопроса. Какие сетевые устройства есть и в каком они состоянии. Какие подключения настроены и какое из них активно. Какие Wi-Fi сети находятся поблизости и с каким сигналом. Для каждого вопроса есть своя группа команд: device, connection и общие сведения о состоянии.
Прежде чем рассчитывать на nmcli, проверьте, что NetworkManager вообще управляет вашей сетью. В некоторых системах, особенно серверных, сетью занимаются другие службы, и nmcli сообщит, что NetworkManager не запущен. Это не поломка, просто в такой системе используется иной способ настройки.
Состояние устройств и подробности интерфейса
Начинайте с nmcli device status. В таблице будут столбцы DEVICE, TYPE, STATE и CONNECTION. Состояние connected означает, что устройство подключено, disconnected — что оно готово, но не подключено, unavailable — что использовать его сейчас нельзя, например выключен радиомодуль Wi-Fi, а unmanaged — что NetworkManager это устройство не контролирует.
Подробности по одному интерфейсу выводит nmcli device show и имя устройства. В ответе вы увидите поля вида GENERAL.STATE, IP4.ADDRESS, IP4.GATEWAY, IP4.DNS, а также IP6 с аналогичными значениями. Это быстрый способ узнать адрес, шлюз и DNS без разбора длинного вывода других утилит.
Если адреса нет, а состояние connecting держится долго, вероятно, сеть не выдаёт адрес по DHCP. Если состояние connected, а адрес есть, но интернета нет, продолжайте по цепочке: шлюз, затем внешний адрес, затем имена. Порядок такой проверки описан на страницах про ip route и ping.
Wi-Fi: список сетей и подключение
Список ближайших сетей выводит nmcli device wifi list. Столбцы таблицы показывают все нужные для выбора канала и сети сведения.
| Столбец | Что означает |
|---|---|
| IN-USE | Звёздочка у сети, к которой вы подключены |
| BSSID | Аппаратный адрес точки доступа |
| SSID | Имя сети |
| CHAN | Номер канала |
| RATE | Скорость, сообщаемая точкой доступа |
| SIGNAL | Уровень сигнала от 0 до 100 |
| SECURITY | Тип защиты сети |
Список может быть устаревшим. Принудительное обновление выполняет nmcli device wifi rescan, после чего таблицу выводят снова. Если у одного имени сети несколько строк, это несколько точек доступа или диапазонов одной сети: сравните сигнал и канал.
Подключение к сети выполняется командой nmcli device wifi connect с именем сети и, при необходимости, ключевым словом password и паролем. Пароль, введённый прямо в команде, остаётся в истории оболочки, поэтому на общих компьютерах лучше пользоваться ключом --ask, чтобы ввести пароль отдельно. Радиомодуль включают и выключают командой nmcli radio wifi on или off.
Профили подключений: показать, включить, выключить
NetworkManager хранит настройки в профилях. Список профилей показывает nmcli connection show, а активные отмечены в столбце DEVICE. Профиль появляется после первого успешного подключения к сети и далее используется автоматически.
- nmcli connection up имя — активировать профиль;
- nmcli connection down имя — отключить профиль;
- nmcli connection show имя — подробные параметры профиля;
- nmcli connection delete имя — удалить профиль и забыть сеть.
Простая и часто помогающая проверка — переподключение. Выполните connection down, затем connection up для нужного профиля, чтобы заново получить адрес по DHCP. Это аналог обновления адреса, которое в других системах выполняют отдельными командами.
Если профиль содержит неверный пароль или устаревшие параметры, подключение будет повторно завершаться ошибкой. Удалите профиль командой delete и создайте его заново, подключившись к сети. Перед удалением убедитесь, что вы знаете пароль от неё.
Диагностика: куда смотреть, если Wi-Fi работает плохо
Если соединение нестабильно, соберите факты в нескольких командах и сопоставьте их.
- nmcli device status — устройство в состоянии connected или нет.
- nmcli device wifi list — какой уровень сигнала у вашей сети и нет ли рядом других сетей на том же канале.
- nmcli device show — получены ли адрес, шлюз и DNS.
- ping шлюза несколько десятков раз — есть ли потери между ноутбуком и роутером.
Значение SIGNAL в таблице — условный показатель, который сообщает драйвер. Сравнивать можно показатели одного устройства между собой и в динамике, но не цифры разных ноутбуков. Низкий сигнал говорит о расстоянии и преградах, а высокий сигнал при плохой скорости чаще указывает на помехи или перегруженный канал.
Для поиска свободного канала на основе этой таблицы есть отдельный материал. А если вопрос не в Wi-Fi, а в адресе или маршруте, переходите к командам ip addr и ip route: они дают более низкоуровневую картину.
Короткая шпаргалка по основным командам
Для быстрого обращения соберём основные команды в одну таблицу. Сокращения допустимы: утилита понимает однозначные укороченные формы, например nmcli d вместо device, но в инструкциях и скриптах лучше писать полностью.
| Задача | Команда |
|---|---|
| Состояние устройств | nmcli device status |
| Список сетей Wi-Fi | nmcli device wifi list |
| Обновить список сетей | nmcli device wifi rescan |
| Адрес, шлюз, DNS | nmcli device show имя |
| Список профилей | nmcli connection show |
| Включить профиль | nmcli connection up имя |
| Отключить радиомодуль | nmcli radio wifi off |
Если вы пользуетесь графической оболочкой, все эти действия доступны и в ней, а консольный вариант нужен, когда оболочка недоступна или нужно повторяемое действие. Справка по любой группе команд выводится с ключом help, например nmcli device help.
Если вы работаете по SSH и меняете параметры Wi-Fi на удалённой машине, будьте осторожны: неудачная команда оборвёт соединение, а вернуться к нему без физического доступа будет нельзя. Сначала проверьте команду на локальной консоли или оставьте запасной проводной канал.