[devel] NetworkManager и пользовательские настройки по умолчанию

Mikhail Efremov sem на altlinux.org
Пт Май 8 16:21:39 MSK 2020


On Fri, 8 May 2020 07:09:58 +0400 Evgeny Sinelnikov wrote:
> пт, 8 мая 2020 г. в 00:57, Paul Wolneykien <manowar на altlinux.org>:
> 
> > В Fri, 8 May 2020 00:46:35 +0400
> > Evgeny Sinelnikov <sin на altlinux.org> пишет:
> >  
> > > Здравствуйте.
> > >
> > > Я прочитал багу, но не понял как решать проблему:
> > > https://bugzilla.altlinux.org/show_bug.cgi?id=18795
> > > https://www.altlinux.org/NetworkManager/feature
> > >
> > > Хочу разобраться с вопросом настройки сетевых соединений через
> > > NetworkManager. Какой сценарий предлагается пользователю по
> > > умолчанию?
> > >
> > > По умолчанию, после установки, в /etc/net/ifaces/eth0 имеем
> > > настройки:  
> >
> >   Думаю, что бага ровно в этом и состоит: в том, что в свежей
> > установке имеем /etc/net/ifaces/eth0. Потому что даже в
> > документации по etcnet-alt сказано, что он придуман потому, что
> > "если уже есть настройки в etcnet — нет смысла настраивать все это
> > еще раз". То есть плагин решает задачу дедупликации настроек, когда
> > в одном месте эти настройки уже есть.
> >   Следовательно, если убрать /etc/net/ifaces/eth0 из свежей
> > установки, то у пользователя будет чистый NM, а данной проблемы не
> > будет. 
> 
> Да, действительно. В таком виде поведение именно такое, как ожидается.
> 
> Таким образом, для интерфейса включается NM, то каталог
> /etc/net/ifaces/$IFACENAME должен быть удалён. 

При этом сети нет во время загрузки со всеми вытекающими. Потому что
соединение в NM можно создать только после загрузки.
Тогда надо вообще убрать шаг настройки сети из инсталлятора т.к.
в этом случае это не настройка, а профанация.

> Но тут возникает одна
> важная нестыковка: Модуль Альтератора, управляющий сетевыми
> интефейсами, в этом случае, не находит записи NM_CONTROLLED=yes в
> options и некорректно отображает состояние настройки.

Это можно пофиксить. Плагин NM etcnet-alt работает так: нет файла
options для интерфейса - управляем интерфейсом. Есть файл и там не
написано NM_CONTROLLED=yes - не управляем.

> Казалось бы, что могло повлиять? Возможно, ONBOOT=yes? Нет. Влияет
> BOOTPROTO=static.

Плагин пытается прочитать соединение из /etc/net, BOOTPROTO=dhcp уже
достаточно. В случае BOOTPROTO=static нужен еще как минимум адрес в
ipv4address, разумеется.
ONBOOT указывает будет ли соединение использоваться автоматически.

> Я не знаю что здесь не соответствует задумке и где тут бага, а где
> фича (наверное, это бага, если по задумке)... Но в режиме
> BOOTPROTO=static при отсутствии файла
> /etc/net/ifaces/$IFACENAME/ipv4address всё работает, как надо
> пользователю. Мы включили в Альтераторе "Сетевая подсистема:
> NetworkManager" и, как ожидается, у нас всё работает, через
> NetworkManger.

"Как надо пользователю" - это чтобы сеть была не настроена? Я в этом
совсем не уверен.

> Гибридную схему при этом, да и при установке тоже, никто не просил. И
> как её отключить родными средствами - непонятно. Удалять каталог
> /etc/net/ifaces/$IFACENAME - дело нехорошее. Я-то теперь буду
> пользоваться. Но как пользователям быть? У нас есть GUI, но чтобы всё
> заработало из коробки нужно лезть в консоль.

Я не понимаю зачем лезть в консоль.
Все просто: штатное средство настройки сети у нас - alterator-net-eth
(в том числе и в инсталляторе). Alterator-net-eth умеет настраивать
сеть в /etc/net. NM умеет этими настройками пользоваться (с помощью
плагина etcnet-alt). Но да, эти соединения read-only, редактировать их
плагин не умеет. Если нужно их изменить - нужно использовать
alterator-net-eth. Если хочется, чтобы сеть была не настроена, как вы
предлагаете, достаточно в alterator-net-eth указать static и не
настраивать.
В принципе, можно обучить alterator-net-eth создавать соединения для NM
и вообще выкинуть плагин etcnet-alt. Правда, потеряется возможность
указывать NM_CONTROLLED для интерфейсов, можно будет только глобально
выбрать либо всей сетью управляет NM, либо etcnet. И все настройки в
etcnet будут теряться при переключении на NM.

-- 
WBR, Mikhail Efremov


Подробная информация о списке рассылки Devel