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

Материал из ALT Linux Wiki
(VLAN)
Строка 77: Строка 77:
В разделе «Метод» выберите «Вручную»:
В разделе «Метод» выберите «Вручную»:
[[File:NetworkManager-wifi8.png|400px|center]]
[[File:NetworkManager-wifi8.png|400px|center]]
Настройте IP адрес и нажмите «Cохранить»:
Настройте IP-адрес и нажмите «Cохранить»:
[[File:NetworkManager-wifi9.png|400px|center]]
[[File:NetworkManager-wifi9.png|400px|center]]
=== Настройка 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 поднимаются автоматически только в том случае, если родительский интерфейс настроен на автоматическое подключение.}}


== Консоль ==
== Консоль ==

Версия от 18:46, 10 ноября 2023

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

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

GUI

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

NetworkManager1.png

Если он у вас отсутствует, то необходимо установить следующий пакет:

NetworkManager-applet-gtk

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

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

NetworkManager2.png

Нам доступны три вида:

  • LAN (Ethernet)
  • Wi-Fi
  • VPN

Если по значку кликнуть правой кнопкой мыши, то мы можем:

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

Ethernet

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

NetworkManager3-1.png

Система подключится к сети и получит настройки сети по DHCP.

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

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

Кликаем по значку сети правой кнопкой мыши -> Выбираем «Параметры соединений…»:

NetworkManager3-2.png

Выберите проводное соединение дважды кликнув по соединению:

NetworkManager4.png

Откроется следующее окно. Перейдите во вкладку «Параметры IPv4»:

NetworkManager5.png

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

NetworkManager6.png

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

NetworkManager7.png

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

NetworkManager9.png

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

NetworkManager10.png

Wi-fi

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

NetworkManager-wifi1.png

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

NetworkManager-wifi2.png

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

NetworkManager-wifi3.png

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

NetworkManager-wifi4.png

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

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

NetworkManager-wifi5.png

Выберите нужную вам сеть:

NetworkManager-wifi6.png

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

NetworkManager-wifi7.png

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

NetworkManager-wifi8.png

Настройте IP-адрес и нажмите «Cохранить»:

NetworkManager-wifi9.png

Настройка 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 поднимаются автоматически только в том случае, если родительский интерфейс настроен на автоматическое подключение.


Консоль

Утилита 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

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

Ссылки