Что такое network manager в linux

Управляем сетевыми подключениями в Linux с помощью консольной утилиты nmcli

Используйте все возможности инструмента управления сетевыми подключениями NetworkManager в командной строке Linux c помощью утилиты nmcli.

Утилита nmcli напрямую обращается к API для доступа к функциям NetworkManager.

Она появилась в 2010 году и для многих стала альтернативным способом настройки сетевых интерфейсов и соединений. Хотя кто-то до сих пор использует ifconfig. Так как nmcli — это инструмент интерфейса командной строки (CLI), предназначенный для использования в окнах терминалов и скриптах, он идеально подходит для системных администраторов, работающих без GUI.

Синтаксис команд nmcli

В общем виде синтаксис выглядит так:

Простые примеры

Перед началом работы убедитесь, что NetworkManager запущен и nmcli может общаться с ним:

Часто работу начинают с просмотра всех профилей сетевых подключений:

Это команда использует действие show для секции Connection.

На тестовой машине крутится Ubuntu 20.04. В данном случае мы нашли три проводных подключения: enp0s3, enp0s8, and enp0s9.

Управление подключениями

Важно понимать, что в nmcli под термином Connection мы подразумеваем сущность, которая содержит всю информацию о соединении. Другими словами, это конфигурация сети. Connection инкапсулирует всю информацию, связанную с соединениями, включая канальный уровень и информацию об IP-адресации. Это уровень 2 и уровень 3 в сетевой модели OSI.

Когда вы настраиваете сеть в Linux, вы обычно настраиваете соединения, которые в конечном итоге будут привязаны к сетевым устройствам, которые в свою очередь являются сетевыми интерфейсами, установленными на компьютере. Когда устройство использует соединение, оно считается активным или поднятым. Если соединение не используется, то оно неактивно или сброшено.

Добавление сетевых соединений

Утилита nmcli позволяет быстро добавлять и сразу же настраивать соединения. Например, чтобы добавить Wired connection 2 (с enp0s8), нужно от имени суперпользователя запустить следующую команду:

В опции type мы указываем, что это будет Ethernet-соединение, а в опции ifname (interface name) указываем сетевой интерфейс, который хотим использовать.

Вот что будет после запуска команды:

Создано новое соединение, ethernet-enp0s8. Ему был назначен UUID, тип подключения — Ethernet. Поднимем его с помощью команды up:

Ещё раз проверяем список активных соединений:

Добавлено новое соединение ethernet-enp0s8, оно активно и использует сетевой интерфейс enp0s8.

Настройка подключений

Утилита nmcli позволяет легко менять параметры уже существующих подключений. Например, вам нужно сменить динамический (DHCP) на статический IP-адрес.

Пусть нам нужно установить IP-адрес равным 192.168.4.26. Для этого используем две команды. Первая непосредственно установит IP-адрес, а вторая переключит метод установки IP-адреса на значение «вручную» (manual):

Не забудьте также задать маску подсети. Для нашего тестового подключения это 255.255.255.0, или с /24 для бесклассовой маршрутизации (CIDR).

Чтобы изменения вступили в силу, нужно деактивировать и затем активировать соединение вновь:

Если вам наоборот нужно установить DHCP, вместо manual используйте auto:

Работа с устройствами

Для этого мы используем секцию Device.

Проверка статуса устройств

Запрос информации об устройстве

Для этого используем действие show из секции Device (нужно обязательно указать имя устройства). Утилита показывает достаточно много информации, часто на нескольких страницах.
Давайте посмотрим на интерфейс enp0s8, который использует наше новое соединение. Убедимся, что оно использует ровно тот IP-адрес, который мы установили ранее:

Информации достаточно много. Выделим главное:

Интерактивный редактор 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. Спешите заказать!

Источник

Как запретить NetworkManager управлять определённым интерфейсом? (РЕШЕНО)

NetworkManager — это служба для Linux, которая управляет различными сетевыми интерфейсами, включая физические, такие как Ethernet и беспроводной, и виртуальные, такие как VPN и другие туннели. Network Manager можно настроить для управления некоторыми или всеми интерфейсами системы.

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

Хотя NetworkManager это отличная служба для управления повседневными потребностями компьютера пользователя, его эффекты обычно не оптимальны для среды тестирования. NetworkManager может самостоятельно, без запроса пользователя, менять MAC-адреса сетевых интерфейсов, а также менять их состояние — например, при подключении USB Wi-Fi адаптера именно NetworkManager переводит его в состояние up (включено), может вывести беспроводной интерфейс из режима монитора и перевести его в обычное состояние.

Если вы хотите избежать этого для определённых сетевых интерфейсов, то кроме очевидного решения остановить службу NetworkManager или удалить NetworkManager вовсе, есть другие варианты. Кстати, если вас только не устраивает, что MAC-адреса меняются на произвольные, то это можно настроить или отключить в самом NetworkManager.

Что такое unmanaged (без управления) интерфейс в NetworkManager

Состояние unmanaged (без управления) в NetworkManager для сетевого интерфейса означает, что NetworkManager никак не взаимодействует с данным сетевым интерфейсом: не включает его, не меняет его режим работы, не меняет MAC-адрес, не использует для поиска сетей и даже не показывает в списке сетевых интерфейсов — то есть NetworkManager делает вид, что этого интерфейса в системе просто нет.

Как определить, управляет ли NetworkManager определённым сетевым интерфейсом

Состояние unmanaged имеет эффект только в самом NetworkManager. Вы, как обычно, можете видеть все сетевые интерфейсы командой

или только беспроводные командой

При этом там никак не обозначено, управляет ли этим интерфейсом NetworkManager.

Как уже было сказано, если ваше устройство отсутствует в списке сетевых интерфейсов, которые показывает NetworkManager, значит оно может быть в состоянии unmanaged.

Но чтобы быть точно уверенным в этом, можно использовать команду nmcli — это инструмент командной строки для управления NetworkManager. Чтобы вывести список сетевых интерфейсов и их состояние выполните команду:

Для unmanaged устройств будет показано «без управления».

Предположим, я хочу, чтобы NetworkManager никак не менял настройки беспроводного сетевого интерфейса с именем wlp0s20f0u1.

Как временно перевести сетевой интерфейс в unmanaged (без управления) в NetworkManager

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

Чтобы на время сделать интерфейс unmanaged, выполните команду вида:

Обратите внимание на строку:

Данная настройка сбрасывается не только после перезагрузки компьютера, но и после отключения и подключения сетевого интерфейса.

Как перевести сетевой интерфейс в unmanaged (без управления) в NetworkManager, чтобы это сохранялось после перезагрузки

Чтобы NetworkManager не трогал сетевой интерфейс сразу после запуска службы и чтобы эта настройка сохранилась после перезагрузки, нужно использовать метод keyfile.

Для этого откройте файл /etc/NetworkManager/NetworkManager.conf:

И добавьте туда строки вида:

Вы можете перечислить любое количество MAC-адресов.

Посмотреть MAC-адреса сетевых интерфейсов можно командой

Но помните, что NetworkManager уже мог присвоить произвольный MAC-адрес, чтобы увидеть настоящий, выполните команду вида:

Перечислите MAC-адрес каждого интерфейса, который Network Manager должен игнорировать, через точку с запятой. Убедитесь, что перечисленные здесь MAC-адреса записаны в нижнем регистре.

Более новые версии NetworkManager могут также использовать более общий альтернативный метод KEYFILE, который не включает фактические MAC-адреса и вместо этого использует имена интерфейсов. Этот синтаксис заменяет приведённый выше раздел Что такое network manager в linux следующим:

К примеру, я хочу, чтобы NetworkManager не управлял сетевыми интерфейсами wlp0s20f0u1, wlp0s20f0u2 и wlp0s20f0u3, тогда мои строки следующие:

Сохраните сделанные изменения и перезапустите службу:

Как вернуть сетевой интерфейс под управление NetworkManager

Теперь перечисленные сетевые интерфейсы всегда будут «без управления». Но их можно вновь передать под управление NetworkManager. Для этого достаточно откатить сделанные изменения в файле NetworkManager.conf и перезапустить службу.

Если вы вывели интерфейс из-под управления NetworkManager командой nmcli, то вернуть его в прежнее состояние можно командой:

Как выключить NetworkManager

Если вы хотите полностью остановить NetworkManager, чтобы он перестал управлять сразу всеми сетевыми интерфейсами, то выполните команду:

Если вы хотите убрать NetworkManager из автозагрузки, то выполните:

Чтобы вновь запустить NetworkManager и добавить его в автозагрузку выполните:

Источник

Настройка Network Manager в консоли

В этой инструкции будет рассмотрена настройка Network Manager в консоли с помощью утилиты nmcli. С настройкой в графическом интерфейсе вы разберетесь без каких-либо инструкций, поэтому была выбрана именно эта тема. Также поговорим о том, как посмотреть информацию о сетевых интерфейсах в системе.

Собираем информацию о системе

Чтобы получить информацию обо всех установленных в системе сетевых интерфейсах используйте команду:

Для просмотра статистики переданных и полученных пакетов для интерфейса, например, enp24s0, наберите:

А чтобы посмотреть таблицу маршрутизации:

ip route show match 0/0

Синтаксис и опции nmcli

$ nncli опции объект команда

Чаще всего в nmcli мы будем использовать такие объекты:

Команды для каждого объекта разные, а опции нам не будут интересны. Дальше рассмотрим примеры nmcli network manager.

Настройка сети с помощью nmcli

1. Запустить NetworkManager

Первым делом нужно запустить NetworkManager из консоли:

sudo systemctl start NetworkManager

Теперь смотрим состояние интерфейсов с помощью nmcli:

nmcli general status

Еще мы можем посмотреть имя хоста:

nmcli general hostname

Получаем состояние интерфейсов

nmcli device status

2. Список подключений

Теперь самое интересное, управление сетью nmcli. Смотрим список доступных подключений:

nmcli connection show

Здесь вы можете видеть одно проводное подключение для интерфейса enp24s0. С помощью следующей команды можно посмотреть информацию о нём:

nmcli connection show «Проводное соединение 2»

3. Управление подключениями

Чтобы подключится к сети с помощью нужного подключения используйте команду up:

nmcli connection up «Проводное соединение 2»

Команды можно сокращать, например:

nmcli conn up «Проводное соединение 2»

А для деактивации подключения используйте команду down:

nmcli conn down «Проводное соединение 2»

4. Создание DHCP соединения

Чтобы создать новое подключение используйте команду add. Например создадим новое подключение с именем dhcp:

nmcli connection add con-name «dhcp» type ethernet ifname enp24s0

5. Создание соединения с статическим адресом

Для статического подключения настроек больше, вам надо передать команде add ip адрес, который будет использоваться в качестве основного в параметре ip4, а также шлюз с помощью параметра gw4:

nmcli connection add con-name «static» ifname enp2s0 autoconnect no type ethernet ip4 192.168.0.210 gw4 192.168.0.1

6. Настройка подключения

Продолжим настройку нашего статического соединения. Обычно оно уже может работать, но вы можете захотеть добавить DNS сервер. Для этого используется команда modify:

nmcli conn modify «static» ipv4.dns 8.8.8.8

И ещё один DNS сервер с помощью оператора +:

nmcli conn modify «static» +ipv4.dns 8.8.4.4

Для добавления дополнительной информации в поле используйте символ +. Например, вот так можно добавить еще один ip адрес:

nmcli conn modify «static» +ipv4.addresses 192.168.0.240/24

Обратите внимание, что IP адрес должен быть из той же подсети, что и ваш шлюз иначе может ничего не работать. Теперь можете активировать подключение:

nmcli connection up static

7. Настройка Wifi

В графическом интерфейсе это делается одной галочкой, здесь одной командой. Смотрим состояние wifi:

nmcli radio wifi on

nmcli radio wifi off

Такой командой можно посмотреть список доступных сетей wifi:

nmcli device wifi list

Команда для подключения к новой сети wifi выглядит не намного сложнее. Например, давайте подключимся к сети TP-Link с паролем 12345678:

nmcli device wifi connect «TP-Link» password 12345678 name «TP-Link Wifi»

Если всё прошло хорошо, то вы получите уже привычное сообщение про создание подключения с именем TP-Link Wifi и это имя в дальнейшем можно использовать для редактирования этого подключения и управления им, как описано выше.

Выводы

Как видите, все очень просто и быстро. Настройка network manager в консоли выполняется в пару команд, достаточно только их запомнить или где-нибудь написать, чтобы вы могли выполнить управление сетью nmcli когда это понадобится.

Источник

Ubuntu Documentation

Network Manager

Network Manager aims for Network Connectivity which «Just Works». The computer should use the wired network connection when it’s plugged in, but automatically switch to a wireless connection when the user unplugs it and walks away from the desk. Likewise, when the user plugs the computer back in, the computer should switch back to the wired connection. The user should, most times, not even notice that their connection has been managed for them; they should simply see uninterrupted network connectivity.

Installation

NetworkManager should be installed by default on Ubuntu Desktop installs, as well as most flavours of Ubuntu.

To install NetworkManager:

To install the GNOME applet / indicator:

VPN support

Network Manager VPN support is based on a plug-in system. If you need VPN support via network manager you have to install one of the following packages:

The network-manager-pptp plugin is installed by default.

On GNOME, you also need to install the -gnome packages for the VPN plugin you choose:

Start

The steps to start NetworkManager depend on which of the initialization subsystems are running: Upstart or Systemd.

Using Upstart

Start network manager

Using Systemd

Systemd became the default initialization system in Ubuntu 15.04. Here’s how to start Network Manager and enable it to be restarted after a reboot:

Start network manager

Enable restarting the network manager when the system reboots

NM-applet Overview

The network-manager or the nm-applet is the one which is found in the systray. The icon of two computers, one below to the other on the left-side.

Clicking on NM-applet will give you the types of connection/hardware you have available.

For e.g. if you have a wired connection clicking on it will give you something like: Wired Network (D-Link System RTL-8139/8139C/8139C+ Auto eth1

Now let’s break down what such a notification would mean.

b. (D-Link System RTL-8139/8139C/8139C+ :- the chipset which enables the connection to be made.

c. Auto/Manual eth1 :- If the connection is has been made automatically or generated through the system settings or/and done manually. Any one connection can only have only of the states not both. The eth1 is just a name to make it easier for the user to know which way he’s connected through to the network/Internet.

Right-click Options

Right-clicking on the applet will give you the following options

a. A checkbox saying Enable Networking or not.

b. Connection Information: Giving info. on the same below.

c. Edit Connections: This is the NM-connections editor which we will talk about a little later.

d. About: Which gives the status of current version of network-manager installed and a link to the upstream network-manager site.

Connection Information

Then there is some distance and information regarding how the actual connection is set up in terms of the IP Address taken/given, the IP Address at which its broadcasting its presence to others, the Subnet Mask used and lastly the DNS address.

NM-connections editor

The NM-connections editor is where the user can edit and create the various connection types. To invoke the nm-connections editor you need to right-click on the nm-applet and then click on Edit Connections. Clicking on that option would result in a tabbed window called network connections having different ways to connect to the network/Internet.

Connection Types

Wired connections

This type of connection is one where you are connecting to the Internet through an Ethernet connection to some router/modem.

Wireless

This type of connection is one where one is connected to the Internet through a wireless card & base-station combo.

Mobile Broadband

This type of connection is similar to wireless, the only difference would be the hardware. Its normally based on a high-speed portable wireless card which may follow GPRS, 3G, WiMAX, UMTS/HSPA or/and EV-DO standards.

This type of connection is usually used by corporates to connect to their workplace via the internet or by universities to make special services available to their students and staff. Currently no more than one VPN connection at a time is supported (see here). The VPN packages are not installed by default. See VPN for how to do that.

This type of connection is when one is transferring data over the public telephone network (also known as POTS). Need some type of XDSL modem (ADSL is common type of connection).

Creating/Modifying a User connection

Hint: Making any change to an existing wired connection will only be applied after you finish editing and then left-click the connection name (left-click the Network Manager icon to access the list of connections) or by rebooting your system. Changes will also be automatically applied if your change the Connection name of a connection.

So how do we add or modify a user connection. Let’s start by adding a user connection. So we do the following steps:

a. Invoke nm-connection-editor by right-clicking on network-manager icon, clicking on Edit Connections which brings up the network-connections having various options to connect to the local network or/and the Internet.

b. Choose one of the options depending on the hardware and the way the connection is set up. We would be looking at all the 5 options in the network connections one by one as to what information needs to be filled up.

Adding Wired connections

Wired Tab

For this one needs to click on the Add button after selecting the Wired tab in Network Connections as shown above.

Clicking on that tab would bring you to another box having three tabs, i.e. Wired, 802.1x and lastly IPv4 settings.

At the top one needs to give some name to the connection, by default it is showing as Wired Connection 1. You can either use that or make it something which is recognizable and easily remembered by you.

A little distance below there are two options with check-boxes just next to them. The first option asks whether you want network-manager to connect automatically or not. Clicking on that would make network-manager automatically try to resolve or making that connection happen for you.

The second one says System Settings. Systems settings are an option so one can configure connections system-wide, so they get enabled without you being logged in. This was not possible to do before 0.7.

Just below that is the wired tab. The Wired tab has a field called «MAC address». The MAC (Media Access Control) address is a unique identifier for the Ethernet card/Network Interface card. The MAC address is written in the form of a set of 6 grouped hexadecimal digits, e.g. 01:23:45:67:89:AB.

To find out your MAC address you can run:

You will get something like this:

802.1x security

This tab is for secure communications where one wants to have port-based authentication using some authentication server. After checking the box to use 802.1x security for the connection you have to choose which authenticated protocol to use from TLS, Tunneled TLS or Protected EAP. Would also need to give some identity as well as choose a user or/and some certifying authority’s certificate. You would also need to give your private key particulars as well as a Private Key password. You may choose or not to show the password.

IPv4 Settings

This is the last but perhaps the most interesting tab in the Wired Networking tab, where one has various options of connecting:

a. Automatic (DHCP)
b. Automatic (DHCP Addresses only)
c. Manual
d. Link-local only and lastly
e. Shared to other computers

User Settings and System Settings

All the connection configuration files will be stored here.

User settings are defined as files in those directories that include specific access controls to limit the access to a specific user.

Issues

If it is not managing your network connections, you’ll need to comment out the references to all interfaces (except lo) in /etc/network/interfaces to let Network Manager handle them.

It should look similar to this when you are done:

Then reboot and you should be good to go!

Stopping and Disabling NetworkManager

The steps to disable NetworkManager depend on which of the initialization subsystems are running: Upstart or Systemd.

Using Upstart

According to this bug here’s how to disable Network Manager without uninstalling it:

Stop network manager

Create an override file for the Upstart job:

Using Systemd

Systemd became the default initialization system in Ubuntu 15.04. Here’s how to stop and disable Network Manager without uninstalling it (taken from AskUbuntu):

Stop network manager

Disable network manager (permanently) to avoid it restarting after a reboot

Editing Network Settings in nm-connection-editor

Nm-connection-editor is the configuration applet that provides easy access to advanced network settings and allows greater configuration options through a simple interface. To access nm-connection-editor, right-click on the network icon in the notification area and select Edit Connections.

Changing a network’s encryption key

Nm-connection-editor enables you to easily update a network’s encryption key by displaying the current key for each network and giving you the option of displaying it in clear text while you edit.

Ensuring connection to particular access points

You can specify a particular BSSID directly in nm-connection-editor. This means that in a wireless network with more than one access point, you can choose the one NetworkManager will connect to.

Using NetworkManager on the command line

NetworkManager now ships with nmcli, a simple interface to allow users to connect to particular networks, and even create connections to new wireless networks they have never connected to:

Provides all the information about how to use the nmcli utility.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Что такое netinstall linux
  • что такое net framework для windows xp
  • Что такое mywinlocker для windows 7
  • что такое mx5 программа
  • Что такое mvp в программировании

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии