Команда Linux nmcli
Что такое nmcli
nmcli — это инструмент командной строки для NetworkManager, используемый для настройки и управления сетевыми подключениями в системах Linux. Это официальный клиент NetworkManager, предоставляющий более мощные и гибкие возможности управления сетью по сравнению с графическим интерфейсом.
Основные возможности nmcli
- Полнофункциональная поддержка: охватывает почти все функции NetworkManager
- Удобство для скриптов: подходит для сценариев автоматизации и удалённого управления
- Без зависимостей: не требует графического интерфейса, работа исключительно в командной строке
- Обратная связь в реальном времени: немедленно отображает результаты выполнения команд
Базовый синтаксис nmcli
Базовый формат команд nmcli выглядит следующим образом:
nmcli [OPTIONS] OBJECT { COMMAND | help }
Общие типы OBJECT
general: общее состояние и операции NetworkManagernetworking: общее управление сетьюradio: переключатель беспроводной сетиconnection: конфигурация сетевых подключенийdevice: управление сетевыми устройствами
Общие параметры OPTIONS
| Опция | Описание |
|---|---|
-t |
Краткий вывод (подходит для обработки скриптами) |
-p |
Удобочитаемый вывод (более читаемый) |
-h |
Показать справочную информацию |
-v |
Показать информацию о версии |
Подробное объяснение распространённых команд nmcli
1. Просмотр состояния сети
Просмотр общего состояния NetworkManager:
Пример
Пример вывода:
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN connected full enabled enabled enabled enabled
2. Управление сетевыми подключениями
Список всех сетевых подключений:
Пример
Активировать/деактивировать подключение:
Пример
nmcli connection down "имя подключения"
3. Управление сетевыми устройствами
Вывести список всех сетевых устройств:
Пример
Пример вывода:
DEVICE TYPE STATE CONNECTION eth0 ethernet 已连接 有线连接 1 wlan0 wifi 已断开 -- lo loopback 未托管 --
Просмотр подробной информации об устройстве:
Пример
Управление беспроводной сетью
Сканирование доступных сетей WiFi
Пример
Подключение к сети WiFi
Пример
Создать новый профиль подключения WiFi
Пример
nmcli connection modify "MyWiFi" wifi-sec.key-mgmt wpa-psk
nmcli connection modify "MyWiFi" wifi-sec.psk "password"
Настройка проводной сети
Создание подключения со статическим IP
Пример
ip4 192.168.1.100/24 gw4 192.168.1.1
nmcli connection modify "static connection" ipv4.dns "8.8.8.8,8.8.4.4"
Изменение существующего подключения на DHCP
Пример
Продвинутое использование
Создание VPN-подключения
Пример
con-name "MyVPN" ifname tun0 \
vpn.data "remote=vpn.example.com, username=user, password=pass"
Создание моста
Пример
nmcli connection add type bridge-slave ifname eth0 master br0
Создание VLAN
Пример
dev eth0 id 100 ip4 192.168.100.100/24
Решение распространённых проблем
1. Сетевое устройство отображается как "unmanaged"
Пример
cat /etc/NetworkManager/NetworkManager.conf
# Если вы видите конфигурацию unmanaged-devices, вы можете закомментировать соответствующие строки
# Затем перезапустите NetworkManager
systemctl restart NetworkManager
2. Забыли пароль подключения
Пример
3. Сброс конфигурации сети
Пример
Практические упражнения
- Используйте nmcli для подключения к вашей сети WiFi
- Создайте проводное соединение со статическим IP
- Просканируйте и выведите список всех доступных сетей WiFi
- Просмотрите подробную информацию о текущем активном соединении
Итог
nmcli — мощный инструмент для управления сетью в системе Linux. Прочитав эту статью, вы сможете:
- Понимать основные концепции и структуру синтаксиса nmcli
- Используйте nmcli для управления проводными и беспроводными сетевыми подключениями
- Настройте статические IP- и DHCP-подключения
- Обрабатывайте распространённые проблемы с сетевыми подключениями
Освоение nmcli позволяет эффективно управлять сетями в серверных средах без графического интерфейса, а также является одним из важных навыков для системных администраторов Linux.
Другие расширения
Энциклопедия команд Linux