Bug 45705 - Служба dhcpd "падает" сразу при старте ПК
Summary: Служба dhcpd "падает" сразу при старте ПК
Status: CLOSED WORKSFORME
Alias: None
Product: Branch p10
Classification: Unclassified
Component: dhcp-server (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Mikhail Efremov
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-30 11:59 MSK by Anton Shevtsov
Modified: 2023-05-10 10:44 MSK (History)
1 user (show)

See Also:


Attachments
journalctl -b 0 (129.83 KB, text/x-log)
2023-04-27 11:34 MSK, Anton Shevtsov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Shevtsov 2023-03-30 11:59:35 MSK
Но стоит сделать restart, все работает исправно.  Сообщение с которым падает говорит, что для указанного интерфейса нет диапазона ip

мар 09 16:38:41 dc dhcpd[15442]: No subnet declaration for enp1s0 (192.168.150.10).
мар 09 16:38:41 dc dhcpd[15442]: ** Ignoring requests on enp1s0.  If this is not what
мар 09 16:38:41 dc dhcpd[15442]:    you want, please write a subnet declaration
мар 09 16:38:41 dc dhcpd[15442]:    in your dhcpd.conf file for the network segment
мар 09 16:38:41 dc dhcpd[15442]:    to which interface enp1s0 is attached. **
мар 09 16:38:41 dc dhcpd[15442]: Not configured to listen on any interfaces!
мар 09 16:38:41 dc dhcpd[15442]: Please note the following before requesting help:
мар 09 16:38:41 dc dhcpd[15442]: This software is a part of the Internet Software Consortium's DHCP suite
мар 09 16:38:41 dc dhcpd[15442]: with modifications for ALT Linux.
мар 09 16:38:41 dc dhcpd[15442]: The ISC folks quite reasonably require that you do not bother them with
мар 09 16:38:41 dc dhcpd[15442]: questions on software that includes third-party modifications and might
мар 09 16:38:41 dc dhcpd[15442]: not be based off their latest code.  Hence, please direct any questions
мар 09 16:38:41 dc dhcpd[15442]: to the community@ mailing list instead; the subscription instructions
мар 09 16:38:41 dc dhcpd[15442]: are given at http://lists.altlinux.org/mailman/listinfo/community .
мар 09 16:38:41 dc dhcpd[15442]: Please also read the SUPPORT section on the README about
мар 09 16:38:41 dc dhcpd[15442]: submitting bug reports and requests for help.
мар 09 16:38:41 dc dhcpd[15442]: exiting.

При том, что интерфейс в системе 1, и он сам в этой же сети (etcnet)
 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:07:bf:ba brd ff:ff:ff:ff:ff:ff
    inet 192.168.150.10/24 brd 192.168.150.255 scope global noprefixroute enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe07:bfba/64 scope link 
       valid_lft forever preferred_lft forever

В /etc/sysconfig/dhcpd интерфейс определен 
DHCPDARGS="enp1s0"

При ребуте, dhcpd всегда выключена с вышеуказанным сообщением в журнале. 
Воспроизводимость - всегда, но  пробовал только в виртуальных средах (libvirtd, PVE, lxc)

На данный момент решаю созданием ovveride файла для юнита, с принудительным рестартом через 2сек после падения - успешно работает в нескольких стендах.

systemctl cat  dhcpd

# /lib/systemd/system/dhcpd.service
[Unit]
Description=DHCPv4 Server Daemon
Documentation=man:dhcpd(8) man:dhcpd.conf(5)
After=network.target
After=time-sync.target

[Service]
ExecStartPre=/etc/chroot.d/dhcpd.all
EnvironmentFile=/etc/sysconfig/dhcpd
ExecStart=/usr/sbin/dhcpd -4 -f --no-pid $DHCPDARGS

[Install]
WantedBy=multi-user.target

# /etc/systemd/system/dhcpd.service.d/override.conf
[Unit]
After=NetworkManager-wait-online.service

[Service]
RestartSec=2
Restart=on-failure


[root@dc ~]# rpm -q  dhcp-server
dhcp-server-4.4.3.P1-alt1.x86_64

[root@dc ~]# cat /etc/os-release 
NAME="ALT Server"
VERSION="10.1"
ID=altlinux
VERSION_ID=10.1
PRETTY_NAME="ALT Server 10.1 (Mendelevium)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:server:10.1"
BUILD_ID="ALT Server 10.0"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"
Comment 1 Vera Blagoveschenskaya 2023-04-14 13:35:41 MSK
Server 10.1 x86_64
dhcp-server-4.4.3.P1-alt1.x86_64

Добрый день, Антон.
Давайте уточним шаги воспроизведения.

Я попробовала повесить второй (тестовый) интерфейс 192.168.1.1 на виртуальную машину, прописала диапазон адресов для DHCP-сервера 192.168.1.100-192.168.1.200, отметила чекбокс Включить службу DHCP и сохранила изменения (через веб-альтератор). 
Настройка DHCP-сервера через альтератор описана в документации к Server 10.1.

dhcpd стартовал нормально.
Comment 2 Anton Shevtsov 2023-04-14 14:27:01 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #1)
> Server 10.1 x86_64
> dhcp-server-4.4.3.P1-alt1.x86_64
> 
> Добрый день, Антон.
> Давайте уточним шаги воспроизведения.
> 
> Я попробовала повесить второй (тестовый) интерфейс 192.168.1.1 на
> виртуальную машину, прописала диапазон адресов для DHCP-сервера
> 192.168.1.100-192.168.1.200, отметила чекбокс Включить службу DHCP и
> сохранила изменения (через веб-альтератор). 
> Настройка DHCP-сервера через альтератор описана в документации к Server 10.1.
> 
> dhcpd стартовал нормально.

Стартует нормально да. 
Перегрузитесь и посмотрите состояние службы. Она будет died. Запустите снова - будет работать.
Comment 3 Vera Blagoveschenskaya 2023-04-14 14:58:48 MSK
(Ответ для Anton Shevtsov на комментарий #2)
> Стартует нормально да. 
> Перегрузитесь и посмотрите состояние службы. Она будет died. Запустите снова
> - будет работать.

У меня все хорошо. 

После перезагрузки 
# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
     Loaded: loaded (/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2023-04-14 14:57:53 MSK; 17s ago
       Docs: man:dhcpd(8)
             man:dhcpd.conf(5)
    Process: 2865 ExecStartPre=/etc/chroot.d/dhcpd.all (code=exited, status=0/SUCCESS)
   Main PID: 3179 (dhcpd)
      Tasks: 1 (limit: 3562)
     Memory: 13.1M
        CPU: 194ms
     CGroup: /system.slice/dhcpd.service
             └─ 3179 /usr/sbin/dhcpd -4 -f --no-pid
Comment 4 Vera Blagoveschenskaya 2023-04-24 10:04:05 MSK
Антон, можете ли вы воспроизвести ошибку, следуя шагам 
https://docs.altlinux.org/ru-RU/alt-server/10.1/html/alt-server/server-network--dhcp.html ?
Comment 5 Anton Shevtsov 2023-04-27 09:23:03 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #4)
> Антон, можете ли вы воспроизвести ошибку, следуя шагам 
> https://docs.altlinux.org/ru-RU/alt-server/10.1/html/alt-server/server-
> network--dhcp.html ?

В общем так и делал всегда, равно как и пробовал руками.
Результат плачевный. 
В подавляющем большинстве случаев служба не стартует сразу.
Comment 6 Vera Blagoveschenskaya 2023-04-27 11:24:22 MSK
Приложите пожалуйста, лог загрузки, где не стартует dhcpd
Comment 7 Anton Shevtsov 2023-04-27 11:34:09 MSK
Created attachment 13040 [details]
journalctl -b 0
Comment 8 Anton Shevtsov 2023-04-27 11:35:13 MSK
[root@pxe-srv ~]#uptime
 11:29:32 up 0 min,  1 user,  load average: 1,90, 0,45, 0,15

[root@pxe-srv ~]# systemctl status dhcpd
× dhcpd.service - DHCPv4 Server Daemon
     Loaded: loaded (/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Thu 2023-04-27 11:29:20 MSK; 18s ago
       Docs: man:dhcpd(8)
             man:dhcpd.conf(5)
    Process: 2556 ExecStartPre=/etc/chroot.d/dhcpd.all (code=exited, status=0/SUCCESS)
    Process: 2763 ExecStart=/usr/sbin/dhcpd -4 -f --no-pid $DHCPDARGS (code=exited, status=1/FAILURE)
   Main PID: 2763 (code=exited, status=1/FAILURE)
        CPU: 187ms

апр 27 11:29:20 pxe-srv dhcpd[2763]: The ISC folks quite reasonably require that you do not bother them with
апр 27 11:29:20 pxe-srv dhcpd[2763]: questions on software that includes third-party modifications and might
апр 27 11:29:20 pxe-srv dhcpd[2763]: not be based off their latest code.  Hence, please direct any questions
апр 27 11:29:20 pxe-srv dhcpd[2763]: to the community@ mailing list instead; the subscription instructions
апр 27 11:29:20 pxe-srv dhcpd[2763]: are given at http://lists.altlinux.org/mailman/listinfo/community .
апр 27 11:29:20 pxe-srv dhcpd[2763]: Please also read the SUPPORT section on the README about
апр 27 11:29:20 pxe-srv dhcpd[2763]: submitting bug reports and requests for help.
апр 27 11:29:20 pxe-srv dhcpd[2763]: exiting.
апр 27 11:29:20 pxe-srv systemd[1]: dhcpd.service: Main process exited, code=exited, status=1/FAILURE
апр 27 11:29:20 pxe-srv systemd[1]: dhcpd.service: Failed with result 'exit-code'.

[root@pxe-srv ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 62:73:aa:c9:f4:0b brd ff:ff:ff:ff:ff:ff
    altname enp0s19
    inet 192.168.80.1/24 brd 192.168.80.255 scope global noprefixroute ens19
       valid_lft forever preferred_lft forever
    inet6 fe80::6073:aaff:fec9:f40b/64 scope link 
       valid_lft forever preferred_lft forever
3: ens20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether e6:78:77:4f:02:b0 brd ff:ff:ff:ff:ff:ff
    altname enp0s20
    inet 192.168.0.110/24 brd 192.168.0.255 scope global dynamic noprefixroute ens20
       valid_lft 514sec preferred_lft 514sec
    inet6 fe80::e478:77ff:fe4f:2b0/64 scope link 
       valid_lft forever preferred_lft forever

[root@pxe-srv ~]# cat /etc/sysconfig/dhcpd
# The following variables are recognized:

DHCPDARGS=ens19

[root@pxe-srv ~]# cat /etc/net/ifaces/ens19/options 
NM_CONTROLLED=yes
DISABLED=yes
TYPE=eth
CONFIG_WIRELESS=no
BOOTPROTO=static
SYSTEMD_BOOTPROTO=static
CONFIG_IPV4=yes
SYSTEMD_CONTROLLED=no

[root@pxe-srv ~]# cat /etc/net/ifaces/ens19/ipv4address
192.168.80.1/24

[root@pxe-srv ~]# systemctl start dhcpd

[root@pxe-srv ~]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
     Loaded: loaded (/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
     Active: active (running) since Thu 2023-04-27 11:34:50 MSK; 4s ago
       Docs: man:dhcpd(8)
             man:dhcpd.conf(5)
    Process: 3636 ExecStartPre=/etc/chroot.d/dhcpd.all (code=exited, status=0/SUCCESS)
   Main PID: 3726 (dhcpd)
      Tasks: 1 (limit: 4681)
     Memory: 9.3M
        CPU: 167ms
     CGroup: /system.slice/dhcpd.service
             └─ 3726 /usr/sbin/dhcpd -4 -f --no-pid ens19

апр 27 11:34:50 pxe-srv dhcpd[3726]: All rights reserved.
апр 27 11:34:50 pxe-srv dhcpd[3726]: For info, please visit https://www.isc.org/software/dhcp/
апр 27 11:34:50 pxe-srv dhcpd[3726]: Config file: /etc/dhcp/dhcpd.conf
апр 27 11:34:50 pxe-srv dhcpd[3726]: Database file: /state/dhcpd.leases
апр 27 11:34:50 pxe-srv dhcpd[3726]: PID file: /var/run/dhcpd.pid
апр 27 11:34:50 pxe-srv dhcpd[3726]: Listening on LPF/ens19/62:73:aa:c9:f4:0b/192.168.80.0/24
апр 27 11:34:50 pxe-srv dhcpd[3726]: Sending on   LPF/ens19/62:73:aa:c9:f4:0b/192.168.80.0/24
апр 27 11:34:50 pxe-srv dhcpd[3726]: Sending on   Socket/fallback/fallback-net
апр 27 11:34:50 pxe-srv dhcpd[3726]: Wrote 3 leases to leases file.
апр 27 11:34:50 pxe-srv dhcpd[3726]: Server starting service.
Comment 9 Vera Blagoveschenskaya 2023-04-27 13:20:10 MSK
dhcpd стартует раньше, чем NetworkManager обработал сетевую карту.

апр 27 11:29:20 pxe-srv dhcpd[2763]: Config file: /etc/dhcp/dhcpd.conf
апр 27 11:29:20 pxe-srv dhcpd[2763]: Database file: /state/dhcpd.leases
апр 27 11:29:20 pxe-srv dhcpd[2763]: PID file: /var/run/dhcpd.pid
апр 27 11:29:20 pxe-srv dhcpd[2763]: No subnet declaration for ens19 (no IPv4 addresses).
апр 27 11:29:20 pxe-srv NetworkManager[2544]: <info>  [1682584160.7572] device (ens19): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
апр 27 11:29:20 pxe-srv dhcpd[2763]: ** Ignoring requests on ens19.  If this is not what
апр 27 11:29:20 pxe-srv dhcpd[2763]:    you want, please write a subnet declaration
апр 27 11:29:20 pxe-srv dhcpd[2763]:    in your dhcpd.conf file for the network segment
апр 27 11:29:20 pxe-srv dhcpd[2763]:    to which interface ens19 is attached. **
апр 27 11:29:20 pxe-srv dhcpd[2763]: Not configured to listen on any interfaces!
апр 27 11:29:20 pxe-srv dhcpd[2763]: Please note the following before requesting help:
апр 27 11:29:20 pxe-srv dhcpd[2763]: This software is a part of the Internet Software Consortium's DHCP suite
апр 27 11:29:20 pxe-srv dhcpd[2763]: with modifications for ALT Linux.
апр 27 11:29:20 pxe-srv dhcpd[2763]: The ISC folks quite reasonably require that you do not bother them with
апр 27 11:29:20 pxe-srv dhcpd[2763]: questions on software that includes third-party modifications and might
апр 27 11:29:20 pxe-srv dhcpd[2763]: not be based off their latest code.  Hence, please direct any questions
апр 27 11:29:20 pxe-srv dhcpd[2763]: to the community@ mailing list instead; the subscription instructions
апр 27 11:29:20 pxe-srv dhcpd[2763]: are given at http://lists.altlinux.org/mailman/listinfo/community .
апр 27 11:29:20 pxe-srv dhcpd[2763]: Please also read the SUPPORT section on the README about
апр 27 11:29:20 pxe-srv dhcpd[2763]: submitting bug reports and requests for help.
апр 27 11:29:20 pxe-srv dhcpd[2763]: exiting.
апр 27 11:29:20 pxe-srv systemd[1]: Starting Network Manager Script Dispatcher Service...
апр 27 11:29:20 pxe-srv dbus-daemon[2457]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
апр 27 11:29:20 pxe-srv NetworkManager[2544]: <info>  [1682584160.7975] manager: (ens20): new Ethernet device (/org/freedesktop/NetworkManager/Devices/3)
апр 27 11:29:20 pxe-srv systemd[1]: dhcpd.service: Main process exited, code=exited, status=1/FAILURE
апр 27 11:29:20 pxe-srv NetworkManager[2544]: <info>  [1682584160.8207] device (ens20): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
апр 27 11:29:20 pxe-srv systemd[1]: dhcpd.service: Failed with result 'exit-code'.
апр 27 11:29:20 pxe-srv systemd[1]: Started Network Manager Script Dispatcher Service.
апр 27 11:29:20 pxe-srv NetworkManager[2544]: <info>  [1682584160.8766] device (ens19): carrier: link connected
апр 27 11:29:20 pxe-srv NetworkManager[2544]: <info>  [1682584160.8820] device (ens20): carrier: link connected

Перевожу ошибку на мейнтейнера. 
Нужна рекомендация, как пускать dhcpd только после того, как появится интерфейс.
Comment 10 Vera Blagoveschenskaya 2023-05-10 10:44:05 MSK
Выполнила проверки на реальном сервере Supermicro SYS-2029BT-HNR

dhcp-server-4.4.3.P1-alt1 (sisyphus)
dhcp-server-4.4.3.P1-alt1 (p10)

Ошибка не воспроизвелась.
dhcpd стартует успешно (при первом запуске и при старте ПК).