NetworkManager: различия между версиями
м (→Утилита nmcli) |
(bonding/teaming) |
||
Строка 166: | Строка 166: | ||
Контрольная точка — это снимок активной конфигурации сети с таймером. Контрольная точка позволяет вернуться к рабочей конфигурации сети, если какие-либо изменения делают машину недоступной по сети. Необходимо сначала определить контрольную точку, затем внести потенциально опасные изменения и,если изменения не нарушили подключение, подтвердить их. Если изменения вызывают сбой в сети и таймер истекает до того, как пользователь сможет подтвердить изменения, то изменения отменяются. В данном примере контрольная точка создаётся перед отключением устройства enp0s3, если пользователь не подтвердит изменение за 30 секунд enp0s3 будет возвращено в то состояние, в котором оно находилось на момент захвата контрольной точки. | Контрольная точка — это снимок активной конфигурации сети с таймером. Контрольная точка позволяет вернуться к рабочей конфигурации сети, если какие-либо изменения делают машину недоступной по сети. Необходимо сначала определить контрольную точку, затем внести потенциально опасные изменения и,если изменения не нарушили подключение, подтвердить их. Если изменения вызывают сбой в сети и таймер истекает до того, как пользователь сможет подтвердить изменения, то изменения отменяются. В данном примере контрольная точка создаётся перед отключением устройства 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: | |||
<syntaxhighlight lang="bash"># 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 </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> | |||
==== Группирование сетевых интерфейсов (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> | |||
== Альтернативы == | == Альтернативы == |
Версия от 22:04, 9 ноября 2023
В текущих настольных дистрибутивах ОС Альт в качестве штатного средства управления сетевыми интерфейсами по умолчанию применяется NetworkManager; при этом обеспечено его взаимодействие с etcnet, а средствами alterator-net-eth при необходимости возможно выбрать, какой именно интерфейс какой подсистемой обслуживается.
GUI
Для настройки сети в MATE/Cinnamon/Xfce используется апплет NetworkManager. Он отображается в трее.
Если он у вас отсутствует, то необходимо установить следующий пакет:
NetworkManager-applet-gtk
И перелогиниться.
Если кликнуть левой кнопкой мыши по значку сети, то отобразится меню выбора сетевого подключения:
Нам доступны три вида:
- LAN (Ethernet)
- Wi-Fi
- VPN
Если по значку кликнуть правой кнопкой мыши, то мы можем:
- Полностью включить/выключить сеть
- Включить/выключить Wi-Fi
- Включить/выключить уведомления
- Получить сведения о соединении (когда есть хотя-бы одно активное подключение)
- Настроить соединения
- Посмотреть сведения о программе
Ethernet
Чтобы подключиться по Ethernet вы можете кликнуть по значку сети и выбрать Ethernet-соединение:
Система подключится к сети и получит настройки сети по DHCP.
Статический адрес
Если нужно получить адрес вручную или в вашей сети нет DHCP сервера, то нужно проделать следующее:
Кликаем по значку сети правой кнопкой мыши -> Выбираем «Параметры соединений…»:
Выберите проводное соединение дважды кликнув по соединению:
Откроется следующее окно. Перейдите во вкладку «Параметры IPv4»:
Нажмите на выпадающий список «Метод»:
Выберите метод «Вручную»:
Введите в указанные поля параметры IP и DNS. Чтобы сохранить изменения, нажмите кнопку «Сохранить»:
Введите пароль администратора для сохранения изменений:
Wi-fi
Чтобы подключиться к Wi-fi сети, первым делом, кликнув ПРАВОЙ кнопкой мыши по значку сети в трее, проверьте, стоит ли галочка напротив пункта «Включить Wi-fi»:
Кликните по тому же значку уже ЛЕВОЙ кнопкой мыши, выберите пункт «Сети Wi-fi»→«Доступные сети» и нужную сеть:
Если сеть зашифрованная, введите от нее пароль:
Вы успешно подключились!
Статический адрес
Чтобы настроить статический адрес у Wi-fi, кликните правой кнопкой мыши по значку сети и выберите пункт «Параметры соединений…»:
Выберите нужную вам сеть:
Перейдите во вкладку «Параметры IPv4»:
В разделе «Метод» выберите «Вручную»:
Настройте IP адрес и нажмите «Cохранить»:
Консоль
Утилита 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:
$ 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)
- Запуск управляющего интерфейса не приводит к автоматическому запуску интерфейсов портов.
- Запуск интерфейса порта всегда запускает управляющий интерфейс.
- Остановка управляющего интерфейса останавливает интерфейсы портов.
- Управляющий интерфейс без портов может запускать статические IP-соединения.
- Управляющий интерфейс без портов ожидает порты при запуске 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:
# 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)
Выполнить команды объединения сетевых интерфейсов 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
Группирование сетевых интерфейсов (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)
Выполнить команды группирования сетевых интерфейсов 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
Альтернативы
- etcnet (по умолчанию в серверных выпусках и ряде стартеркитов)
- connman (по умолчанию в стартерките/регулярке enlightenment)