Утилита nmcli#

Утилита nmcli используется для управления NetworkManager (высокоуровневым интерфейсом для управления сетевыми соединениями) и контроля состояния сети — создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений, а также управления и отображения состояния сетевого устройства.

Синтаксис nmcli:

nmcli <options> <general_commands> <commands> <arguments>

Где:

  • <options> - опции;

  • <general_commands> - общие команды;

  • <commands> - прочие команды;

  • <arguments> - аргументы.

Часто используемые опции утилиты представлены в таблице ниже.

Опция

Описание

-a, --ask

Указание nmcli остановиться и запросить все недостающие необходимые аргументы. Не используйте указанную опцию для неинтерактивных целей, таких как скрипты

-e, --escape <yes/no>

Указание, следует ли экранировать символы : и \ в режиме краткой таблицы. Экранирующий символ - \. Если опущен, по умолчанию используется yes

-p, --pretty

Использование «красивых» выходных данных - удобочитаемых для человека, т.е. значения выравниваются, заголовки печатаются и т.д.

Общие команды используются для отображения статуса и разрешений NetworkManager. Можно также получить и изменить имя системного хоста, уровень ведения журнала NetworkManager и домены. Синтаксис:

nmcli general {status | hostname | permissions | logging | reload} [ARGUMENTS...]

Где:

Переменная

Описание

status

Общее состояние NetworkManager. Является действием по умолчанию, если переменные не заданы

hostname <hostname>

Получение и изменение системного имени хоста. Без аргументов выводится текущее настроенное имя хоста. При передаче имя хоста будет передано в NetworkManager для установки в качестве нового системного имени хоста

permissions

Отображение разрешений, которыми обладает вызывающий абонент для различных операций аутентификации, предоставляемых NetworkManager, например, включение и отключение сети, изменение состояния Wi-Fi и WWAN, модификация подключений и т.д.

logging [level <level>] [domains <domains...>]

Получение и изменение уровня ведения журнала NetworkManager и доменов. Без аргументов отображаются текущий уровень ведения журнала и домены. Чтобы изменить состояние ведения журнала, укажите параметры уровня и/или домена

reload <flags...>

Перезагрузка конфигурации NetworkManager и выполнение определенных обновлений, например, очистка кеша или перезапись внешнего состояния на диск. Похоже на отправку SIGHUP в NetworkManager, но позволяет более точно контролировать, что нужно перезагрузить, с помощью аргумента flags. Также разрешает доступ пользователю без административных привилегий через PolicyKit и является синхронизированным. Доступные флаги:
- conf - перезагрузка конфигурации NetworkManager.conf с диска;
- dns-rc - обновление конфигурации DNS, для чего обычно требуется перезаписать файл /etc/resolv.conf;
- dns-full - перезапуск плагина DNS.
При отсутствии flags все, что поддерживается, перезагружается, что идентично отправке SIGHUP

Примеры использования#

  • Для запуска nmcli в качестве агента NetworkManager и считывания запросов введите команду:

    nmcli agent secret
    

    Где agent secret - регистрация в качестве secret агента.

  • Для отслеживания активности NetworkManager введите команду:

    nmcli monitor
    

    Где monitor - отслеживание изменений в состоянии подключения, устройствах или профилях подключений.