- Linux менеджер сетевых подключений
- Network Manager — устройство не управляется
- Network Manager не видит сеть
- Управляем сетевыми подключениями в Linux с помощью консольной утилиты nmcli
- Синтаксис команд ncmli
- Простые примеры
- Управление подключениями
- Добавление сетевых соединений
- Настройка подключений
- Работа с устройствами
- Проверка статуса устройств
- Запрос информации об устройстве
- Интерактивный редактор nmcli
- И это далеко не всё
- На правах рекламы
Linux менеджер сетевых подключений
Network Manager — удобная утилита для управления сетевыми подключениями в Linux, используется по умолчанию во всех основных графических оболочках, что предоставляет пользователю простой и единообразный интерфейс настройки сети. Также Network Manager поддерживает Wi-Fi, 3G и VPN подключения, позволяя легко создавать их в графическом режиме. Но бывают ситуации, когда Network Manager неожиданно ломается, оставляя непривычного к консоли пользователя буквально без связи с внешним миром. В данной статье мы рассмотрим некоторые типовые проблемы, которые достаточно легко устраняются, но при этом могут серьезно испортить жизнь начинающим.
Network Manager — устройство не управляется
Достаточно простая неисправность, точнее даже не неисправность, которая проявляется в том, что Network Manager не может управлять вашим сетевым устройством. Причина такого поведения лежит в том, что Network Manager не является единственным способом управления сетевыми подключениями в Linux и если он видит, что сетевой адаптер был настроен другим методом, то перестает управлять им. Это вполне корректное поведение, предоставляющее администратору всю полноту власти над системой и обеспечивающее приоритет ручных настроек над автоматическими. Другое дело, что такие настройки могут возникнуть без прямого умысла пользователя: неудачное повторение инструкции в сети, запуск стороннего скрипта и т.д. и т.п. После чего Network Manager отказывается работать, а навыки ручного управления сетью отсутствуют. Но такое поведение легко исправить. Откроем консоль и выполним:
Удалим из этого файла все строки кроме: На скриншоте выше как раз видны ручные настройки для сетевого адаптера ens33, которые и блокировали работу Network Manager с этим интерфейсом. После чего перезапустим службу командой: После чего Network Manager снова возьмет контроль над сетевым интерфейсом. Для недопущения подобной ситуации в дальнейшем следует внимательно относиться к ручным настройкам сети и не допускать подобных изменений, если вы желаете и далее использовать Network Manager.
Network Manager не видит сеть
Более сложная неисправность, которая заключается в том, что Network Manager вообще не видит сетевых адаптеров, причины ее возникновения нам неизвестны, но приходилось достаточно часто сталкиваться с ней на промежуточных выпусках Ubuntu. Кстати, данная неисправность может послужить причиной ручной настройки сетевого интерфейса, которое в последствии будет блокировать работу Network Manager, но ее также несложно вылечить, для этого нужно создать пустой файл:
И перезапустить службу: Для дальнейшей работы Network Manager наличие данного файла необязательно, т.е. вы можете его удалить, но Network Manager продолжит работать нормально. Как видим, предложенные нами способы восстановления здоровья Network Manager просты и, надеемся, помогут вам сэкономить время и нервы, когда вы столкнетесь с подобной проблемой. Источник
Управляем сетевыми подключениями в Linux с помощью консольной утилиты nmcli
Используйте все возможности инструмента управления сетевыми подключениями NetworkManager в командной строке Linux c помощью утилиты nmcli. Утилита nmcli напрямую обращается к API для доступа к функциям NetworkManager.
Она появилась в 2010 году и для многих стала альтернативным способом настройки сетевых интерфейсов и соединений. Хотя кто-то до сих пор использует ifconfig. Так как nmcli — это инструмент интерфейса командной строки (CLI), предназначенный для использования в окнах терминалов и скриптах, он идеально подходит для системных администраторов, работающих без GUI.
Синтаксис команд ncmli
- options — это параметры, которые определяют тонкости работы nmcli,
- section (секция) — определяет, какими возможностями утилиты пользоваться,
- action (действие) — позволяет указать, что, собственно, нужно сделать.
Всего существует 8 секций, каждая из которых связана с каким-то набором команд (действий):
- Help выдаёт справку о командах ncmcli и их использовании.
- General возвращает статус NetworkManager и глобальную конфигурацию.
- Networking включает команды для запроса состояния сетевого подключения и включения / отключения подключений.
- Radio включает команды для запроса состояния подключения к сети WiFi и включения / отключения подключений.
- Monitor включает команды для мониторинга активности NetworkManager и наблюдения за изменениями состояния сетевых подключений.
- Connection включает команды для управления сетевыми интерфейсами, для добавления новых соединений и удаления существующих.
- Device в основном используется для изменения параметров, связанных с устройствами (например, имени интерфейса) или для подключения устройств с использованием существующего соединения.
- Secret регистрирует nmcli в качестве «секретного агента» NetworkManager, который прослушивает тайные сообщения. Эта секция используется редко, потому что nmcli при подключении к сетям по дефолту работает именно так.
Простые примеры
Перед началом работы убедитесь, что NetworkManager запущен и nmcli может общаться с ним:
Часто работу начинают с просмотра всех профилей сетевых подключений:
Это команда использует действие show для секции Connection.
На тестовой машине крутится Ubuntu 20.04. В данном случае мы нашли три проводных подключения: enp0s3, enp0s8, and enp0s9.
Управление подключениями
Важно понимать, что в nmcli под термином Connection мы подразумеваем сущность, которая содержит всю информацию о соединении. Другими словами, это конфигурация сети. Connection инкапсулирует всю информацию, связанную с соединениями, включая канальный уровень и информацию об IP-адресации. Это уровень 2 и уровень 3 в сетевой модели OSI.
Когда вы настраиваете сеть в Linux, вы обычно настраиваете соединения, которые в конечном итоге будут привязаны к сетевым устройствам, которые в свою очередь являются сетевыми интерфейсами, установленными на компьютере. Когда устройство использует соединение, оно считается активным или поднятым. Если соединение не используется, то оно неактивно или сброшено.
Добавление сетевых соединений
Утилита ncmli позволяет быстро добавлять и сразу же настраивать соединения. Например, чтобы добавить Wired connection 2 (с enp0s8), нужно от имени суперпользователя запустить следующую команду:
В опции type мы указываем, что это будет Ethernet-соединение, а в опции ifname (interface name) указываем сетевой интерфейс, который хотим использовать.
Вот что будет после запуска команды:
Создано новое соединение, ethernet-enp0s8. Ему был назначен UUID, тип подключения — Ethernet. Поднимем его с помощью команды up:
Ещё раз проверяем список активных соединений:
Добавлено новое соединение ethernet-enp0s8, оно активно и использует сетевой интерфейс enp0s8.
Настройка подключений
Утилита ncmli позволяет легко менять параметры уже существующих подключений. Например, вам нужно сменить динамический (DHCP) на статический IP-адрес.
Пусть нам нужно установить IP-адрес равным 192.168.4.26. Для этого используем две команды. Первая непосредственно установит IP-адрес, а вторая переключит метод установки IP-адреса на значение «вручную» (manual):
Не забудьте также задать маску подсети. Для нашего тестового подключения это 255.255.255.0, или с /24 для бесклассовой маршрутизации (CIDR).
Чтобы изменения вступили в силу, нужно деактивировать и затем активировать соединение вновь:
Если вам наоборот нужно установить DHCP, вместо manual используйте auto:
Работа с устройствами
Для этого мы используем секцию Device.
Проверка статуса устройств
Запрос информации об устройстве
Для этого используем действие show из секции Device (нужно обязательно указать имя устройства). Утилита показывает достаточно много информации, часто на нескольких страницах.
Давайте посмотрим на интерфейс enp0s8, который использует наше новое соединение. Убедимся, что оно использует ровно тот IP-адрес, который мы установили ранее:
Информации достаточно много. Выделим главное:
- Имя сетевого интерфейса: enp0s8.
- Тип соединения: проводное Ethernet-соединение.
- Мы видим MAC-адрес устройства.
- Указан Maximum transmission unit (MTU) — максимальный размер полезного блока данных одного пакета, который может быть передан протоколом без фрагментации.
- Устройство в данный момент подключено.
- Имя соединения, которое использует устройство: ethernet-enp0s8.
- Устройство использует тот IP-адрес, который мы установили ранее: 192.168.4.26/24.
Другая информация относится к дефолтным параметрам маршрутизации и шлюза соединения. Они зависят от конкретной сети.
Интерактивный редактор nmcli
У nmcli также имеется простенький интерактивный редактор, в котором кому-то работать может быть комфортнее. Чтобы запустить его, например, для соединения ethernet-enp0s8, используйте действие edit:
У него также есть небольшая справка, которая, правда, уступает по размеру консольной версии:
Если вы введёте команду print и нажмёте Enter, nmcli отобразит все свойства соединения:
Например, чтобы задать для подключения свойство DHCP, введите goto ipv4 и нажмите Enter:
Затем пропишите set method auto и нажмите Enter:
Если вы хотите очистить статический IP-адрес, нажмите Enter. В противном случае введите no и нажмите Enter. Вы можете сохранить его, если думаете, что он понадобится вам в будущем. Но даже с сохраненным статическим IP-адресом будет использован DHCP, если method установлен в значение auto.
Используйте команду save, чтобы сохранить изменения:
Введите quit, чтобы выйти из Интерактивного редактора nmcli. Если передумали выходить — используйте команду back.
И это далеко не всё
Откройте Интерактивный редактор nmcli и посмотрите, сколько существует настроек и сколько свойств имеет каждая настройка. Интерактивный редактор — отличный инструмент, но, если вы хотите использовать nmcli в однострочниках или скриптах, вам понадобится обычная версия для командной строки.
Теперь, когда у вас есть основы, ознакомьтесь со справочной страницей nmcli, чтобы узнать, чем ещё она может вам помочь.
На правах рекламы
Эпичные серверы — это виртуальные серверы на Windows или Linux с мощными процессорами семейства AMD EPYC и очень быстрыми NVMe дисками Intel. Спешите заказать!