[make-initrd] [devel] syslinux

Alexey Gladkov legion at altlinux.ru
Mon Apr 22 03:33:11 MSK 2019


On Mon, Apr 22, 2019 at 01:08:57AM +0200, Michael A. Kangin wrote:
> On 04/21/2019 05:44 PM, Michael A. Kangin wrote:
> 
> > Замечания, появляющиеся в ходе тестирования сети, предпочтительней 
> > оформлять багами или для начала лучше писать сюда (для обсуждения и 
> > понимания, баг это или фича)?
> 
> Давайте попробую пока тут изложить.
> 
> 
> В образ initrd не попадает модуль ipv6, поэтому эти конфигурации пока 
> проверить не удалось, попробую завтра добавить этот модуль.
> В логах (/var/log/ueventd.log):
> [2019-04-21 13:28:21] uevent-handler: Running network handler ...
> modprobe: FATAL: Module ipv6 not found in directory 
> /lib/modules/5.0.6-un-def-alt1

Ой. Да, нужно лучше проверять его наличие.

> Если не указывать интерфейс, то согласно документации,
> ip={on|any|dhcp|dhcp4|dhcp6} get configuration from DHCP server for all 
> interfaces.
> Однако, под "all interfaces" понимается и lo тоже. И мы имеем 
> 16секундную задержку в инициализации сети, пока идёт попытка получить 
> адрес на lo:
> 
> [2019-04-21 13:28:22] 030-network: lo: trying to obtain configuration 
> from dhcp ...
> [2019-04-21 13:28:22] 030-network: run: ip -6 link set dev lo up
> [2019-04-21 13:28:22] 030-network: run: udhcpc -v -n -i lo -t 3 -T 5 -s 
> /lib/network/udhcpc4.script -p /var/run/udcpc.lo.pid
> [2019-04-21 13:28:22] 030-network: lo: waiting 16 seconds for 
> configuration by dhcp ...
> [2019-04-21 13:28:37] 030-network: lo: dhcp done
> [2019-04-21 13:28:38] 030-network: eth0: trying to obtain configuration 
> from dhcp ...
> (обратите внимание на таймстампы)

Эм. Вы правы и для loopback не нужно dhcp.

> Нотации
> ip=<interface>:<autoconf>[:[<mtu>][:<macaddr>]]
> ip=<ipaddr>:[<peer>]:<gw>:<netmask>:<hostname>:<interface>:<autoconf>[:[<mtu>][:<macaddr>]]
> ip=<ipaddr>:[<peer>]:<gw>:<netmask>:<hostname>:<interface>:<autoconf>[:[<dns1>][:<dns2>]]
> работают согласно документации, за некоторыми исключениями:
> 
> - фактически, это
> ip=[<ipaddr>]:[<peer>]:[gw]:[<netmask>]:[<hostname>]:<interface>:<autoconf>
> 
> - фразой "Optionally set <macaddr> on the <interface>" на самом деле 
> описывается поведение "переименование сетевого интерфейса, имеющего 
> MAC-адрес <macaddr> в новое имя <interface>, (если оно свободно, иначе 
> ошибка)".

Да, а вы ожидали другого ?

> - mtu на сам сетевой интерфейс не применяется. При этом в конфигурации 
> есть такая запись:
> /etc/network/ifaces/eth1:# cat iplink
> mtu 9000

Видимо баг.

> Не знаю, являются ли ошибкой следующие поведения:
> - при конфигурации "ip=dhcp nameserver=8.8.8.8" в /etc/resolv.conf 
> попадают сервера, как указанные вручную, так и добытые с помощью DHCP. Я 
> могу представить ситуацию, когда хотелось бы избавиться от автоматически 
> предлагаемых серверов вообще (кроме того, был бы нелишний параметр для 
> search - для подстановки домена)

Вы предполагаете, что параметры nameserver перетрут значения из DHCP ? Я
старался сделать как в RH в этом месте.

> - конфигурация типа 
> "ip=192.168.222.25::192.168.222.20:25:myhost:eth2:dhcp" какая-то 
> валидно-бессмысленная, вся информация игнорируется и на eth2 просто 
> получается dhcp.

Да, описание через эти параметры может быть однозначной. Я следовал за RH
в реализации [1]. Я не хотел бы плодить несовместимость несовместимости.

[1] https://mirrors.edge.kernel.org/pub/linux/utils/boot/dracut/dracut.html#_network

> В порядке фичреквеста, я бы кстати предложил поддерживать для статики 
> еще одну нотацию, более логично-лаконичную:
> ip=<interface>:<ipaddr>[/<netmask>][:<gw>[:<dns>[:[<mtu>]:[mac]]]]
> уф, надеюсь не запутался скобочках
> 
> С примерами:
> ip=eth0:10.255.255.1 #(подразумевается /32)
> ip=eth0:123.45.67.89/24:123.45.67.1
> ip=stor0:192.168.7.235/255.255.255.128:192.168.7.129:192.168.1.1:9000:fe:fe:de:ad:be:af

Нужно проверить не противоречит ли она остальным.

> И поддержка вланов тоже была бы совершенно не лишней - в датацентрах 
> dhcp & tftp может не нейтивом подаваться, а одним из вланов в транке на 
> порту.

ок. попробую.

-- 
Rgrds, legion



More information about the Make-initrd mailing list