Download PDF
Download page Настройка сети в ПК СВ "Брест" службой NetworkManager.
Настройка сети в ПК СВ "Брест" службой NetworkManager
Для работы со службой NetworkManager при установке ОС ALSE необходимо:
- на странице Установка базовой системы выбрать для установки ядро
linux-5.15-generic
; - на странице Выбор программного обеспечения выбрать следующие пункты:
- Консольные утилиты;
- Средства удаленного подключения SSH;
- на странице Дополнительные настройки ОС выбрать Максимальный уровень защищенности "Смоленск";
- на странице Дополнительные настройки ОС выбрать пункты Мандатный контроль целостности и Мандатное управление доступом.
Общая информация
Служба NetworkManager обеспечивает базовые операции с сетевыми интерфейсами. Она предназначена для создания, отображения, редактирования, удаления, активирования или деактивирования сетевых соединений, а также для контроля и просмотра статуса сетевых устройств. Управление службой NetworkManager осуществляются с помощью инструментов командной строки nmcli
или nmtui
.
Установка и настройка NetworkManager
Для установки службы NetworkManager необходимо выполнить команду:
После установки пакета автоматически будут сгенерированы конфигурационные файлыsudo apt install network-manager
/etc/resolv.conf
и/run/NetworkManager/resolv.conf
. Файл/run/NetworkManager/resolv.conf
является основным и в него автоматически вносятся nameserver записи, если при создании сетевых соединений был использован параметрipv4.dns
.По умолчанию NetworkManager после перезагрузки ОС начинает автоматически создавать в памяти новые соединения для каждого ethernet интерфейса и присваивать им имена вида "проводное подключение N" и искать настроенные соединения прежде чем активировать интерфейс. Это может привести к неработоспособности сервисов, которым необходима привязка к адресу интерфейса при их загрузке.
Для того, чтобы избежать этой проблемы необходимо создать новый конфигурационный файл
/etc/NetworkManager/conf.d/brest.conf
с содержимым, описанным в следующем шаге.Создать конфигурационный файл
/etc/NetworkManager/conf.d/brest.conf
:[main] no-auto-default=* ignore-carrier=*
CODEПрименить настройки перезагрузкой узла или перезапуском службы NetworkManager командой:
sudo systemctl restart network-manager.service
Управление сетевыми соединениями
Для управления службой NetworkManager можно воспользоваться командами утилиты nmcli
, перечисленными в таблице:
Команда | Описание |
---|---|
sudo nmcli device show | краткая информация по всем сетевым интерфейсам |
sudo nmcli con show | вывод полного списка соединений (включая UUID, типы и интерфейсы) |
sudo nmcli con show --active | вывод списка только активных соединений |
sudo nmcli device show <имя_сетевого_интерфейса> | краткая информация по сетевому интерфейсу |
sudo nmcli con show <имя_сетевого_соединения> | подробная информация по сетевому соединению |
sudo nmcli con add <имя_сетевого_соединения> | добавление сетевого соединения |
sudo nmcli con down <имя_сетевого_соединения> | отключение сетевого соединения |
sudo nmcli con up <имя_сетевого_соединения> | активация сетевого соединения |
sudo nmcli con del <имя_сетевого_соединения> | удаление сетевого соединения |
sudo nmcli con modify | настройка сетевого соединения |
Примеры создания соединений
Агрегация сетевых интерфейсов с установленным IP-адресом
Добавить агрегацию (в данном примере
bond0
с адресом10.100
.
100.2
/
24) командой:sudo nmcli con add type bond con-name bond0 ifname bond0 bond.options
"mode=802.3ad,miimon=100,downdelay=200,updelay=200,lacp_rate=fast,xmit_hash_policy=layer2+3"
ipv4.method manual ipv4.address
10.100
.
100.2
/
24
ipv4.gateway
10.100
.
100.254
ipv6.method ignore
В ОС ALSE не рекомендуется использовать настройки сети без параметра
ipv6.method ignore
, который отключает цикличную переинициализацию физических интерфейсов , а также всех соединений на нее настроенных.Добавить в агрегацию
bond0
два физических сетевых интерфейса (в данном примереeth1
иeth2
) командами:sudo nmcli con add type ethernet con-name eth1 ifname eth1 master bond0
sudo nmcli con add type ethernet con-name eth2 ifname eth2 master bond0
Активировать соединение:
sudo nmcli con up bond0Перезапустить службу NetworkManager командой:
sudo systemctl restart network-manager.serviceПри наличии других настроенных сетевых интерфейсов, можно обновить конфигурационные файлы службы NetworkManager командой:
sudo systemctl reload network-manager.service
Агрегация сетевых интерфейсов с установленным IP-адресом на VLAN
Добавить агрегацию, в данном примере
bond0
, командой:sudo nmcli con add type bond con-name bond0 ifname bond0 bond.options
"mode=802.3ad,miimon=100,downdelay=200,updelay=200,lacp_rate=fast,xmit_hash_policy=layer2+3"
ipv4.method disabled ipv6.method ignore
Добавить в агрегацию
bond0
два физических сетевых интерфейса (в данном примереeth1
иeth2
) командами:sudo nmcli con add type ethernet con-name eth1 ifname eth1 master bond0
sudo nmcli con add type ethernet con-name eth2 ifname eth2 master bond0
Активировать соединение:
sudo nmcli con up bond0
Добавить VLAN-интерфейс (в данном примере с адресом
10.100
.
100.2
/
24) командой:sudo nmcli con add type vlan con-name vlan3 ifname vlan3 vlan.parent bond0 vlan.id
3
ethernet.mtu
1500
ipv4.method manual ipv4.address
10.100
.
100.2
/
24
ipv4.gateway
10.100
.
100.254
ipv6.method ignore
Перезапустить службу NetworkManager командой:
sudo systemctl restart network-manager.service
При наличии других настроенных сетевых интерфейсов, можно обновить конфигурационные файлы службы NetworkManager командой:
sudo systemctl reload network-manager.service
Агрегация сетевых интерфейсов без установленных на VLAN IP-адресов
Добавить агрегацию сетевых интерфейсов (в данном примере
bond1
) командой:sudo nmcli con add type bond con-name bond1 ifname bond1 bond.options
"mode=802.3ad,miimon=100,downdelay=200,updelay=200,lacp_rate=fast,xmit_hash_policy=layer2+3"
ipv4.method disabled ipv6.method ignore
Добавить в агрегацию
bond1
два физических сетевых интерфейса (в данном примереeth3
иeth4
) командами:sudo nmcli con add type ethernet con-name eth3 ifname eth3 master bond1
sudo nmcli con add type ethernet con-name eth4 ifname eth4 master bond1
Активировать соединение:
sudo nmcli con up bond1Добавить VLAN-интерфейс командой:
sudo nmcli con add type vlan con-name vlan4 ifname vlan4 vlan.parent bond1 vlan.id
4
ethernet.mtu
1500
ipv4.method disabled ipv6.method ignore
Перезапустить службу NetworkManager командой:
sudo systemctl restart network-manager.service
При наличии других настроенных сетевых интерфейсов, можно обновить конфигурационные файлы службы NetworkManager командой:
sudo systemctl reload network-manager.service
Добавление сетевого моста с дополнительным VLAN
Предварительно необходимо создать агрегацию сетевых интерфейсов (в данном примере bond1
).
Добавить сетевой мост командой:
sudo nmcli con add type bridge con-name br77 ifname br77 bridge.stp no ipv4.method manual ipv4.address
192.168
.
1.10
/
24
ipv6.method ignore
Добавить дополнительный (slave) VLAN командой:
sudo nmcli con add type vlan con-name vlan1001 ifname bond1.
1001
vlan.parent bond1 vlan.id
1001
master br77
Изменение настроек сети на сервере с ifupdown на NetworkManager
Установить службу NetworkManager (если она не была установлена в ОС ранее):
sudo apt install network-managerИли, если при установке ОС был выбран флаг Запрет автонастройки сети, снять маскировку со службы:sudo systemctl unmask NetworkManager
sudo systemctl unmask NetworkManager-wait-online.service
sudo systemctl unmask network-manager.service
sudo systemctl enable network-manager
sudo systemctl start network-manager
В конфигурационном файле
/etc/NetworkManager/NetworkManager.conf
проверить значение разделаifupdown
, в нем должно быть установлено значениеfalse
.
Пример вида конфигурационного файла:[main] plugins=ifupdown,keyfile [ifupdown] managed=false
CODEОткрыть конфигурационный файл
/etc/network/interfaces
, очистить или закомментировать конфигурацию сетевых настроек.auto bond0 iface bond0 inet static bond-slaves eth0 eth1 bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-lacp-rate 1 bond-xmit-hash-policy layer2+3 address 10.11.123.11/24 gateway 10.11.123.254 auto bond1 iface bond1 inet static bond-slaves eth2 eth3 bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-lacp-rate 1 bond-xmit-hash-policy layer2+3 address 10.11.123.12/24 gateway 10.11.123.254
CODEПрименить изменения:
sudo systemctl restart networking.serviceНастроить сеть утилитой
nmcli
:sudo nmcli con add type bond con-name bond0 ifname bond0 bond.options
"mode=802.3ad,miimon=100,downdelay=200,updelay=200,lacp_rate=fast,xmit_hash_policy=layer2+3"
ipv4.method manual ipv4.address
10.11
.
123.11
/
24
ipv4.gateway
10.11
.
123.254
ipv6.method ignore
sudo nmcli con add type ethernet con-name eth0 ifname eth0 master bond0
sudo nmcli con add type ethernet con-name eth1 ifname eth1 master bond0
sudo nmcli con up bond0
sudo systemctl restart network-manager.service
sudo nmcli con add type bond con-name bond1 ifname bond1 bond.options
"mode=802.3ad,miimon=100,downdelay=200,updelay=200,lacp_rate=fast,xmit_hash_policy=layer2+3"
ipv4.method manual ipv4.address
10.11
.
123.12
/
24
ipv4.gateway
10.11
.
123.254
ipv6.method ignore
sudo nmcli con add type ethernet con-name eth2 ifname eth0 master bond1
sudo nmcli con add type ethernet con-name eth3 ifname eth1 master bond1
sudo nmcli con up bond1
sudo systemctl restart network-manager.service
- Выполнить перезагрузку ОС.
Применение соединений созданных службой NetworkManager в ПК СВ "Брест"
В данном примере предварительно создана агрегация bond1,
в которую входят тегированные (диапазон VLAN 1001 - 1100) физические сетевые интерфейсы eth3
и eth4
:
sudo nmcli con add type bond con-name bond1 ifname bond1 bond.options
"mode=802.3ad,miimon=100,downdelay=200,updelay=200,lacp_rate=fast,xmit_hash_policy=layer2+3"
ipv4.method disabled ipv6.method ignore
sudo nmcli con add type ethernet con-name eth3 ifname eth3 master bond1
sudo nmcli con add type ethernet con-name eth4 ifname eth4 master bond1
sudo nmcli con up bond1
- В веб-интерфейсе ПК СВ "Брест" в меню слева выбрать пункт меню Сеть — Вирт.сети и на открывшейся странице Вирт.сети нажать на кнопку +, а затем в открывшемся меню выбрать пункт Создать.
- На открывшейся странице Создать Виртуальную сеть во вкладке Общие в поле Название задать наименование виртуальной сети.
- На странице Создать Виртуальную сеть во вкладке Конфигурация:
- в выпадающем списке Режим работы сети выбрать
802.1q
; - в поле VLAD ID выбрать Ручной номер VLAN и задать значение
1001
; - в поле Физическое устройство задать значение
bond1
:
- в выпадающем списке Режим работы сети выбрать
- На странице Создать Виртуальную сеть во вкладке Адреса задать значения в полях Первый IPv4 адрес и Размер.
- Во вкладке Контекст задать значения в полях Адрес сети и Маска подсети.
- Нажать кнопку Создать.
- Для шаблонов ВМ, использующих готовые образы с установленным пакетом NetworkManager, дополнительно необходимо добавить в шаблон ВМ параметр
NETCFG_TYPE
со значениемnm
. Создать ВМ из шаблона.
Как только процесс ВМ будет создан, на том хосте виртуализации где этот процесс расположен, в список соединений автоматически добавятся еще несколько:onebr.1001 bond1.1001@bond1 one-0-0
CODEгде
onebr.1001
— основное (master) соединение типаbridge
, дополнительными для которого являются соединение типаvlan
(bond1.1001
) и соединение типаtun
(one-0-0
).При миграции ВМ на другой сервер виртуализации:
- соединения
bond1.1001
иone-0-0
на текущем узле будут удалены и добавлены к созданномуonebr.1001
на том сервере виртуализации, куда мигрировала ВМ; - если же в текущей виртуальной сети несколько ВМ, то на текущем сервере виртуализации удалится только соединение
one-N-N
и добавится дополнительное вместе с созданнымиbond1.1001
вonebr.1001
на на том сервере виртуализации, куда мигрировала ВМ.
При удалении ВМ, удаляются все соединения которые создавались для обеспечения сетевой связности процессов этих ВМ, кроме
onebr.N
, это соединение удалится только при перезагрузке узла, так как создается только для подключения к нему процесса ВМ.- соединения