Автор Тема: read-only подключение Network Manager.  (Прочитано 77367 раз)

dango

  • Гость
Re: read-only подключение Network Manager.
« Ответ #135 : 24.04.2019 14:10:36 »
Вы сами можете этим управлять! Чтобы управлять через NM: ONBOOT=no, BOOTPROTO=static, NM_CONTROLLED=yes. Чтобы управлять через Etcnet: ONBOOT=yes, NM_CONTROLLED=no. Файл соединения, скорее всего, создать придётся в любом случае. Но надо это всё проверять...
Образ: regular-sysv-xfce-20190312-x86_64.iso
Система установлена в ВМ и обновлена до упора
# grep -Ri boot /etc/net/ifaces
/etc/net/ifaces/default/options:BOOTPROTO=static
/etc/net/ifaces/default/options:ONBOOT=yes
/etc/net/ifaces/default/options-lo:BOOTPROTO=static
/etc/net/ifaces/default/options-lo:ONBOOT=yes
/etc/net/ifaces/default/options-ppp:ONBOOT=no
/etc/net/ifaces/default/options-ppp:#WARNING! NEVER set "persist maxfail 0" for an interface with ONBOOT=yes,
/etc/net/ifaces/eth0/options:BOOTPROTO=dhcp
/etc/net/ifaces/unknown/options:BOOTPROTO=dhcp-ipv4ll
В nm-connection-editor только одно соединение System eth0 и оно нередактируемо.
# nmcli c show
NAME         UUID                                  TYPE      DEVICE
System eth0  66284f90-5cba-4004-099f-8ae2d0617b3d  ethernet  eth0   
Вот настройки этого соединения:
# cat /etc/net/ifaces/eth0/options
BOOTPROTO=dhcp
TYPE=eth
NM_CONTROLLED=yes
DISABLED=yes
CONFIG_WIRELESS=no
CONFIG_IPV4=yes
Добавляем в него ONBOOT=no и меняем BOOTPROTO=static
# sed -i 's|BOOTPROTO=dhcp|ONBOOT=no\nBOOTPROTO=static|' /etc/net/ifaces/eth0/options
Получаем:
# cat /etc/net/ifaces/eth0/options
ONBOOT=no
BOOTPROTO=static
TYPE=eth
NM_CONTROLLED=yes
DISABLED=yes
CONFIG_WIRELESS=no
CONFIG_IPV4=yes
Перезапускаем сервис NetworkManager:
# service NetworkManager restart
В результате в nm-connection-editor есть уже два соединения
# nmcli c show
NAME                UUID                                  TYPE      DEVICE
eth0                6ceed03b-14f1-489a-8f00-89cc27b9e1d5  ethernet  eth0   
Wired connection 1  6e56a011-a81b-3cf5-84e1-0dd7cc242166  ethernet  --     
Оба соединения доступны для редактирования.
Расположены они здесь:
# ls -ll /var/run/NetworkManager/system-connections/
итого 8
-rw------- 1 root root 347 апр 24 15:54  eth0.nmconnection
-rw------- 1 root root 309 апр 24 15:54 'Wired connection 1.nmconnection'
# cat /var/run/NetworkManager/system-connections/eth0.nmconnection
[connection]
id=eth0
uuid=6ceed03b-14f1-489a-8f00-89cc27b9e1d5
type=ethernet
autoconnect=false
interface-name=eth0
permissions=
timestamp=1556103253

[ethernet]
mac-address=08:00:27:4C:8F:24
mac-address-blacklist=

[ipv4]
dns-priority=100
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-priority=100
dns-search=
method=link-local
# cat /var/run/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection
[connection]
id=Wired connection 1
uuid=6e56a011-a81b-3cf5-84e1-0dd7cc242166
type=ethernet
autoconnect-priority=-999
permissions=
timestamp=1556103253

[ethernet]
mac-address=08:00:27:4C:8F:24
mac-address-blacklist=

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
« Последнее редактирование: 24.04.2019 14:26:20 от dango »

dango

  • Гость
Re: read-only подключение Network Manager.
« Ответ #136 : 24.04.2019 14:47:28 »
А вот после перезагрузки в nm-connection-editor остается только одно соединение:
# nmcli c show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  6e56a011-a81b-3cf5-84e1-0dd7cc242166  ethernet  eth0   
# ls -ll /var/run/NetworkManager/system-connections/
итого 4
-rw------- 1 root root 309 апр 24 16:27 'Wired connection 1.nmconnection'
Все правильно. Для соединения etc0 мы задали ONBOOT=no.
И да, вместо перезагрузки можно было перезапустить последовательно сервисы network и NetworkManager:
# service network restart
# service NetworkManager restart
« Последнее редактирование: 24.04.2019 14:54:22 от dango »

Оффлайн klark973

  • Давно тут
  • **
  • Сообщений: 655
  • Неспящий саппорт
Re: read-only подключение Network Manager.
« Ответ #137 : 24.04.2019 15:19:19 »
Ну вот видите, надо было просто это проверить. Таким образом, штатный механизм для управления интерфейсом той или другой подсистемой есть и он работает. Но надо разбираться, где и что ломает дефолты, что приводит к такому не ожидаемому поведению.
To moan or to solve -- that is the question!

dango

  • Гость
Re: read-only подключение Network Manager.
« Ответ #138 : 24.04.2019 16:08:14 »
Ну вот видите, надо было просто это проверить. Таким образом, штатный механизм для управления интерфейсом той или другой подсистемой есть и он работает. Но надо разбираться, где и что ломает дефолты, что приводит к такому не ожидаемому поведению.
В общем-то, да, работает. Так получается, что причина бага в настройках соединения etcnet?

Оффлайн klark973

  • Давно тут
  • **
  • Сообщений: 655
  • Неспящий саппорт
Re: read-only подключение Network Manager.
« Ответ #139 : 24.04.2019 16:23:10 »
Так получается, что причина бага в настройках соединения etcnet?
Да -- в настройках (или не настройках) соединения Etcnet, ещё в дефолтах Etcnet.
To moan or to solve -- that is the question!

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 129
  • antohami@
Re: read-only подключение Network Manager.
« Ответ #140 : 24.04.2019 19:03:00 »
Ну вот видите, надо было просто это проверить. Таким образом, штатный механизм для управления интерфейсом той или другой подсистемой есть и он работает. Но надо разбираться, где и что ломает дефолты, что приводит к такому не ожидаемому поведению.

Дефолт в пакете:
# This file doesn't contain comments any more, refer to etcnet-options(5)
# manpage for detailed options description.

DISABLED=no
BOOTPROTO=static
ONBOOT=yes
USE_HOTPLUG=no
USE_PCMCIA=no
CONFIG_IPV4=yes
CONFIG_IPV6=no
CONFIG_IPX=no
CONFIG_QOS=yes
CONFIG_WIRELESS=no
CONFIG_FW=no
KEEP_DOWN=no
DONT_FLUSH=no
IFUP_CHILDREN=no
IFUP_PARENTS=yes
IFDOWN_CHILDREN=yes
IFDOWN_PARENTS=no

Т.е. по дефолту так сделано. Никто ничего не ломает. Всё что делается в m-p это замена
BOOTPROTO=static
на
BOOTPROTO=dhcp
в файле /etc/net/ifaces/default/options-eth
« Последнее редактирование: 24.04.2019 19:05:11 от Антон Мидюков »

Оффлайн klark973

  • Давно тут
  • **
  • Сообщений: 655
  • Неспящий саппорт
Re: read-only подключение Network Manager.
« Ответ #141 : 24.04.2019 20:33:23 »
Всё что делается в m-p это замена
BOOTPROTO=static
на
BOOTPROTO=dhcp
в файле /etc/net/ifaces/default/options-eth
Миша sem@ говорит: одного этого достаточно, чтобы Etcnet посчитал все Ethernet-интерфейсы своими и при их обнаружении попытался поднять их по DHCP, а плагин etcnet-alt посчитал их Etcnet'овскими.

Дефолт в пакете:
Вообще, у нас есть etcnet{,-desktop,-server,-full}.
To moan or to solve -- that is the question!

Оффлайн Kalt

  • Давно тут
  • **
  • Сообщений: 966
Re: read-only подключение Network Manager.
« Ответ #142 : 24.04.2019 21:11:34 »
Но лучшим решением, ИМХО, было бы  оставлять интерфейс не настроеным, а настраивать его по требованию, по необходимости.
Чтобы "уже сделано за вас" не превращалось в медвежью услугу.
...Это верно! Пользователь сам настроит нужное подключение в NM...
Intel Xeon X3440 2,53GHz, MSI H55- G43, DDR3- 4x2GB, GF GT710

Оффлайн klark973

  • Давно тут
  • **
  • Сообщений: 655
  • Неспящий саппорт
Re: read-only подключение Network Manager.
« Ответ #143 : 25.04.2019 02:49:45 »
Но лучшим решением, ИМХО, было бы  оставлять интерфейс не настроеным, а настраивать его по требованию, по необходимости.
Чтобы "уже сделано за вас" не превращалось в медвежью услугу.
...Это верно! Пользователь сам настроит нужное подключение в NM...
Пользователь и так это делает в процессе инсталляции. И может сам в процессе инсталляции сказать, чтобы интерфейс остался не настроенным. Мало того, в большинстве инсталляторов, что мне попадалось, первый найденный Ethernet по умолчанию предлагается отдать Etcnet, если к нему подключен кабель и там доступен DHCP, для остальных интерфейсов умолчание иное. И у первого иное, если сеть не подключена. Если не проскакивать ДАЛЕЕ, можно настроить руками (Вручную, Выключить), а если ещё нажать Дополнительно, можно указать подсистему NM/Etcnet/Отключить. Или о каком тогда инсталляторе речь?
To moan or to solve -- that is the question!

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 129
  • antohami@
Re: read-only подключение Network Manager.
« Ответ #144 : 25.04.2019 06:56:43 »
Миша sem@ говорит: одного этого достаточно, чтобы Etcnet посчитал все Ethernet-интерфейсы своими и при их обнаружении попытался поднять их по DHCP, а плагин etcnet-alt посчитал их Etcnet'овскими.

Ну тогда должно быть достаточно сделать переключатель, о котором я говорил. Сделаю, проверю, отпишусь.

dango

  • Гость
Re: read-only подключение Network Manager.
« Ответ #145 : 25.04.2019 07:54:18 »
Пользователь и так это делает в процессе инсталляции. И может сам в процессе инсталляции сказать, чтобы интерфейс остался не настроенным.
А во всех инсталяторах есть шаг "Настройка сети"?
Мало того, в большинстве инсталляторов, что мне попадалось, первый найденный Ethernet по умолчанию предлагается отдать Etcnet, если к нему подключен кабель и там доступен DHCP, для остальных интерфейсов умолчание иное. И у первого иное, если сеть не подключена.
Если инсталлятор не с LiveCD, то можно и так:
Если перед установкой на реальное железо не подключать сетевой кабель, или перед установкой на ВМ в настройках сети выставить "Не подключен" и вернуть все на место после первой загрузки свежеустановленной системы, то в NM будет только соединение "Wired Connection 1", которое можно редактировать и удалять.
Если не проскакивать ДАЛЕЕ, можно настроить руками (Вручную, Выключить), а если ещё нажать Дополнительно, можно указать подсистему NM/Etcnet/Отключить.
Просто выключить?

dango

  • Гость
Re: read-only подключение Network Manager.
« Ответ #146 : 25.04.2019 10:58:40 »
Образ: regular-sysv-xfce-20190312-x86_64.iso
Установка проводилась в ВМ.
На этапе установки 8/12 "Настройка сети":
1. В поле "Конфигурация" выставить значение "Вручную".
2. Поле "Шлюз по умолчанию" очистить.
3. Кликнуть кнопку "Дополнительно".
4. Убрать галочку в поле "Запускать интерфейс при загрузке системы".
5. Кликнуть кнопку "Ок"
6. Кликнуть кнопку "Далее"
В результате после первой загрузки свежеустановленной системы в nm-connection-editor
есть только одно соединение "Wired connection 1", доступное для редактирования.
# nmcli c show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  c0482fa5-8c27-3247-8bc0-f98f509c7a5b  ethernet  eth0   
А настройки соединения для etcnet такие:
# cat /etc/net/ifaces/eth0/options
BOOTPROTO=static
TYPE=eth
NM_CONTROLLED=yes
DISABLED=yes
CONFIG_WIRELESS=no
CONFIG_IPV4=yes
ONBOOT=no
Скрины прилагаются.

dango

  • Гость
Re: read-only подключение Network Manager.
« Ответ #147 : 25.04.2019 10:59:15 »
В результате после первой загрузки свежеустановленной системы в nm-connection-editor
есть только одно соединение "Wired connection 1", доступное для редактирования.

dango

  • Гость
Re: read-only подключение Network Manager.
« Ответ #148 : 25.04.2019 11:09:13 »
Резюме: простой пользователь без четкой, не двухсмысленной подсказки в это не въедет.
ИМХО: Это лучше опцией, а еще лучше по умолчанию. А выбор в пользу etcnet как раз опцией для продвинутых.
klark973, спасибо за посыл в правильное направление.
« Последнее редактирование: 25.04.2019 11:13:50 от dango »

Петрович

  • Гость
Re: read-only подключение Network Manager.
« Ответ #149 : 25.04.2019 11:49:18 »
Резюме: простой пользователь без четкой, не двухсмысленной подсказки в это не въедет.
Не так развернуто, но выше точно об этом говорил. И кабель отключать не надо.
И это не надо3. Кликнуть кнопку "Дополнительно".4. Убрать галочку в поле "Запускать интерфейс при загрузке системы".
https://forum.altlinux.org/index.php?topic=42519.msg337407#msg337407
« Последнее редактирование: 25.04.2019 12:07:30 от Петрович »