NetworkManager: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Метка: отменено
 
(не показано 13 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{Stub}}
В текущих настольных дистрибутивах ОС «Альт» в качестве штатного средства управления сетевыми интерфейсами по умолчанию применяется {{pkg|NetworkManager}}; при этом обеспечено его взаимодействие с [[etcnet]], а средствами [[Alterator-net-eth|{{pkg|alterator-net-eth}}]] при необходимости возможно выбрать, какой именно интерфейс какой подсистемой обслуживается.
В текущих настольных дистрибутивах ОС Альт в качестве штатного средства управления сетевыми интерфейсами по умолчанию применяется {{pkg|NetworkManager}}; при этом обеспечено его взаимодействие с [[etcnet]], а средствами {{pkg|alterator-net-eth}} при необходимости возможно выбрать, какой именно интерфейс какой подсистемой обслуживается.


==GUI==
Для NetworkManager доступно несколько интерфейсов:
* [[#plasma5-nm|графический интерфейс]]: апплет и редактор Plasma для управления сетевыми подключениями в KDE (пакет {{pkg|plasma5-nm}});
* [[#NetworkManager-applet-gtk|графический интерфейс]]: апплет и редактор GTK для управления сетевыми подключениями в MATE/Cinnamon/Xfce (пакет {{pkg|NetworkManager-applet-gtk}});
* [[#Утилита nmcli|командная строка]]: {{cmd|nmcli}} — инструмент командной строки, который позволяет пользователям и сценариям взаимодействовать с NetworkManager;
* [[#Утилита nmtui|текстовый интерфейс]] (TUI): простой текстовый GUI на основе curses (пакет {{pkg|NetworkManager-tui}}).


Для настройки сети в MATE/Cinnamon/Xfce используется апплет NetworkManager. Он отображается в трее.
== GUI ==
=== NetworkManager-applet-gtk ===
Для настройки сети в MATE/Cinnamon/Xfce используется NetworkManager.


[[Файл:NetworkManager1.png|центр]]
Апплет NetworkManager отображается в системном трее:


Если он у Вас отсутствует, то необходимо установить следующий пакет:
[[Файл:NetworkManager1.png|Апплет NetworkManager в системном трее]]
NetworkManager-applet-gtk
 
Если он у вас отсутствует, то необходимо установить пакет {{pkg|NetworkManager-applet-gtk}}:
<syntaxhighlight lang="bash"># apt-get install NetworkManager-applet-gtk</syntaxhighlight>
И перелогиниться.
И перелогиниться.


Если кликнуть левой кнопкой мыши по значку сети, то отобразится меню выбора сетевого подключения.
При щелчке левой кнопкой мыши по значку сети отобразится меню выбора сетевого подключения:
 
[[Файл:NetworkManager2.png|220px|Меню выбора сетевого подключения]]
 
В данном примере нам доступны три вида сетевых подключений:
* LAN (Ethernet)
* Wi-Fi
* VPN
 
При щелчке по значку правой кнопкой мыши можно:
* полностью включить/выключить сеть;
* включить/выключить Wi-Fi;
* включить/выключить уведомления;
* получить сведения о соединении (если есть хотя бы одно активное подключение);
* настроить соединения;
* посмотреть сведения о программе.
 
[[Файл:NetworkManager3.png|200px|Апплет NetworkManager. Контекстное меню]]
 
==== Ethernet ====
Чтобы подключиться по Ethernet, нужно в контекстном меню апплета NetworkManager выбрать Ethernet-соединение:
 
[[Файл:NetworkManager3-1.png|200px|Апплет NetworkManager. Ethernet-соединение в контекстном меню]]
 
Система подключится к сети и получит настройки сети по DHCP (если для интерфейса выбран метод «Автоматически (DHCP)»).
 
===== Статический адрес =====
 
{{note|NetworkManager под именем «System enp2s0»/«System eth0» показывает системное Ethernet-соединение, создаваемое [[Etcnet]]. Изменить его в диалоге «Сетевые соединения» невозможно. Это соединение можно изменить в [[Alterator-net-eth|ЦУС]], там же можно выбрать, какой именно интерфейс, какой подсистемой обслуживается.}}


[[Файл:NetworkManager2.png|220px|центр]]
Если нужно указать адрес вручную или в вашей сети нет DHCP-сервера, то нужно проделать следующее:
Нам доступны три вида:
*LAN (Ethernet)
*Wi-Fi
*VPN


Если по значку кликнуть правой кнопкой мыши, то мы можем:
Щёлкнуть правой кнопкой мыши по значку сети и выбрать пункт «Параметры соединений…»:
[[Файл:NetworkManager3.png|центр|200px]]
*Полностью включить/выключить сеть
*Включить/выключить Wi-Fi
*Включить/выключить уведомления
*Получить сведения о соединении (когда есть хотя-бы одно активное подключение)
*Настроить соединения
*Посмотреть сведения о программе
===Ethernet===
Чтобы подключиться по Ethernet Вы можете кликнуть по значку сети и выбрать Ethernet-соединение.
[[Файл:NetworkManager3-1.png|центр|200px]]
Система подключится к сети и получит настройки сети по DHCP.


====Статический адрес====
[[Файл:NetworkManager3-2.png|200px|Апплет NetworkManager. Пункт «Параметры соединений…»]]
Если Вам нужно получить адрес вручную или в Вашей сети нет DHCP сервера, то нужно проделать следующее:


Кликаем по значку сети правой кнопкой мыши -> Выбираем "Параметры соединений":
Откроется окно «Сетевые соединения». Выбрать проводное соединение и нажать кнопку «Изменить» (или дважды щёлкнуть по соединению):
[[Файл:NetworkManager3-2.png|центр|200px]]


Выберите проводное соединение дважды кликнув по соединению.
[[Файл:NetworkManager4.png|400px|Выбор соединения]]
[[Файл:NetworkManager4.png|центр|400px]]


Откроется следующее окно. Перейдите во вкладку "Параметры IPv4":
{{note|Открыть окно «Сетевые соединения» также можно, выполнив команду:
[[Файл:NetworkManager5.png|центр|500px]]
<syntaxhighlight lang="bash">$ nm-connection-editor</syntaxhighlight>}}


Нажмите на выпадающий список "Метод":
В открывшемся окне перейти во вкладку «Параметры IPv4»:
[[Файл:NetworkManager6.png|центр|500px]]


Выберите метод "Вручную":
[[Файл:NetworkManager5.png|500px|NetworkManager. Вкладка Параметры IPv4]]
[[Файл:NetworkManager7.png|центр|500px]]


Введите в указанные поля параметры IP и DNS. Чтобы сохранить изменения, нажмите кнопку "Сохранить".
Нажать на выпадающий список «Метод»:
[[Файл:NetworkManager9.png|центр|500px]]


Введите пароль суперпользователя для сохранения изменений.
[[Файл:NetworkManager6.png|500px|NetworkManager. Вкладка Параметры IPv4]]
[[Файл:NetworkManager10.png|центр|500px]]


===Wi-fi===
Выбрать метод «Вручную»:
Чтобы подключиться к Wi-fi сети, первым делом, кликнув ПРАВОЙ кнопкой мыши по значку сети в трее, проверьте, стоит ли галочка напротив пункта "Включить Wi-fi".
 
[[File:NetworkManager-wifi1.png|200px|center]]
[[Файл:NetworkManager7.png|500px|NetworkManager. Вкладка Параметры IPv4]]
 
Ввести в указанные поля параметры IP и DNS. Чтобы сохранить изменения, нажать кнопку «Сохранить»:
 
[[Файл:NetworkManager9.png|500px|NetworkManager. Вкладка Параметры IPv4]]
 
Ввести пароль администратора для сохранения изменений:
 
[[Файл:NetworkManager10.png|500px|NetworkManager. Запрос пароля для сохранения настроек]]
 
==== Wi-fi ====
Чтобы подключиться к Wi-fi сети, первым делом, щёлкнув ПРАВОЙ кнопкой мыши по значку сети в трее, проверьте, стоит ли отметка напротив пункта «Включить Wi-fi»:
 
[[File:NetworkManager-wifi1.png|200px|NetworkManager. Пункт «Включить Wi-fi»]]
 
Щёлкнув по тому же значку уже ЛЕВОЙ кнопкой мыши, выбрать пункт «Сети Wi-fi»→«Доступные сети» и нужную сеть:
 
[[File:NetworkManager-wifi2.png|400px|NetworkManager. Доступные сети Wi-fi]]
 
Если сеть зашифрованная, ввести от неё пароль:
 
[[File:NetworkManager-wifi3.png|400px|NetworkManager. Подключение к сети Wi-fi]]


Кликните по тому же значку уже ЛЕВОЙ кнопкой мыши, выберите пункт "Сети Wi-fi">Доступные сети> И выберите нужную Вам сеть.
[[File:NetworkManager-wifi2.png|400px|center]]
Если сеть зашифрованная, введите от нее пароль.
[[File:NetworkManager-wifi3.png|400px|center]]
Вы успешно подключились!
Вы успешно подключились!
[[File:NetworkManager-wifi4.png|400px|center]]
====Статический адрес====
Чтобы настроить статический адрес у Wi-fi, кликните правой кнопкой мыши по значку сети и выбери пункт "Параметры соединений".
[[File:NetworkManager-wifi5.png|200px|center]]
Выберите нужную Вам сеть.
[[File:NetworkManager-wifi6.png|400px|center]]
Перейдите во вкладку "Параметры IPv4"
[[File:NetworkManager-wifi7.png|400px|center]]
В разделе "Метод" выберите "Вручную"
[[File:NetworkManager-wifi8.png|400px|center]]
Настройте IP адрес и нажмите "сохранить"
[[File:NetworkManager-wifi9.png|400px|center]]


==Консольный интерфейс==
[[File:NetworkManager-wifi4.png|400px|NetworkManager. Подключение к сети Wi-fi]]
Так же можно настроить сеть через консольный интерфейс. Для этого нужно установить пакет с ncurses-интерфейсом:
 
  # apt-get install NetworkManager-tui
===== Статический адрес =====
Для запуска программы введите в консоли:
Чтобы настроить статический адрес для интерфейса Wi-fi, следует щёлкнуть правой кнопкой мыши по значку сети и выбрать пункт «Параметры соединений…»:
  # nmtui
 
[[File:NetworkManager-wifi5.png|200px|NetworkManager. Параметры соединений…]]
 
Выбрать нужную сеть и нажать кнопку «Изменить» (или дважды щёлкнуть по соединению):
 
[[File:NetworkManager-wifi6.png|400px|NetworkManager. Выбор сети]]
 
Перейти во вкладку «Параметры IPv4»:
 
[[File:NetworkManager-wifi7.png|400px|NetworkManager. Вкладка Параметры IPv4]]
 
В разделе «Метод» выбрать «Вручную»:
 
[[File:NetworkManager-wifi8.png|400px|NetworkManager. Вкладка Параметры IPv4]]
 
Настроить IP-адрес и нажать кнопку «Cохранить»:
 
[[File:NetworkManager-wifi9.png|400px|NetworkManager. Вкладка Параметры IPv4]]
 
==== Настройка VLAN ====
Для создания VLAN-интерфейса необходимо:
# Открыть окно «Сетевые соединения», выбрав в меню аплета NM пункт «Параметры соединений…», или выполнив команду:
#: <syntaxhighlight lang="bash">$ nm-connection-editor</syntaxhighlight>
# Нажать кнопку «Добавить». В открывшемся окне «Выберите тип соединения» выбрать «VLAN» и нажать «Создать»:
#:[[Изображение:NetworkManager-VLAN-02.png|400px|Создать VLAN]]
# В открывшемся окне на вкладке «VLAN» выбрать из раскрывающегося списка родительский интерфейс, который будет использоваться для подключения VLAN, ввести идентификатор VLAN (VLAN ID — число от 1 до 4094), ввести имя интерфейса VLAN (обычно это либо имя родительского интерфейса плюс «.» и идентификатор VLAN, либо «vlan» плюс идентификатор VLAN):
#:[[Изображение:NetworkManager-VLAN-03.png|400px|NetworkManager. Создать VLAN]]
# На вкладке «Параметры IPv4» установите IP-адрес для интерфейса (если интерфейс не получает IP-адрес по DHCP).
# Нажать кнопку «Сохранить».
 
{{Note|Устройства VLAN поднимаются автоматически только в том случае, если родительский интерфейс настроен на автоматическое подключение.}}
 
=== plasma5-nm ===
Для настройки сети в KDE используется NetworkManager (виджет «Управление сетью»).
 
При нажатии левой кнопки мыши на значок «Управление сетью», откроется меню, в котором показана информация о текущих соединениях. Здесь также можно выбрать одну из доступных Wi-Fi сетей и подключиться к ней, или отключить активное Wi-Fi соединение:
 
[[Изображение:Plasma5-nm_02.png|400px|KDE. Апплет NetworkManager]]
 
Для настройки соединений, следует нажать кнопку «Настроить сетевые соединения…», вызываемую при нажатии правой кнопки мыши на значке «Управление сетью»:
 
[[Изображение:Plasma5-nm_01.png|400px|KDE. Апплет NetworkManager]]
 
В открывшемся окне будет показан, сгруппированный по типам, список соединений:
 
[[Изображение:Kcm_networkmanagement.png|KDE. Окно «Соединения — Параметры системы»]]
 
Здесь можно добавлять новые и настраивать существующие соединения.
 
{{note|Открыть окно «Соединения — Параметры системы» также можно, выполнив команду:
<syntaxhighlight lang="bash">$ systemsettings5 kcm_networkmanagement</syntaxhighlight>}}
 
== Консоль ==
=== Утилита nmcli ===
 
{{cmd|nmcli}} — это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети. {{cmd|nmcli}} можно использовать для создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений, а также для управления состоянием сетевых устройств.
 
Синтаксис команды {{cmd|nmcli}}:
 
<syntaxhighlight lang="bash">$ nmcli <опции> <объект> <команда></syntaxhighlight>
 
Объекты над которыми могут выполняется операции с помощью команды {{cmd|nmcli}}:
 
* general — возвращает состояние и разрешения NetworkManager, позволяет получить/изменить имя хоста, а также уровень ведения журнала NetworkManager;
* networking — возвращает состояние сетевых подключений, позволяет включить/отключить сеть;
* radio — возвращает состояние подключения к сети Wi-Fi, позволяет включить/отключить сеть Wi-Fi;
* connection — позволяет управлять сетевыми интерфейсами, позволяет добавить/удалить соединение;
* device — возвращает состояние, позволяет управлять настройками сетевых устройств;
* monitor — мониторинг активности NetworkManager, позволяет отслеживать изменения состояний сетевых подключений.
 
Состояние NetworkManager:
<syntaxhighlight lang="bash">$ nmcli general status
STATE      CONNECTIVITY  WIFI-HW  WIFI      WWAN-HW  WWAN   
подключено  полностью    включено  включено  missing  включено</syntaxhighlight>
Состояние сетевых интерфейсов:           
<syntaxhighlight lang="bash">$ nmcli device status
DEVICE            TYPE      STATE          CONNECTION     
enp0s31f6          ethernet  подключено      System enp0s31f6
wlp0s20f3          wifi      подключено      Space2         
p2p-dev-wlp0s20f3  wifi-p2p  отключено      --             
lo                loopback  без управления  --    </syntaxhighlight>
 
Проверка состояния подключения к сети:
<syntaxhighlight lang="bash">$ nmcli networking connectivity check
full</syntaxhighlight> 
 
Список доступных подключений:       
<syntaxhighlight lang="bash">$ nmcli connection show
NAME              UUID                                  TYPE      DEVICE   
System enp0s31f6  0f179fcd-4c89-e0f9-6475-062aa5905ceb  ethernet  enp0s31f6
Space2            21f113eb-f40c-468f-9727-0f0baec6489e  wifi      wlp0s20f3
QHotspot          29b1afe5-4812-4457-8ab1-5bfc3f2a536c  wifi      --       
Space3            78806f0d-c3da-4c18-9d73-1ea5e8c94ea7  wifi      --       
Space5            c8943b43-13e1-4f42-89e6-bdad984ebd0b  wifi      --  </syntaxhighlight>
 
Информация о подключении '''System enp0s31f6''':       
<syntaxhighlight lang="bash">$ nmcli connection show "System enp0s31f6"</syntaxhighlight>
 
Деактивировать подключение '''System enp0s31f6''':       
<syntaxhighlight lang="bash">$ nmcli conn down "System enp0s31f6"</syntaxhighlight>
 
Изменить подключение '''System enp0s31f6''' с DHCP на Static:
<syntaxhighlight lang="bash">$ nmcli con mod "System enp0s31f6" ipv4.method manual ipv4.address 192.168.0.40/24 ipv4.gateway 192.168.0.1</syntaxhighlight>
 
Указать DNS-сервер:
<syntaxhighlight lang="bash">$ nmcli connection modify "System enp0s31f6" ipv4.dns 192.168.0.122</syntaxhighlight>
 
Добавить DNS-сервер к имеющимся:
<syntaxhighlight lang="bash">$ nmcli connection modify "System enp0s31f6" +ipv4.dns 8.8.8.8</syntaxhighlight>
 
Изменить подключение '''System enp0s31f6''' на DHCP:
<syntaxhighlight lang="bash">$ nmcli con mod "System enp0s31f6" ipv4.method auto</syntaxhighlight>
 
Вывести список доступных сетей Wi-Fi:
<syntaxhighlight lang="bash">$ nmcli device wifi list</syntaxhighlight>
 
[[Файл:NetworkManager-wifi-list.png|Список доступных Wi-Fi сетей]]
 
Подключиться к сети Wi-Fi:
<syntaxhighlight lang="bash">$ nmcli dev wifi con Space5 password io67%gfds name Space5 private yes</syntaxhighlight>
 
Создать точку доступа Wi-Fi:
<syntaxhighlight lang="bash">$ nmcli -s dev wifi hotspot con-name QHotspot
Пароль точки доступа: bcL9ZEVx
Устройство «wlp0s20f3» успешно активировано с «d22e6d34-6357-4c96-9b3c-2d63099c8681».
Подсказка: "nmcli dev wifi show-password" покажет имя и пароль Wi-Fi.</syntaxhighlight>
Данная команда создаст профиль подключения к точке доступа и активирует его на устройстве. Точка доступа защищена WPA, если устройство/драйвер поддерживает WPA, в противном случае используется WEP. Если для точки доступа не задан пароль (опция --password), nmcli сгенерирует пароль.
 
Удалить подключение:
<syntaxhighlight lang="bash">$ nmcli con del QHotspot</syntaxhighlight>
 
Изменение настроек сети с созданием контрольной точки:
<syntaxhighlight lang="bash">$ nmcli dev checkpoint --timeout 30 ifname enp0s3  -- nmcli dev dis enp0s3
Device 'eth0' successfully disconnected.
Type "Yes" to commit the changes: No
Checkpoint was removed.</syntaxhighlight>
 
Контрольная точка — это снимок активной конфигурации сети с таймером. Контрольная точка позволяет вернуться к рабочей конфигурации сети, если какие-либо изменения делают машину недоступной по сети. Необходимо сначала определить контрольную точку, затем внести потенциально опасные изменения и,если изменения не нарушили подключение, подтвердить их. Если изменения вызывают сбой в сети и таймер истекает до того, как пользователь сможет подтвердить изменения, то изменения отменяются. В данном примере контрольная точка создаётся перед отключением устройства enp0s3, если пользователь не подтвердит изменение за 30 секунд enp0s3 будет возвращено в то состояние, в котором оно находилось  на момент захвата контрольной точки.
 
==== Объединение сетевых интерфейсов (bonding) ====
 
{{Note|При управлении интерфейсами объединённых/сгруппированных портов с помощью демона NetworkManager и особенно при поиске неисправностей следует иметь в виду следующее:
# Запуск управляющего интерфейса не приводит к автоматическому запуску интерфейсов портов.
# Запуск интерфейса порта всегда запускает управляющий интерфейс.
# Остановка управляющего интерфейса останавливает интерфейсы портов.
# Управляющий интерфейс без портов может запускать статические IP-соединения.
# Управляющий интерфейс без портов ожидает порты при запуске DHCP-соединений.}}
 
Просмотреть существующие сетевые подключения:
<syntaxhighlight lang="bash">$ nmcli connection show
NAME          UUID                                  TYPE      DEVICE
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8</syntaxhighlight>
 
Создать bonding интерфейс с именем bond0 (режим «Active Backup»):
<syntaxhighlight lang="bash"># nmcli connection add type bond ifname bond0 bond.options "mode=active-backup"
Подключение «bond-bond0» (38b5a3a1-5395-4f80-9909-96a11aefec8a) успешно добавлено.</syntaxhighlight>
 
Вывести информацию о подключениях:
<syntaxhighlight lang="bash">$ nmcli connection show
NAME          UUID                                  TYPE      DEVICE
bond-bond0    38b5a3a1-5395-4f80-9909-96a11aefec8a  bond      bond0 
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8 </syntaxhighlight>
 
Отключить (или удалить) действующие соединения интерфейсов enp0s3 и enp0s8:
<syntaxhighlight lang="bash"># nmcli connection down "Native enp0s3"
Подключение «Native enp0s3» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/1)
# nmcli connection down "Native enp0s8"
Подключение «Native enp0s8» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/2)</syntaxhighlight>
 
{{Note|Не удаляйте сразу все действующие соединения, если вы подключены к системе удалённо. Удалите сначала одно соединение, свяжите его с bond0, а после того как будет поднято объединённое соединение — повторите действия для второго.}}
 
Выполнить команды объединения сетевых интерфейсов enp0s3 и enp0s8 в bond0:
<syntaxhighlight lang="bash"># nmcli connection add type ethernet con-name bond0-port0 ifname enp0s3 master bond0
Подключение «bond0-port0» (3aec53f7-82d2-4432-beaa-eb1975e52507) успешно добавлено.
 
# nmcli connection add type ethernet con-name bond0-port1 ifname enp0s8 master bond0
Подключение «bond0-port1» (2ef1579e-7816-456c-beaa-e6d1e6a4063e) успешно добавлено.</syntaxhighlight>
 
Вывести информацию о сетевых настройках:
<syntaxhighlight lang="bash">$ nmcli
bond0: подключено к bond-bond0
        "bond0"
        bond, 02:66:B3:68:52:71, программное обеспечение, MTU 1500
        ip4 по умолчанию
        inet4 192.168.0.190/24
        route4 192.168.0.0/24 metric 300
        route4 default via 192.168.0.1 metric 300
        inet6 fd47:d11e:43c1:0:8d91:b6ee:a87a:1e6a/64
        inet6 fe80::1763:748:6bc8:d953/64
        route6 fe80::/64 metric 1024
        route6 fd47:d11e:43c1::/64 metric 300
        route6 fd47:d11e:43c1::/48 via fe80::6670:2ff:fede:d4c0 metric 300
 
enp0s3: подключено к bond0-port0
        "Intel 82540EM"
        ethernet (e1000), 02:66:B3:68:52:71, аппаратное обеспечение, MTU 1500
        основное bond0
 
enp0s8: подключено к bond0-port1
        "Intel 82540EM"
        ethernet (e1000), 02:66:B3:68:52:71, аппаратное обеспечение, MTU 1500
        основное bond0
 
lo: без управления
        "lo"
        loopback (unknown), 00:00:00:00:00:00, программное обеспечение, MTU 65536</syntaxhighlight>
 
Информацию о получившемся агрегированном интерфейсе можно посмотреть в {{path|/proc/net/bonding/bond0}}:
<syntaxhighlight lang="ini">Ethernet Channel Bonding Driver: v6.1.49-un-def-alt1
 
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: enp0s8
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
 
Slave Interface: enp0s8
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:0c:f5:9b
Slave queue ID: 0
 
Slave Interface: enp0s3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:8b:4f:61
Slave queue ID: 0</syntaxhighlight>
 
==== Группирование сетевых интерфейсов (teaming) ====
 
Существующие сетевые подключения:
<syntaxhighlight lang="bash">$ nmcli connection show
NAME          UUID                                  TYPE      DEVICE
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8</syntaxhighlight>
 
Создать teaming интерфейс с именем team0:
<syntaxhighlight lang="bash"># nmcli connection add type team ifname team0
Подключение «team-team0» (f30883d8-495e-443b-b6f3-6f0970227f4b) успешно добавлено.
 
$ nmcli connection show
NAME          UUID                                  TYPE      DEVICE
team-team0    f30883d8-495e-443b-b6f3-6f0970227f4b  team      team0 
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8 </syntaxhighlight>
 
Отключить (или удалить) действующие соединения интерфейсов enp0s3 и enp0s8:
<syntaxhighlight lang="bash"># nmcli connection down "Native enp0s3"
Подключение «Native enp0s3» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/1)
# nmcli connection down "Native enp0s8"
Подключение «Native enp0s8» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/2)</syntaxhighlight>
 
{{Note|Не удаляйте сразу все действующие соединения, если вы подключены к системе удалённо. Удалите сначала одно соединение, свяжите его с team0, а после того как будет поднято групповое соединение — повторите действия для второго.}}
 
Выполнить команды группирования сетевых интерфейсов enp0s3 и enp0s8 в team0:
<syntaxhighlight lang="bash"># nmcli connection add type ethernet con-name team0-port0 ifname enp0s3 master team0
Подключение «team0-port0» (dc4acdf1-4a36-4f61-b5d5-eede6f760163) успешно добавлено.
 
# nmcli connection add type ethernet con-name team0-port1 ifname enp0s8 master team0
Подключение «team0-port1» (da9b892f-8809-4234-a7b0-b2b869a0c23e) успешно добавлено.</syntaxhighlight>
 
[[Файл:NetworkManager-teaming.png|Информация о сетевых подключениях]]
 
Вывести информацию о сетевых настройках:
<syntaxhighlight lang="bash">$ nmcli
team0: подключено к team-team0
        "team0"
        team, 08:00:27:0C:F5:9B, программное обеспечение, MTU 1500
        ip4 по умолчанию
        inet4 192.168.0.200/24
        route4 192.168.0.0/24 metric 350
        route4 default via 192.168.0.1 metric 350
        inet6 fd47:d11e:43c1::aef/128
        inet6 fd47:d11e:43c1:0:a197:d81f:ba11:647/64
        inet6 fe80::628c:c43f:a818:f954/64
        route6 fe80::/64 metric 1024
        route6 fd47:d11e:43c1::/64 metric 350
        route6 fd47:d11e:43c1::/48 via fe80::6670:2ff:fede:d4c0 metric 350
        route6 fd47:d11e:43c1::aef/128 metric 350
 
enp0s3: подключено к team0-port0
        "Intel 82540EM"
        ethernet (e1000), 08:00:27:0C:F5:9B, аппаратное обеспечение, MTU 1500
        основное team0
 
enp0s8: подключено к team0-port1
        "Intel 82540EM"
        ethernet (e1000), 08:00:27:0C:F5:9B, аппаратное обеспечение, MTU 1500
        основное team0
 
lo: без управления
        "lo"
        loopback (unknown), 00:00:00:00:00:00, программное обеспечение, MTU 65536</syntaxhighlight>
 
==== Создание VLAN (802.1Q)====
 
Вывести существующие сетевые подключения:
<syntaxhighlight lang="bash">$ nmcli connection show
NAME          UUID                                  TYPE      DEVICE
Native enp0s3  43603ade-65e7-4c56-bbfb-c1385e2b475f ethernet  enp0s3
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8</syntaxhighlight>
 
Создать VLAN-интерфейс с идентификатором 100 на интерфейсе enp0s3:
<syntaxhighlight lang="bash"># nmcli connection add type vlan con-name enp0s3.100 ifname enp0s3.100 dev enp0s3 id 100 ip4 192.168.10.10/24 gw4 192.168.10.1
Подключение «enp0s3.100» (acaf0c6b-45d6-4f6e-bc4e-2bcaeb41e4d2) успешно добавлено.</syntaxhighlight>
 
{{Note|VLAN ID — число от 1 до 4095. Следует обратить внимание, что 4094 является верхней допустимой границей идентификатора VLAN, а 4095 используется технически в процессе отбрасывания трафика по неверным VLAN.}}
 
Просмотреть сетевые подключения:
<syntaxhighlight lang="bash">$ nmcli connection show
NAME          UUID                                  TYPE      DEVICE
Native enp0s3  43603ade-65e7-4c56-bbfb-c1385e2b475f  ethernet  enp0s3
enp0s3.100    acaf0c6b-45d6-4f6e-bc4e-2bcaeb41e4d2  vlan      enp0s3.100
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8
 
$ ip -br a
lo              UNKNOWN        127.0.0.1/8 ::1/128
enp0s3          UP            192.168.0.188/24  fe80::8bf0:386d:78dd:544c/64
enp0s8          UP           
enp0s3.100@enp0s3 UP            192.168.10.10/24 fe80::2a16:4163:8fd1:6609/64</syntaxhighlight>
 
Проверить соединение можно, настроив на другой машине такой же VLAN и выполнив команду {{cmd|ping}}:
<syntaxhighlight lang="bash">$ ping -I enp0s3.100 192.168.10.10</syntaxhighlight>
 
По умолчанию соединение VLAN наследует максимальную единицу передачи (MTU) от родительского интерфейса. При желании установите другое значение MTU:
 
Утилита {{cmd|nmcli}} может использоваться для установки и очистки флагов ioctl, которые изменяют способ функционирования 802.1Q. NetworkManager поддерживает следующие флаги VLAN:
* 0x01 — переупорядочение заголовков выходных пакетов;
* 0x02 — использовать протокол GVRP;
* 0x04 — слабая привязка интерфейса и его мастера (режим «loose binding»).
 
Состояние VLAN-интерфейса синхронизируется с состоянием родительского интерфейса (интерфейса или устройства, на котором создается VLAN). Если для родительского интерфейса установлено административное состояние «выключено», все связанные VLAN отключаются, а все маршруты удаляются из таблицы маршрутизации. Флаг 0x04 включает режим свободной привязки, в котором от родительского устройства к связанным VLAN передается только рабочее состояние, но состояние устройства VLAN не изменяется.
 
Установить флаг 0x04 VLAN:
<syntaxhighlight lang="bash">$ nmcli connection mod enp0s3.100 vlan.flags 4</syntaxhighlight>
Результат:
<syntaxhighlight lang="bash">$ nmcli -p connection show enp0s3.100 | grep vlan.flags
vlan.flags:                            4 (LOOSE_BINDING)</syntaxhighlight>
 
Пример настройки Q-in-Q интерфейса, например, enp0s3.100.200 (дважды тегированный трафик: внешняя метка — 100, внутренняя — 200):
<syntaxhighlight lang="bash">$ nmcli connection add type vlan con-name enp0s3.100.200 dev enp0s3.100 id 200 ip4 192.0.2.1/24 gw4 192.0.2.254
Подключение «vlan100.200» (07d10b3d-1390-4f60-a8a6-4e853143795f) успешно добавлено.</syntaxhighlight>
 
Проверка конфигурации вложенного интерфейса VLAN:
<syntaxhighlight lang="bash">$ ip -d addr show enp0s3.100.200
9: enp0s3.100.200@enp0s3.100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 08:00:27:16:7a:dd brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 0 maxmtu 65535
    vlan protocol 802.1Q id 200 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
    inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp0s3.100.200
      valid_lft forever preferred_lft forever
    inet6 fe80::6c0a:6ac:47a8:2286/64 scope link noprefixroute
      valid_lft forever preferred_lft forever</syntaxhighlight>
 
[[Файл:NetworkManager-VLAN-01.png|Проверка конфигурации вложенного интерфейса VLAN]]
 
=== Утилита nmtui ===
{{cmd|nmtui}} — утилита для настройки сети с простым текстовый пользовательский интерфейс (TUI) на основе curses.
 
Пакет {{pkg|NetworkManager-tui}} не устанавливается по умолчанию, поэтому его необходимо установить:
<syntaxhighlight lang="bash"># apt-get install NetworkManager-tui</syntaxhighlight>
 
Запуск утилиты:
<syntaxhighlight lang="bash">$ nmtui</syntaxhighlight>
 
В результате запуска появится текстовый пользовательский интерфейс:
 
[[Файл:Nmtui01.png|Начальное меню текстового пользовательского интерфейса NetworkManager]]
 
Для навигации используются клавиши со стрелками, <Tab> или <Shift>+<Tab>. Для выбора опции следует нажать <Enter>. Пробел переключает состояние флажка.
 
Для изменения настроек подключения нужно выбрать интерфейс:
 
[[Файл:Nmtui02.png|Текстовый интерфейс NetworkManager. Выбор сетевого интерфейса]]
 
Внести изменения и нажать кнопку «ОК»:
 
[[Файл:Nmtui03.png|Текстовый интерфейс NetworkManager. Изменение настроек подключения]]
 
Для применения изменений для активного соединения необходимо после внесения изменений деактивировать этот интерфейс (кнопка «Отключить»), а затем снова активировать (кнопка «Отключить»).
 
Доступны также следующие команды:
<syntaxhighlight lang="bash">$ nmtui edit <имя_соединения></syntaxhighlight>
 
Если имя соединения не указано, появится меню выбора. Если имя соединения указано и правильно идентифицировано, появится соответствующий экран «Редактировать соединение».
 
<syntaxhighlight lang="bash">$ nmtui connect <имя_соединения></syntaxhighlight>
 
Если имя соединения не указано, появится меню выбора. Если имя соединения указано и правильно идентифицировано, соответствующее соединение активируется.
 
<syntaxhighlight lang="bash">$ nmtui hostname</syntaxhighlight>
 
Откроется экран изменения имени узла:
 
[[Файл:Nmtui04.png|Текстовый интерфейс NetworkManager. Экран изменения имени узла]]
 
{{note|{{cmd|nmtui}} поддерживает не все типы соединений. В частности, данный интерфейс не позволяет редактировать VPN  и подключения с использованием 802.1X.}}
 
== Разрешения NetworkManager ==
 
Разрешениями NetworkManager управляет [[Polkit]].
 
По умолчанию всем пользователям в активных локальных сеансах разрешено изменять большинство сетевых настроек без запроса пароля. Для некоторых действий (например, изменения hostname системы) требуется пароль администратора.
 
{| class="wikitable"
! Правило Polkitd для демона NetworkManager (org.freedesktop.NetworkManager)
! Описание
! style="width: 50%" | Примеры
|-style="vertical-align:top;"
| enable-disable-network
| Разрешение на включение или отключение сетевого взаимодействия системы. Если сетевое взаимодействие отключено, все управляемые интерфейсы отсоединяются и деактивируются. Если сетевое взаимодействие включено, все управляемые интерфейсы доступны для активации.
| Если настроено ограничение «Auth_self», при попытке включения/отключения сети будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-enable-disable-network-auth-self.png|150px|frameless|Запрос пароля текущего пользователя при включении/отключении сети]]
 
Запрос пароля пользователя при включении/отключении сети в консоли:
 
[[Файл:NetworkManager-enable-disable-network-auth-self-02.png|150px|frameless|Запрос пароля пользователя при включении/отключении сети в консоли]]
 
Если настроено ограничение «Auth_admin», при попытке включения/отключения сети будет запрошен пароль администратора:
 
[[Файл:NetworkManager-enable-disable-network-auth-admin.png|150px|frameless|Запрос пароля администратора при включении/отключении сети]]
 
Если настроено ограничение «No», пользователю запрещено включать/отключать сеть:
 
[[Файл:NetworkManager-enable-disable-network-no.png|150px|frameless|Пользователю запрещено включать/отключать сеть]]
|-style="vertical-align:top;"
| enable-disable-statistics
| Разрешение на включение или отключение статистики устройства
|
|-style="vertical-align:top;"
| enable-disable-wifi
| Разрешение на включение или отключение устройств Wi-Fi
| Если настроено ограничение «Auth_self», при попытке включения/отключения сети Wi-Fi будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-enable-disable-wifi-auth-self.png|150px|frameless|Запрос пароля текущего пользователя при включении/отключении сети Wi-Fi]]
 
Если настроено ограничение «Auth_admin», при попытке включения/отключения сети Wi-Fi будет запрошен пароль администратора:
 
[[Файл:NetworkManager-enable-disable-wifi-auth-admin.png|150px|frameless|Запрос пароля администратора при включении/отключении сети Wi-Fi]]
 
Если настроено ограничение «No», пользователю запрещено включать/отключать сеть Wi-Fi:
 
[[Файл:NetworkManager-enable-disable-wifi-no.png|150px|frameless|Пользователю запрещено включать/отключать сеть Wi-Fi]]
|-style="vertical-align:top;"
| enable-disable-wimax
| Разрешение на включение или отключение мобильных широкополосных устройств WiMAX
|
|-style="vertical-align:top;"
| enable-disable-wwan
| Разрешение на включение или отключение мобильных широкополосных устройств (WWAN-устройств) 
|
|-style="vertical-align:top;"
| settings.modify.global-dns
| Разрешение на изменение общих настроек DNS
|
|-style="vertical-align:top;"
| settings.modify.own
| Разрешение на изменение личных сетевых соединений
| Если настроено ограничение «Auth_self», при попытке изменения персональных сетевых настроек (например, при подключении к сети Wi-Fi) будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-settings-modify-own-auth-self.png|150px|frameless|Запрос пароля текущего пользователя при изменении персональных сетевых настроек]]
 
Если настроено ограничение «Auth_admin», при попытке изменения персональных сетевых настроек будет запрошен пароль администратора:
 
[[Файл:NetworkManager-settings-modify-own-auth-admin.png|150px|frameless|Запрос пароля администратора при изменении персональных сетевых настроек]]
 
Запрос пароля администратора при изменении персональных сетевых настроек в консоли:
 
[[Файл:NetworkManager-settings-modify-own-auth-admin-02.png|150px|frameless|Запрос пароля администратора при изменении персональных сетевых настроек в консоли]]
|-style="vertical-align:top;"
| settings.modify.hostname
| Разрешение на изменение постоянного имени хоста (hostname) системы.
|
Если настроено ограничение «Auth_self», при попытке изменения hostname системы будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-settings-modify-hostname-auth-self.png|150px|frameless|Запрос пароля текущего пользователя при попытке изменения hostname системы]]
|-style="vertical-align:top;"
| settings.modify.system
| Разрешение на создание и модификацию системных сетевых соединений
| Если настроено ограничение «Auth_self», при попытке изменения сетевых настроек для всех пользователей (например, изменении IP-адреса) будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-settings-modify-system-auth-self.png|150px|frameless|Запрос пароля текущего пользователя при изменении сетевых настроек для всех пользователей]]
 
Если настроено ограничение «Auth_admin», при попытке изменения сетевых настроек для всех пользователей будет запрошен пароль администратора:
 
[[Файл:NetworkManager-settings-modify-system-auth-admin.png|150px|frameless|Запрос пароля администратора при изменении сетевых настроек для всех пользователей]]
 
Если настроено ограничение «No», пользователю запрещено изменять сетевые настройки для всех пользователей:
 
[[Файл:NetworkManager-settings-modify-system-no.png|150px|frameless|Пользователю запрещено изменять сетевые настройки для всех пользователей]]
|-style="vertical-align:top;"
| network-control
| Разрешение на изменение системных настроек для сети
| Если настроено ограничение «Auth_self», при попытке включения/отключения сетевого интерфейса будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-network-control-auth-self.png|150px|frameless|Запрос пароля текущего пользователя при включении/отключении сетевого интерфейса]]
 
Запрос пароля пользователя при включении/отключении сетевого интерфейса в консоли:
 
[[Файл:NetworkManager-network-control-auth-self-02.png|150px|frameless|Запрос пароля текущего пользователя при включении/отключении сетевого интерфейса]]
 
Если настроено ограничение «Auth_admin», при попытке изменения сетевых настроек для всех пользователей будет запрошен пароль администратора:
 
[[Файл:NetworkManager-network-control-auth-admin.png|150px|frameless|Запрос пароля администратора при включении/отключении сетевого интерфейса]]
 
Если настроено ограничение «No», пользователю запрещено изменять сетевые настройки для всех пользователей:
 
[[Файл:NetworkManager-network-control-no.png|150px|frameless|Пользователю запрещено включать/отключать сетевой интерфейс]]
|-style="vertical-align:top;"
| sleep-wake
| Разрешение на перевод NetworkManager в спящий режим или пробуждение из спящего режима (должно использоваться только для управления питанием системы)
|
|-style="vertical-align:top;"
| checkpoint-rollback
| Разрешение на создание контрольной точки сетевых интерфейсов или откату к ней
| Если настроено ограничение «Auth_self», при попытке создания контрольной точки будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-checkpoint-rollback-auth-self.png|150px|frameless|Запрос пароля текущего пользователя при попытке создания контрольной точки]]
 
Если настроено ограничение «Auth_admin», при попытке создания контрольной точки будет запрошен пароль администратора:
 
[[Файл:NetworkManager-checkpoint-rollback-auth-admin.png|150px|frameless|Запрос пароля администратора при попытке создания контрольной точки]]
|-style="vertical-align:top;"
| reload
| Разрешение на перезагрузку конфигурации NetworkManager
| Если настроено ограничение «Auth_user», при попытке перезагрузки конфигурации NetworkManager будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-reload-auth-user.png|150px|frameless|Запрос пароля текущего пользователя при попытке перезагрузки конфигурации NetworkManager]]
 
Если настроено ограничение «Auth_admin», при попытке перезагрузки конфигурации NetworkManager будет запрошен пароль администратора:
 
[[Файл:NetworkManager-reload-auth-admin.png|150px|frameless|Запрос пароля администратора при попытке перезагрузки конфигурации NetworkManager]]
|-style="vertical-align:top;"
| enable-disable-connectivity-check
| Разрешение на включение или отключение проверки подключения к сети
|
|-style="vertical-align:top;"
| wifi.scan
| Разрешение на сканирование Wi-Fi сетей
| Если настроено ограничение «Auth_admin», при сканировании Wi-Fi сетей будет запрошен пароль администратора:
 
[[Файл:NetworkManager-wifi-scan-auth-admin.png|150px|frameless|Запрос пароля администратора при сканировании Wi-Fi сетей]]
 
{{note|Необходимо настраивать эту политику с осторожностью, т.к. апплет NetworkManager автоматически сканирует сети Wi-Fi и пароль будет запрашиваться постоянно.}}
|-style="vertical-align:top;"
| wifi.share.protected
| Разрешение на совместные подключения через защищённую сеть Wi-Fi
| Если настроено ограничение «Auth_user», при создании защищенной точки доступа будет запрошен пароль текущего пользователя:
 
[[Файл:NetworkManager-wifi-share-protected-auth-user.png|150px|frameless|Запрос пароля текущего пользователя при создании защищенной точки доступа]]
 
Создание точки доступа в консоли:
 
[[Файл:NetworkManager-wifi-share-protected-auth-user-02.png|150px|frameless|Запрос пароля текущего пользователя при создании защищенной точки доступа]]
|-style="vertical-align:top;"
| wifi.share.open
| Разрешение на совместные подключения через открытую сеть Wi-Fi
| Если настроено ограничение «Auth_admin», при создании открытой точки доступа будет запрошен пароль администратора:
 
[[Файл:NetworkManager-wifi-share-open-auth-admin.png|150px|frameless|Запрос пароля администратора при создании открытой точки доступа]]
 
Создание точки доступа в консоли:
 
[[Файл:NetworkManager-wifi-share-open-auth-admin-02.png|150px|frameless|Запрос пароля администратора при создании открытой точки доступа]]
  |}
 
Разрешения NetworkManager для текущего пользователя можно просмотреть, выполнив команду:
 
<syntaxhighlight lang="bash">$ nmcli general permissions
PERMISSION                                                        VALUE
org.freedesktop.NetworkManager.checkpoint-rollback                auth 
org.freedesktop.NetworkManager.enable-disable-connectivity-check  да   
org.freedesktop.NetworkManager.enable-disable-network            да   
org.freedesktop.NetworkManager.enable-disable-statistics          да   
org.freedesktop.NetworkManager.enable-disable-wifi                да   
org.freedesktop.NetworkManager.enable-disable-wimax              да   
org.freedesktop.NetworkManager.enable-disable-wwan                да   
org.freedesktop.NetworkManager.network-control                    да   
org.freedesktop.NetworkManager.reload                            auth 
org.freedesktop.NetworkManager.settings.modify.global-dns        auth 
org.freedesktop.NetworkManager.settings.modify.hostname          auth 
org.freedesktop.NetworkManager.settings.modify.own                да   
org.freedesktop.NetworkManager.settings.modify.system            auth 
org.freedesktop.NetworkManager.sleep-wake                        да   
org.freedesktop.NetworkManager.wifi.scan                          да   
org.freedesktop.NetworkManager.wifi.share.open                    да   
org.freedesktop.NetworkManager.wifi.share.protected              да</syntaxhighlight>
 
Если необходимо изменить поведение политики для конкретного пользователя, то в правиле следует указать subject.user == "<имя_пользователя>", если необходимо изменить поведение политики для нескольких пользователей, входящих в одну группу, то в правиле следует указать subject.isInGroup("<название_группы>").
Например, разрешить пользователям группы xgrp изменять системные настройки без запроса пароля, а пользователям группы student запрещающего изменять системные настройки:
# Создать файл {{path|/etc/polkit-1/rules.d/99-networkmanager.rules}} со следующим содержимым:
#: <syntaxhighlight lang="ini">
polkit.addRule(function(action, subject) {
  if (action.id=="org.freedesktop.NetworkManager.settings.modify.system"&& subject.isInGroup("xgrp"))
  {
    return polkit.Result.YES;
  }
  if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" && subject.isInGroup("student"))
  {
return polkit.Result.NO;
  };
});</syntaxhighlight>
# Создать системную группу xgrp (если её ещё нет):
#:<syntaxhighlight lang="bash"># groupadd -r xgrp</syntaxhighlight>
# Добавить пользователя в группу xgrp:
#:<syntaxhighlight lang="bash"># gpasswd -a имя_пользователя xgrp</syntaxhighlight>
# Создать системную группу student (если её ещё нет):
#:<syntaxhighlight lang="bash"># groupadd -r student</syntaxhighlight>
# Добавить пользователя в группу student:
#:<syntaxhighlight lang="bash"># gpasswd -a имя_пользователя student</syntaxhighlight>
# Перелогиниться
 
Управлять разрешениями NetworkManager можно также через [[Групповые_политики/Polkit#Разрешения_NetworkManager|групповые политики]].
 
== Альтернативы ==
== Альтернативы ==
* {{pkg|[[etcnet]]}} (по умолчанию в [[server|серверных выпусках]] и ряде [[starterkits|стартеркитов]])
* {{pkg|[[etcnet]]}} (по умолчанию в [[server|серверных выпусках]] и ряде [[starterkits|стартеркитов]])
Строка 92: Строка 732:


{{Category navigation|title=Wi-Fi|category=WiFi|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Wi-Fi|category=WiFi|sortkey={{SUBPAGENAME}}}}
[[Категория:Настройка сети]]

Текущая версия от 13:41, 20 апреля 2024

В текущих настольных дистрибутивах ОС «Альт» в качестве штатного средства управления сетевыми интерфейсами по умолчанию применяется NetworkManager; при этом обеспечено его взаимодействие с etcnet, а средствами alterator-net-eth при необходимости возможно выбрать, какой именно интерфейс какой подсистемой обслуживается.

Для NetworkManager доступно несколько интерфейсов:

  • графический интерфейс: апплет и редактор Plasma для управления сетевыми подключениями в KDE (пакет plasma5-nm);
  • графический интерфейс: апплет и редактор GTK для управления сетевыми подключениями в MATE/Cinnamon/Xfce (пакет NetworkManager-applet-gtk);
  • командная строка: nmcli — инструмент командной строки, который позволяет пользователям и сценариям взаимодействовать с NetworkManager;
  • текстовый интерфейс (TUI): простой текстовый GUI на основе curses (пакет NetworkManager-tui).

GUI

NetworkManager-applet-gtk

Для настройки сети в MATE/Cinnamon/Xfce используется NetworkManager.

Апплет NetworkManager отображается в системном трее:

Апплет NetworkManager в системном трее

Если он у вас отсутствует, то необходимо установить пакет NetworkManager-applet-gtk:

# apt-get install NetworkManager-applet-gtk

И перелогиниться.

При щелчке левой кнопкой мыши по значку сети отобразится меню выбора сетевого подключения:

Меню выбора сетевого подключения

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

  • LAN (Ethernet)
  • Wi-Fi
  • VPN

При щелчке по значку правой кнопкой мыши можно:

  • полностью включить/выключить сеть;
  • включить/выключить Wi-Fi;
  • включить/выключить уведомления;
  • получить сведения о соединении (если есть хотя бы одно активное подключение);
  • настроить соединения;
  • посмотреть сведения о программе.

Апплет NetworkManager. Контекстное меню

Ethernet

Чтобы подключиться по Ethernet, нужно в контекстном меню апплета NetworkManager выбрать Ethernet-соединение:

Апплет NetworkManager. Ethernet-соединение в контекстном меню

Система подключится к сети и получит настройки сети по DHCP (если для интерфейса выбран метод «Автоматически (DHCP)»).

Статический адрес
Примечание: NetworkManager под именем «System enp2s0»/«System eth0» показывает системное Ethernet-соединение, создаваемое Etcnet. Изменить его в диалоге «Сетевые соединения» невозможно. Это соединение можно изменить в ЦУС, там же можно выбрать, какой именно интерфейс, какой подсистемой обслуживается.


Если нужно указать адрес вручную или в вашей сети нет DHCP-сервера, то нужно проделать следующее:

Щёлкнуть правой кнопкой мыши по значку сети и выбрать пункт «Параметры соединений…»:

Апплет NetworkManager. Пункт «Параметры соединений…»

Откроется окно «Сетевые соединения». Выбрать проводное соединение и нажать кнопку «Изменить» (или дважды щёлкнуть по соединению):

Выбор соединения

Примечание: Открыть окно «Сетевые соединения» также можно, выполнив команду:
$ nm-connection-editor


В открывшемся окне перейти во вкладку «Параметры IPv4»:

NetworkManager. Вкладка Параметры IPv4

Нажать на выпадающий список «Метод»:

NetworkManager. Вкладка Параметры IPv4

Выбрать метод «Вручную»:

NetworkManager. Вкладка Параметры IPv4

Ввести в указанные поля параметры IP и DNS. Чтобы сохранить изменения, нажать кнопку «Сохранить»:

NetworkManager. Вкладка Параметры IPv4

Ввести пароль администратора для сохранения изменений:

NetworkManager. Запрос пароля для сохранения настроек

Wi-fi

Чтобы подключиться к Wi-fi сети, первым делом, щёлкнув ПРАВОЙ кнопкой мыши по значку сети в трее, проверьте, стоит ли отметка напротив пункта «Включить Wi-fi»:

NetworkManager. Пункт «Включить Wi-fi»

Щёлкнув по тому же значку уже ЛЕВОЙ кнопкой мыши, выбрать пункт «Сети Wi-fi»→«Доступные сети» и нужную сеть:

NetworkManager. Доступные сети Wi-fi

Если сеть зашифрованная, ввести от неё пароль:

NetworkManager. Подключение к сети Wi-fi

Вы успешно подключились!

NetworkManager. Подключение к сети Wi-fi

Статический адрес

Чтобы настроить статический адрес для интерфейса Wi-fi, следует щёлкнуть правой кнопкой мыши по значку сети и выбрать пункт «Параметры соединений…»:

NetworkManager. Параметры соединений…

Выбрать нужную сеть и нажать кнопку «Изменить» (или дважды щёлкнуть по соединению):

NetworkManager. Выбор сети

Перейти во вкладку «Параметры IPv4»:

NetworkManager. Вкладка Параметры IPv4

В разделе «Метод» выбрать «Вручную»:

NetworkManager. Вкладка Параметры IPv4

Настроить IP-адрес и нажать кнопку «Cохранить»:

NetworkManager. Вкладка Параметры IPv4

Настройка VLAN

Для создания VLAN-интерфейса необходимо:

  1. Открыть окно «Сетевые соединения», выбрав в меню аплета NM пункт «Параметры соединений…», или выполнив команду:
    $ nm-connection-editor
    
  2. Нажать кнопку «Добавить». В открывшемся окне «Выберите тип соединения» выбрать «VLAN» и нажать «Создать»:
    Создать VLAN
  3. В открывшемся окне на вкладке «VLAN» выбрать из раскрывающегося списка родительский интерфейс, который будет использоваться для подключения VLAN, ввести идентификатор VLAN (VLAN ID — число от 1 до 4094), ввести имя интерфейса VLAN (обычно это либо имя родительского интерфейса плюс «.» и идентификатор VLAN, либо «vlan» плюс идентификатор VLAN):
    NetworkManager. Создать VLAN
  4. На вкладке «Параметры IPv4» установите IP-адрес для интерфейса (если интерфейс не получает IP-адрес по DHCP).
  5. Нажать кнопку «Сохранить».
Примечание: Устройства VLAN поднимаются автоматически только в том случае, если родительский интерфейс настроен на автоматическое подключение.


plasma5-nm

Для настройки сети в KDE используется NetworkManager (виджет «Управление сетью»).

При нажатии левой кнопки мыши на значок «Управление сетью», откроется меню, в котором показана информация о текущих соединениях. Здесь также можно выбрать одну из доступных Wi-Fi сетей и подключиться к ней, или отключить активное Wi-Fi соединение:

KDE. Апплет NetworkManager

Для настройки соединений, следует нажать кнопку «Настроить сетевые соединения…», вызываемую при нажатии правой кнопки мыши на значке «Управление сетью»:

KDE. Апплет NetworkManager

В открывшемся окне будет показан, сгруппированный по типам, список соединений:

KDE. Окно «Соединения — Параметры системы»

Здесь можно добавлять новые и настраивать существующие соединения.

Примечание: Открыть окно «Соединения — Параметры системы» также можно, выполнив команду:
$ systemsettings5 kcm_networkmanagement


Консоль

Утилита nmcli

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

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

$ nmcli <опции> <объект> <команда>

Объекты над которыми могут выполняется операции с помощью команды nmcli:

  • general — возвращает состояние и разрешения NetworkManager, позволяет получить/изменить имя хоста, а также уровень ведения журнала NetworkManager;
  • networking — возвращает состояние сетевых подключений, позволяет включить/отключить сеть;
  • radio — возвращает состояние подключения к сети Wi-Fi, позволяет включить/отключить сеть Wi-Fi;
  • connection — позволяет управлять сетевыми интерфейсами, позволяет добавить/удалить соединение;
  • device — возвращает состояние, позволяет управлять настройками сетевых устройств;
  • monitor — мониторинг активности NetworkManager, позволяет отслеживать изменения состояний сетевых подключений.

Состояние NetworkManager:

$ nmcli general status 
STATE       CONNECTIVITY  WIFI-HW   WIFI      WWAN-HW  WWAN     
подключено  полностью     включено  включено  missing  включено

Состояние сетевых интерфейсов:

$ nmcli device status 
DEVICE             TYPE      STATE           CONNECTION       
enp0s31f6          ethernet  подключено      System enp0s31f6 
wlp0s20f3          wifi      подключено      Space2           
p2p-dev-wlp0s20f3  wifi-p2p  отключено       --               
lo                 loopback  без управления  --

Проверка состояния подключения к сети:

$ nmcli networking connectivity check
full

Список доступных подключений:

$ nmcli connection show 
NAME              UUID                                  TYPE      DEVICE    
System enp0s31f6  0f179fcd-4c89-e0f9-6475-062aa5905ceb  ethernet  enp0s31f6 
Space2            21f113eb-f40c-468f-9727-0f0baec6489e  wifi      wlp0s20f3 
QHotspot          29b1afe5-4812-4457-8ab1-5bfc3f2a536c  wifi      --        
Space3            78806f0d-c3da-4c18-9d73-1ea5e8c94ea7  wifi      --        
Space5            c8943b43-13e1-4f42-89e6-bdad984ebd0b  wifi      --

Информация о подключении System enp0s31f6:

$ nmcli connection show "System enp0s31f6"

Деактивировать подключение System enp0s31f6:

$ nmcli conn down "System enp0s31f6"

Изменить подключение System enp0s31f6 с DHCP на Static:

$ nmcli con mod "System enp0s31f6" ipv4.method manual ipv4.address 192.168.0.40/24 ipv4.gateway 192.168.0.1

Указать DNS-сервер:

$ nmcli connection modify "System enp0s31f6" ipv4.dns 192.168.0.122

Добавить DNS-сервер к имеющимся:

$ nmcli connection modify "System enp0s31f6" +ipv4.dns 8.8.8.8

Изменить подключение System enp0s31f6 на DHCP:

$ nmcli con mod "System enp0s31f6" ipv4.method auto

Вывести список доступных сетей Wi-Fi:

$ nmcli device wifi list

Список доступных Wi-Fi сетей

Подключиться к сети Wi-Fi:

$ nmcli dev wifi con Space5 password io67%gfds name Space5 private yes

Создать точку доступа Wi-Fi:

$ nmcli -s dev wifi hotspot con-name QHotspot
Пароль точки доступа: bcL9ZEVx
Устройство «wlp0s20f3» успешно активировано с «d22e6d34-6357-4c96-9b3c-2d63099c8681».
Подсказка: "nmcli dev wifi show-password" покажет имя и пароль Wi-Fi.

Данная команда создаст профиль подключения к точке доступа и активирует его на устройстве. Точка доступа защищена WPA, если устройство/драйвер поддерживает WPA, в противном случае используется WEP. Если для точки доступа не задан пароль (опция --password), nmcli сгенерирует пароль.

Удалить подключение:

$ nmcli con del QHotspot

Изменение настроек сети с созданием контрольной точки:

$ nmcli dev checkpoint --timeout 30 ifname enp0s3  -- nmcli dev dis enp0s3
Device 'eth0' successfully disconnected.
Type "Yes" to commit the changes: No
Checkpoint was removed.

Контрольная точка — это снимок активной конфигурации сети с таймером. Контрольная точка позволяет вернуться к рабочей конфигурации сети, если какие-либо изменения делают машину недоступной по сети. Необходимо сначала определить контрольную точку, затем внести потенциально опасные изменения и,если изменения не нарушили подключение, подтвердить их. Если изменения вызывают сбой в сети и таймер истекает до того, как пользователь сможет подтвердить изменения, то изменения отменяются. В данном примере контрольная точка создаётся перед отключением устройства enp0s3, если пользователь не подтвердит изменение за 30 секунд enp0s3 будет возвращено в то состояние, в котором оно находилось на момент захвата контрольной точки.

Объединение сетевых интерфейсов (bonding)

Примечание: При управлении интерфейсами объединённых/сгруппированных портов с помощью демона NetworkManager и особенно при поиске неисправностей следует иметь в виду следующее:
  1. Запуск управляющего интерфейса не приводит к автоматическому запуску интерфейсов портов.
  2. Запуск интерфейса порта всегда запускает управляющий интерфейс.
  3. Остановка управляющего интерфейса останавливает интерфейсы портов.
  4. Управляющий интерфейс без портов может запускать статические IP-соединения.
  5. Управляющий интерфейс без портов ожидает порты при запуске DHCP-соединений.


Просмотреть существующие сетевые подключения:

$ nmcli connection show
NAME           UUID                                  TYPE      DEVICE 
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3 
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8

Создать bonding интерфейс с именем bond0 (режим «Active Backup»):

# nmcli connection add type bond ifname bond0 bond.options "mode=active-backup"
Подключение «bond-bond0» (38b5a3a1-5395-4f80-9909-96a11aefec8a) успешно добавлено.

Вывести информацию о подключениях:

$ nmcli connection show
NAME           UUID                                  TYPE      DEVICE 
bond-bond0     38b5a3a1-5395-4f80-9909-96a11aefec8a  bond      bond0   
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3 
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8

Отключить (или удалить) действующие соединения интерфейсов enp0s3 и enp0s8:

# nmcli connection down "Native enp0s3"
Подключение «Native enp0s3» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/1)
# nmcli connection down "Native enp0s8"
Подключение «Native enp0s8» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/2)
Примечание: Не удаляйте сразу все действующие соединения, если вы подключены к системе удалённо. Удалите сначала одно соединение, свяжите его с bond0, а после того как будет поднято объединённое соединение — повторите действия для второго.


Выполнить команды объединения сетевых интерфейсов enp0s3 и enp0s8 в bond0:

# nmcli connection add type ethernet con-name bond0-port0 ifname enp0s3 master bond0
Подключение «bond0-port0» (3aec53f7-82d2-4432-beaa-eb1975e52507) успешно добавлено.

# nmcli connection add type ethernet con-name bond0-port1 ifname enp0s8 master bond0
Подключение «bond0-port1» (2ef1579e-7816-456c-beaa-e6d1e6a4063e) успешно добавлено.

Вывести информацию о сетевых настройках:

$ nmcli
bond0: подключено к bond-bond0
        "bond0"
        bond, 02:66:B3:68:52:71, программное обеспечение, MTU 1500
        ip4 по умолчанию
        inet4 192.168.0.190/24
        route4 192.168.0.0/24 metric 300
        route4 default via 192.168.0.1 metric 300
        inet6 fd47:d11e:43c1:0:8d91:b6ee:a87a:1e6a/64
        inet6 fe80::1763:748:6bc8:d953/64
        route6 fe80::/64 metric 1024
        route6 fd47:d11e:43c1::/64 metric 300
        route6 fd47:d11e:43c1::/48 via fe80::6670:2ff:fede:d4c0 metric 300

enp0s3: подключено к bond0-port0
        "Intel 82540EM"
        ethernet (e1000), 02:66:B3:68:52:71, аппаратное обеспечение, MTU 1500
        основное bond0

enp0s8: подключено к bond0-port1
        "Intel 82540EM"
        ethernet (e1000), 02:66:B3:68:52:71, аппаратное обеспечение, MTU 1500
        основное bond0

lo: без управления
        "lo"
        loopback (unknown), 00:00:00:00:00:00, программное обеспечение, MTU 65536

Информацию о получившемся агрегированном интерфейсе можно посмотреть в /proc/net/bonding/bond0:

Ethernet Channel Bonding Driver: v6.1.49-un-def-alt1

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: enp0s8
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: enp0s8
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:0c:f5:9b
Slave queue ID: 0

Slave Interface: enp0s3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 08:00:27:8b:4f:61
Slave queue ID: 0

Группирование сетевых интерфейсов (teaming)

Существующие сетевые подключения:

$ nmcli connection show
NAME           UUID                                  TYPE      DEVICE 
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3 
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8

Создать teaming интерфейс с именем team0:

# nmcli connection add type team ifname team0
Подключение «team-team0» (f30883d8-495e-443b-b6f3-6f0970227f4b) успешно добавлено.

$ nmcli connection show
NAME           UUID                                  TYPE      DEVICE 
team-team0     f30883d8-495e-443b-b6f3-6f0970227f4b  team      team0   
Native enp0s3  c3a4c72b-87f5-45ff-94ad-400043e68425  ethernet  enp0s3 
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8

Отключить (или удалить) действующие соединения интерфейсов enp0s3 и enp0s8:

# nmcli connection down "Native enp0s3"
Подключение «Native enp0s3» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/1)
# nmcli connection down "Native enp0s8"
Подключение «Native enp0s8» успешно отключено (активный путь D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/2)
Примечание: Не удаляйте сразу все действующие соединения, если вы подключены к системе удалённо. Удалите сначала одно соединение, свяжите его с team0, а после того как будет поднято групповое соединение — повторите действия для второго.


Выполнить команды группирования сетевых интерфейсов enp0s3 и enp0s8 в team0:

# nmcli connection add type ethernet con-name team0-port0 ifname enp0s3 master team0
Подключение «team0-port0» (dc4acdf1-4a36-4f61-b5d5-eede6f760163) успешно добавлено.

# nmcli connection add type ethernet con-name team0-port1 ifname enp0s8 master team0
Подключение «team0-port1» (da9b892f-8809-4234-a7b0-b2b869a0c23e) успешно добавлено.

Информация о сетевых подключениях

Вывести информацию о сетевых настройках:

$ nmcli
team0: подключено к team-team0
        "team0"
        team, 08:00:27:0C:F5:9B, программное обеспечение, MTU 1500
        ip4 по умолчанию
        inet4 192.168.0.200/24
        route4 192.168.0.0/24 metric 350
        route4 default via 192.168.0.1 metric 350
        inet6 fd47:d11e:43c1::aef/128
        inet6 fd47:d11e:43c1:0:a197:d81f:ba11:647/64
        inet6 fe80::628c:c43f:a818:f954/64
        route6 fe80::/64 metric 1024
        route6 fd47:d11e:43c1::/64 metric 350
        route6 fd47:d11e:43c1::/48 via fe80::6670:2ff:fede:d4c0 metric 350
        route6 fd47:d11e:43c1::aef/128 metric 350

enp0s3: подключено к team0-port0
        "Intel 82540EM"
        ethernet (e1000), 08:00:27:0C:F5:9B, аппаратное обеспечение, MTU 1500
        основное team0

enp0s8: подключено к team0-port1
        "Intel 82540EM"
        ethernet (e1000), 08:00:27:0C:F5:9B, аппаратное обеспечение, MTU 1500
        основное team0

lo: без управления
        "lo"
        loopback (unknown), 00:00:00:00:00:00, программное обеспечение, MTU 65536

Создание VLAN (802.1Q)

Вывести существующие сетевые подключения:

$ nmcli connection show
NAME           UUID                                  TYPE      DEVICE 
Native enp0s3  43603ade-65e7-4c56-bbfb-c1385e2b475f  ethernet  enp0s3 
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8

Создать VLAN-интерфейс с идентификатором 100 на интерфейсе enp0s3:

# nmcli connection add type vlan con-name enp0s3.100 ifname enp0s3.100 dev enp0s3 id 100 ip4 192.168.10.10/24 gw4 192.168.10.1
Подключение «enp0s3.100» (acaf0c6b-45d6-4f6e-bc4e-2bcaeb41e4d2) успешно добавлено.
Примечание: VLAN ID — число от 1 до 4095. Следует обратить внимание, что 4094 является верхней допустимой границей идентификатора VLAN, а 4095 используется технически в процессе отбрасывания трафика по неверным VLAN.


Просмотреть сетевые подключения:

$ nmcli connection show
NAME           UUID                                  TYPE      DEVICE 
Native enp0s3  43603ade-65e7-4c56-bbfb-c1385e2b475f  ethernet  enp0s3 
enp0s3.100     acaf0c6b-45d6-4f6e-bc4e-2bcaeb41e4d2  vlan      enp0s3.100
Native enp0s8  e53f52b7-535e-442e-93df-1e88d2992cea  ethernet  enp0s8

$ ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
enp0s3           UP             192.168.0.188/24  fe80::8bf0:386d:78dd:544c/64 
enp0s8           UP             
enp0s3.100@enp0s3 UP             192.168.10.10/24 fe80::2a16:4163:8fd1:6609/64

Проверить соединение можно, настроив на другой машине такой же VLAN и выполнив команду ping:

$ ping -I enp0s3.100 192.168.10.10

По умолчанию соединение VLAN наследует максимальную единицу передачи (MTU) от родительского интерфейса. При желании установите другое значение MTU:

Утилита nmcli может использоваться для установки и очистки флагов ioctl, которые изменяют способ функционирования 802.1Q. NetworkManager поддерживает следующие флаги VLAN:

  • 0x01 — переупорядочение заголовков выходных пакетов;
  • 0x02 — использовать протокол GVRP;
  • 0x04 — слабая привязка интерфейса и его мастера (режим «loose binding»).

Состояние VLAN-интерфейса синхронизируется с состоянием родительского интерфейса (интерфейса или устройства, на котором создается VLAN). Если для родительского интерфейса установлено административное состояние «выключено», все связанные VLAN отключаются, а все маршруты удаляются из таблицы маршрутизации. Флаг 0x04 включает режим свободной привязки, в котором от родительского устройства к связанным VLAN передается только рабочее состояние, но состояние устройства VLAN не изменяется.

Установить флаг 0x04 VLAN:

$ nmcli connection mod enp0s3.100 vlan.flags 4

Результат:

$ nmcli -p connection show enp0s3.100 | grep vlan.flags
vlan.flags:                             4 (LOOSE_BINDING)

Пример настройки Q-in-Q интерфейса, например, enp0s3.100.200 (дважды тегированный трафик: внешняя метка — 100, внутренняя — 200):

$ nmcli connection add type vlan con-name enp0s3.100.200 dev enp0s3.100 id 200 ip4 192.0.2.1/24 gw4 192.0.2.254
Подключение «vlan100.200» (07d10b3d-1390-4f60-a8a6-4e853143795f) успешно добавлено.

Проверка конфигурации вложенного интерфейса VLAN:

$ ip -d addr show enp0s3.100.200
9: enp0s3.100.200@enp0s3.100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 08:00:27:16:7a:dd brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 0 maxmtu 65535 
    vlan protocol 802.1Q id 200 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
    inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp0s3.100.200
       valid_lft forever preferred_lft forever
    inet6 fe80::6c0a:6ac:47a8:2286/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Проверка конфигурации вложенного интерфейса VLAN

Утилита nmtui

nmtui — утилита для настройки сети с простым текстовый пользовательский интерфейс (TUI) на основе curses.

Пакет NetworkManager-tui не устанавливается по умолчанию, поэтому его необходимо установить:

# apt-get install NetworkManager-tui

Запуск утилиты:

$ nmtui

В результате запуска появится текстовый пользовательский интерфейс:

Начальное меню текстового пользовательского интерфейса NetworkManager

Для навигации используются клавиши со стрелками, <Tab> или <Shift>+<Tab>. Для выбора опции следует нажать <Enter>. Пробел переключает состояние флажка.

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

Текстовый интерфейс NetworkManager. Выбор сетевого интерфейса

Внести изменения и нажать кнопку «ОК»:

Текстовый интерфейс NetworkManager. Изменение настроек подключения

Для применения изменений для активного соединения необходимо после внесения изменений деактивировать этот интерфейс (кнопка «Отключить»), а затем снова активировать (кнопка «Отключить»).

Доступны также следующие команды:

$ nmtui edit <имя_соединения>

Если имя соединения не указано, появится меню выбора. Если имя соединения указано и правильно идентифицировано, появится соответствующий экран «Редактировать соединение».

$ nmtui connect <имя_соединения>

Если имя соединения не указано, появится меню выбора. Если имя соединения указано и правильно идентифицировано, соответствующее соединение активируется.

$ nmtui hostname

Откроется экран изменения имени узла:

Текстовый интерфейс NetworkManager. Экран изменения имени узла

Примечание: nmtui поддерживает не все типы соединений. В частности, данный интерфейс не позволяет редактировать VPN и подключения с использованием 802.1X.


Разрешения NetworkManager

Разрешениями NetworkManager управляет Polkit.

По умолчанию всем пользователям в активных локальных сеансах разрешено изменять большинство сетевых настроек без запроса пароля. Для некоторых действий (например, изменения hostname системы) требуется пароль администратора.

Правило Polkitd для демона NetworkManager (org.freedesktop.NetworkManager) Описание Примеры
enable-disable-network Разрешение на включение или отключение сетевого взаимодействия системы. Если сетевое взаимодействие отключено, все управляемые интерфейсы отсоединяются и деактивируются. Если сетевое взаимодействие включено, все управляемые интерфейсы доступны для активации. Если настроено ограничение «Auth_self», при попытке включения/отключения сети будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при включении/отключении сети

Запрос пароля пользователя при включении/отключении сети в консоли:

Запрос пароля пользователя при включении/отключении сети в консоли

Если настроено ограничение «Auth_admin», при попытке включения/отключения сети будет запрошен пароль администратора:

Запрос пароля администратора при включении/отключении сети

Если настроено ограничение «No», пользователю запрещено включать/отключать сеть:

Пользователю запрещено включать/отключать сеть

enable-disable-statistics Разрешение на включение или отключение статистики устройства
enable-disable-wifi Разрешение на включение или отключение устройств Wi-Fi Если настроено ограничение «Auth_self», при попытке включения/отключения сети Wi-Fi будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при включении/отключении сети Wi-Fi

Если настроено ограничение «Auth_admin», при попытке включения/отключения сети Wi-Fi будет запрошен пароль администратора:

Запрос пароля администратора при включении/отключении сети Wi-Fi

Если настроено ограничение «No», пользователю запрещено включать/отключать сеть Wi-Fi:

Пользователю запрещено включать/отключать сеть Wi-Fi

enable-disable-wimax Разрешение на включение или отключение мобильных широкополосных устройств WiMAX
enable-disable-wwan Разрешение на включение или отключение мобильных широкополосных устройств (WWAN-устройств)
settings.modify.global-dns Разрешение на изменение общих настроек DNS
settings.modify.own Разрешение на изменение личных сетевых соединений Если настроено ограничение «Auth_self», при попытке изменения персональных сетевых настроек (например, при подключении к сети Wi-Fi) будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при изменении персональных сетевых настроек

Если настроено ограничение «Auth_admin», при попытке изменения персональных сетевых настроек будет запрошен пароль администратора:

Запрос пароля администратора при изменении персональных сетевых настроек

Запрос пароля администратора при изменении персональных сетевых настроек в консоли:

Запрос пароля администратора при изменении персональных сетевых настроек в консоли

settings.modify.hostname Разрешение на изменение постоянного имени хоста (hostname) системы.

Если настроено ограничение «Auth_self», при попытке изменения hostname системы будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при попытке изменения hostname системы

settings.modify.system Разрешение на создание и модификацию системных сетевых соединений Если настроено ограничение «Auth_self», при попытке изменения сетевых настроек для всех пользователей (например, изменении IP-адреса) будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при изменении сетевых настроек для всех пользователей

Если настроено ограничение «Auth_admin», при попытке изменения сетевых настроек для всех пользователей будет запрошен пароль администратора:

Запрос пароля администратора при изменении сетевых настроек для всех пользователей

Если настроено ограничение «No», пользователю запрещено изменять сетевые настройки для всех пользователей:

Пользователю запрещено изменять сетевые настройки для всех пользователей

network-control Разрешение на изменение системных настроек для сети Если настроено ограничение «Auth_self», при попытке включения/отключения сетевого интерфейса будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при включении/отключении сетевого интерфейса

Запрос пароля пользователя при включении/отключении сетевого интерфейса в консоли:

Запрос пароля текущего пользователя при включении/отключении сетевого интерфейса

Если настроено ограничение «Auth_admin», при попытке изменения сетевых настроек для всех пользователей будет запрошен пароль администратора:

Запрос пароля администратора при включении/отключении сетевого интерфейса

Если настроено ограничение «No», пользователю запрещено изменять сетевые настройки для всех пользователей:

Пользователю запрещено включать/отключать сетевой интерфейс

sleep-wake Разрешение на перевод NetworkManager в спящий режим или пробуждение из спящего режима (должно использоваться только для управления питанием системы)
checkpoint-rollback Разрешение на создание контрольной точки сетевых интерфейсов или откату к ней Если настроено ограничение «Auth_self», при попытке создания контрольной точки будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при попытке создания контрольной точки

Если настроено ограничение «Auth_admin», при попытке создания контрольной точки будет запрошен пароль администратора:

Запрос пароля администратора при попытке создания контрольной точки

reload Разрешение на перезагрузку конфигурации NetworkManager Если настроено ограничение «Auth_user», при попытке перезагрузки конфигурации NetworkManager будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при попытке перезагрузки конфигурации NetworkManager

Если настроено ограничение «Auth_admin», при попытке перезагрузки конфигурации NetworkManager будет запрошен пароль администратора:

Запрос пароля администратора при попытке перезагрузки конфигурации NetworkManager

enable-disable-connectivity-check Разрешение на включение или отключение проверки подключения к сети
wifi.scan Разрешение на сканирование Wi-Fi сетей Если настроено ограничение «Auth_admin», при сканировании Wi-Fi сетей будет запрошен пароль администратора:

Запрос пароля администратора при сканировании Wi-Fi сетей

Примечание: Необходимо настраивать эту политику с осторожностью, т.к. апплет NetworkManager автоматически сканирует сети Wi-Fi и пароль будет запрашиваться постоянно.
wifi.share.protected Разрешение на совместные подключения через защищённую сеть Wi-Fi Если настроено ограничение «Auth_user», при создании защищенной точки доступа будет запрошен пароль текущего пользователя:

Запрос пароля текущего пользователя при создании защищенной точки доступа

Создание точки доступа в консоли:

Запрос пароля текущего пользователя при создании защищенной точки доступа

wifi.share.open Разрешение на совместные подключения через открытую сеть Wi-Fi Если настроено ограничение «Auth_admin», при создании открытой точки доступа будет запрошен пароль администратора:

Запрос пароля администратора при создании открытой точки доступа

Создание точки доступа в консоли:

Запрос пароля администратора при создании открытой точки доступа

Разрешения NetworkManager для текущего пользователя можно просмотреть, выполнив команду:

$ nmcli general permissions 
PERMISSION                                                        VALUE 
org.freedesktop.NetworkManager.checkpoint-rollback                auth  
org.freedesktop.NetworkManager.enable-disable-connectivity-check  да    
org.freedesktop.NetworkManager.enable-disable-network             да    
org.freedesktop.NetworkManager.enable-disable-statistics          да    
org.freedesktop.NetworkManager.enable-disable-wifi                да    
org.freedesktop.NetworkManager.enable-disable-wimax               да    
org.freedesktop.NetworkManager.enable-disable-wwan                да    
org.freedesktop.NetworkManager.network-control                    да    
org.freedesktop.NetworkManager.reload                             auth  
org.freedesktop.NetworkManager.settings.modify.global-dns         auth  
org.freedesktop.NetworkManager.settings.modify.hostname           auth  
org.freedesktop.NetworkManager.settings.modify.own                да    
org.freedesktop.NetworkManager.settings.modify.system             auth  
org.freedesktop.NetworkManager.sleep-wake                         да    
org.freedesktop.NetworkManager.wifi.scan                          да    
org.freedesktop.NetworkManager.wifi.share.open                    да    
org.freedesktop.NetworkManager.wifi.share.protected               да

Если необходимо изменить поведение политики для конкретного пользователя, то в правиле следует указать subject.user == "<имя_пользователя>", если необходимо изменить поведение политики для нескольких пользователей, входящих в одну группу, то в правиле следует указать subject.isInGroup("<название_группы>"). Например, разрешить пользователям группы xgrp изменять системные настройки без запроса пароля, а пользователям группы student запрещающего изменять системные настройки:

  1. Создать файл /etc/polkit-1/rules.d/99-networkmanager.rules со следующим содержимым:
    polkit.addRule(function(action, subject) {
      if (action.id=="org.freedesktop.NetworkManager.settings.modify.system"&& subject.isInGroup("xgrp"))
      {
        return polkit.Result.YES;
      }
      if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" && subject.isInGroup("student"))
      {
    	return polkit.Result.NO;
      };
    });
    
  2. Создать системную группу xgrp (если её ещё нет):
    # groupadd -r xgrp
    
  3. Добавить пользователя в группу xgrp:
    # gpasswd -a имя_пользователя xgrp
    
  4. Создать системную группу student (если её ещё нет):
    # groupadd -r student
    
  5. Добавить пользователя в группу student:
    # gpasswd -a имя_пользователя student
    
  6. Перелогиниться

Управлять разрешениями NetworkManager можно также через групповые политики.

Альтернативы

Ссылки