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.address10.100.100.2/24ipv4.gateway10.100.100.254ipv6.method ignoreВ ОС ALSE не рекомендуется использовать настройки сети без параметра
ipv6.method ignore, который отключает цикличную переинициализацию физических интерфейсов , а также всех соединений на нее настроенных.Добавить в агрегацию
bond0два физических сетевых интерфейса (в данном примереeth1иeth2) командами:sudo nmcli con add type ethernet con-name eth1 ifname eth1 master bond0sudo 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 bond0sudo 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.id3ethernet.mtu1500ipv4.method manual ipv4.address10.100.100.2/24ipv4.gateway10.100.100.254ipv6.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 bond1sudo 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.id4ethernet.mtu1500ipv4.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.address192.168.1.10/24ipv6.method ignoreДобавить дополнительный (slave) VLAN командой:
sudo nmcli con add type vlan con-name vlan1001 ifname bond1.1001vlan.parent bond1 vlan.id1001master br77
Изменение настроек сети на сервере с ifupdown на NetworkManager
Установить службу NetworkManager (если она не была установлена в ОС ранее):
sudo apt install network-managerИли, если при установке ОС был выбран флаг Запрет автонастройки сети, снять маскировку со службы:sudo systemctl unmask NetworkManagersudo systemctl unmask NetworkManager-wait-online.servicesudo systemctl unmask network-manager.servicesudo systemctl enable network-managersudo systemctl start network-managerВ конфигурационном файле
/etc/NetworkManager/NetworkManager.confпроверить значение разделаifupdown, в нем должно быть установлено значениеfalse.
Пример вида конфигурационного файла:[main] plugins=ifupdown,keyfile [ifupdown] managed=falseCODEОткрыть конфигурационный файл
/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.254CODEПрименить изменения:
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.address10.11.123.11/24ipv4.gateway10.11.123.254ipv6.method ignoresudo nmcli con add type ethernet con-name eth0 ifname eth0 master bond0sudo nmcli con add type ethernet con-name eth1 ifname eth1 master bond0sudo nmcli con up bond0sudo systemctl restart network-manager.servicesudo 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.address10.11.123.12/24ipv4.gateway10.11.123.254ipv6.method ignoresudo nmcli con add type ethernet con-name eth2 ifname eth0 master bond1sudo nmcli con add type ethernet con-name eth3 ifname eth1 master bond1sudo nmcli con up bond1sudo 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 ignoresudo nmcli con add type ethernet con-name eth3 ifname eth3 master bond1sudo nmcli con add type ethernet con-name eth4 ifname eth4 master bond1sudo nmcli con up bond1- В веб-интерфейсе ПК СВ "Брест" в меню слева выбрать пункт меню Сеть — Вирт.сети и на открывшейся странице Вирт.сети нажать на кнопку +, а затем в открывшемся меню выбрать пункт Создать.
- На открывшейся странице Создать Виртуальную сеть во вкладке Общие в поле Название задать наименование виртуальной сети.
- На странице Создать Виртуальную сеть во вкладке Конфигурация:
- в выпадающем списке Режим работы сети выбрать
802.1q; - в поле VLAD ID выбрать Ручной номер VLAN и задать значение
1001; - в поле Физическое устройство задать значение
bond1:
- в выпадающем списке Режим работы сети выбрать
- На странице Создать Виртуальную сеть во вкладке Адреса задать значения в полях Первый IPv4 адрес и Размер.
- Во вкладке Контекст задать значения в полях Адрес сети и Маска подсети.
- Нажать кнопку Создать.
- Для шаблонов ВМ, использующих готовые образы с установленным пакетом NetworkManager, дополнительно необходимо добавить в шаблон ВМ параметр
NETCFG_TYPEсо значениемnm. Создать ВМ из шаблона.
Как только процесс ВМ будет создан, на том хосте виртуализации где этот процесс расположен, в список соединений автоматически добавятся еще несколько:onebr.1001 bond1.1001@bond1 one-0-0CODEгде
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, это соединение удалится только при перезагрузке узла, так как создается только для подключения к нему процесса ВМ.- соединения