1

Тема: ISC DHCP после обновления перестал работать

Обновился до версии ISC DHCP 4.3.2 с ISC DHCP 4.2.4.

Теперь о проблеме. Версия 4.2.4 работала без единого сбоя. На днях обновил пакеты и у меня поставилась версия 4.3.2. При установке мой конфиг файл dhcpd.conf был перезаписан на дефолтный(хорошо был архив - восстановил). Так вот пару дней отработал сервер отлично, а сегодня вечером перестал выдавать адреса. Ребутаешь, пару адресов он выдаст и все, хотя при этом в процессах висит. Вторая проблема заключается в том, что если сделать "release", то сервер так же перестает выдавать адреса хотя из процессов он не вылетает. Версия 4.2.4 при этом работает отлично.
Из этого вопрос? Этj кривой сервер или мои кривые руки? которые конфиг писали. Сервер слушает интерфейс "br0".

2

Re: ISC DHCP после обновления перестал работать

dexter, если я правильно понимая албанский - речь об Entware. Хорошо бы еще угадать feed - sf или hf.
Я бы рекомендовал сообщать об ошибках Entware (на английском) тут - https://github.com/Entware/entware/issues

3

Re: ISC DHCP после обновления перестал работать

Да, речь про entware, вы верно поняли. Как узнать feed? На github написать не смогу, т.к. не очень силен в аглицком. Олбанский лучше дается.


Может апдейт убрать из репозитария пока баг не пофиксят?

Отредактировано dexter (2015-08-04 09:30:28)

4

Re: ISC DHCP после обновления перестал работать

Никаких специфичных правок при обновлении не было, поэтому смею предположить, что это регрессия в новой версии isc-dhcp или в новой версии есть что-то, что вы забыли сконфигурировать.

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

dexter :

dhcpd.conf был перезаписан на дефолтный(хорошо был архив - восстановил).

Поправил.

Отредактировано ryzhov_al (2015-08-04 10:27:54)

Со всеми вытекающими...

5

Re: ISC DHCP после обновления перестал работать

dexter :

Как узнать feed?

Черные - sf (soft float). Белые - hf (hard float - эмуляция операций с плавающей запятой в ядре).

6

Re: ISC DHCP после обновления перестал работать

У меня черный прошивка с smtc.

7

Re: ISC DHCP после обновления перестал работать

Запустил через strace. Вот выхлоп.


~ # dhcpd br0
Internet Systems Consortium DHCP Server 4.3.2
Copyright 2004-2015 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Config file: /opt/etc/dhcpd.conf
Database file: /opt/var/db/dhcpd.leases
PID file: /opt/var/run/dhcpd.pid
Wrote 4 leases to leases file.
Listening on LPF/br0/ec:43:f6:72:a4:18/192.168.100.0/24
Sending on   LPF/br0/ec:43:f6:72:a4:18/192.168.100.0/24
Sending on   Socket/fallback/fallback-net
~ # strace -p 2158
Process 2158 attached
select(22, [4 5 7], [], NULL, {3488, 0}) = 2 (in [5 7], left {3483, 290000})
gettimeofday({1439273822, 142199}, NULL) = 0
gettimeofday({1439273822, 143474}, NULL) = 0
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\377\377\377\377\377\377\0\26\317\203%\244\10\0E\0\1H\31\215\0\0\200\21 \31\0\0\0\0\377\377"..., 1536}], msg_controllen=28, [{cmsg_len=28, cmsg_level=SOL_PACKET, cmsg_type=8, ...}], msg_flags=0}, 0) = 342
time([1439273822])                      = 1439273822
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
send(3, "<31>Aug 11 09:17:02 dhcpd: reuse"..., 119, MSG_NOSIGNAL) = 119
time([1439273822])                      = 1439273822
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
send(3, "<30>Aug 11 09:17:02 dhcpd: DHCPD"..., 78, MSG_NOSIGNAL) = 78
sendto(4, "\10\0\377\32\370\344\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 28, 0, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.100.13")}, 16) = 28
gettimeofday({1439273822, 160568}, NULL) = 0
gettimeofday({1439273822, 161513}, NULL) = 0
gettimeofday({1439273822, 162034}, NULL) = 0
recvfrom(7, "\1\1\6\0\376\325\365\205\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\317\203"..., 1540, 0, {sa_family=AF_INET, sin_port=htons(68), sin_addr=inet_addr("0.0.0.0")}, [16]) = 300
gettimeofday({1439273822, 163834}, NULL) = 0
select(22, [4 5 7], [], NULL, {0, 996734}) = 0 (Timeout)
gettimeofday({1439273823, 161429}, NULL) = 0
gettimeofday({1439273823, 161743}, NULL) = 0
gettimeofday({1439273823, 162026}, NULL) = 0
time([1439273823])                      = 1439273823
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
send(3, "<30>Aug 11 09:17:03 dhcpd: DHCPO"..., 84, MSG_NOSIGNAL) = 84
write(5, "\0\26\317\203%\244\354C\366r\244\30\10\0E\20\1H\0\0\0\0\200\21\3578\300\250d\376\300\250"..., 342) = 342
gettimeofday({1439273823, 165133}, NULL) = 0
select(22, [4 5 7], [], NULL, {3482, 250717}) = 2 (in [5 7], left {3482, 250717})
gettimeofday({1439273823, 170330}, NULL) = 0
gettimeofday({1439273823, 171121}, NULL) = 0
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\377\377\377\377\377\377\0\26\317\203%\244\10\0E\0\1Q\31\216\0\0\200\21 \17\0\0\0\0\377\377"..., 1536}], msg_controllen=28, [{cmsg_len=28, cmsg_level=SOL_PACKET, cmsg_type=8, ...}], msg_flags=0}, 0) = 351
time([1439273823])                      = 1439273823
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
send(3, "<31>Aug 11 09:17:03 dhcpd: reuse"..., 119, MSG_NOSIGNAL) = 119
time([1439273823])                      = 1439273823
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
send(3, "<30>Aug 11 09:17:03 dhcpd: DHCPR"..., 107, MSG_NOSIGNAL) = 107
time([1439273823])                      = 1439273823
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
send(3, "<30>Aug 11 09:17:03 dhcpd: DHCPA"..., 82, MSG_NOSIGNAL) = 82
write(5, "\0\26\317\203%\244\354C\366r\244\30\10\0E\20\1H\0\0\0\0\200\21\3578\300\250d\376\300\250"..., 342) = 342
gettimeofday({1439273823, 179926}, NULL) = 0
recvfrom(7, "\1\1\6\0\376\325\365\205\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\317\203"..., 1540, 0, {sa_family=AF_INET, sin_port=htons(68), sin_addr=inet_addr("0.0.0.0")}, [16]) = 309
gettimeofday({1439273823, 180916}, NULL) = 0
select(22, [4 5 7], [], NULL, {3482, 234934}) = 1 (in [4], left {3481, 260000})
gettimeofday({1439273824, 164345}, NULL) = 0
gettimeofday({1439273824, 164517}, NULL) = 0
recvfrom(4, "E\0\0000\31\217@\0\200\1\226\341\300\250d\r\300\250d\376\0\0\7\33\370\344\0\0\0\0\0\0"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.100.13")}, [16]) = 48
gettimeofday({1439273824, 165976}, NULL) = 0
select(22, [4 5 7], [], NULL, {3481, 249874}) = 1 (in [4], left {3479, 510000})
gettimeofday({1439273825, 909049}, NULL) = 0
gettimeofday({1439273825, 909226}, NULL) = 0
recvfrom(4, "E\0\0\260\31\225\0\0\200\1\326[\300\250d\r\300\250d\376\3\3C3\0\0\0\0E\0\1J"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.100.13")}, [16]) = 176
gettimeofday({1439273825, 910762}, NULL) = 0
select(22, [4 5 7], [], NULL, {3479, 505088}) = 2 (in [5 7], left {3474, 500000})
gettimeofday({1439273830, 931128}, NULL) = 0
gettimeofday({1439273830, 932021}, NULL) = 0
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\354C\366r\244\30\0\26\317\203%\244\10\0E\0\1H\32^\0\0\200\21\324\352\300\250d\r\300\250"..., 1536}], msg_controllen=28, [{cmsg_len=28, cmsg_level=SOL_PACKET, cmsg_type=8, ...}], msg_flags=0}, 0) = 342
time(NULL)                              = 1439273830
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
time(NULL)                              = 1439273830
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
time(NULL)                              = 1439273830
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
time(NULL)                              = 1439273830
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
write(6, "lease 192.168.100.13 {\n  starts "..., 243) = 243
fsync(6)                                = 0
time([1439273830])                      = 1439273830
open("/etc/TZ", O_RDONLY)               = 8
read(8, "MSK-3\n", 68)                  = 6
close(8)                                = 0
send(3, "<30>Aug 11 09:17:10 dhcpd: DHCPR"..., 96, MSG_NOSIGNAL) = 96
gettimeofday({1439273830, 954340}, NULL) = 0
recvfrom(7, "\1\1\6\0\227Yr\"\0\0\0\0\300\250d\r\0\0\0\0\0\0\0\0\0\0\0\0\0\26\317\203"..., 1540, 0, {sa_family=AF_INET, sin_port=htons(68), sin_addr=inet_addr("192.168.100.13")}, [16]) = 300
gettimeofday({1439273830, 955544}, NULL) = 0
select(22, [4 5 7], [], NULL, {3474, 460306}) = 2 (in [5 7], left {3469, 480000})
gettimeofday({1439273835, 942813}, NULL) = 0
gettimeofday({1439273835, 942995}, NULL) = 0
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\377\377\377\377\377\377\0\26\317\203%\244\10\0E\0\1H\32v\0\0\200\21\0370\0\0\0\0\377\377"..., 1536}], msg_controllen=28, [{cmsg_len=28, cmsg_level=SOL_PACKET, cmsg_type=8, ...}], msg_flags=0}, 0) = 342
gettimeofday({1439273835, 944247}, NULL) = 0
recvfrom(7, "\1\1\6\0~\231\324\324\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\317\203"..., 1540, 0, {sa_family=AF_INET, sin_port=htons(68), sin_addr=inet_addr("0.0.0.0")}, [16]) = 300
gettimeofday({1439273835, 945468}, NULL) = 0
select(22, [4 5 7], [], NULL, {3469, 470382}) = 2 (in [5 7], left {3466, 470000})
gettimeofday({1439273838, 952391}, NULL) = 0
gettimeofday({1439273838, 953603}, NULL) = 0
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\377\377\377\377\377\377\0\26\317\203%\244\10\0E\0\1H\32w\0\0\200\21\37/\0\0\0\0\377\377"..., 1536}], msg_controllen=28, [{cmsg_len=28, cmsg_level=SOL_PACKET, cmsg_type=8, ...}], msg_flags=0}, 0) = 342
gettimeofday({1439273838, 956065}, NULL) = 0
recvfrom(7, "\1\1\6\0~\231\324\324\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\317\203"..., 1540, 0, {sa_family=AF_INET, sin_port=htons(68), sin_addr=inet_addr("0.0.0.0")}, [16]) = 300
gettimeofday({1439273838, 958664}, NULL) = 0
select(22, [4 5 7], [], NULL, {3466, 457186}) = 2 (in [5 7], left {3458, 460000})
gettimeofday({1439273846, 952931}, NULL) = 0
gettimeofday({1439273846, 953114}, NULL) = 0
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\377\377\377\377\377\377\0\26\317\203%\244\10\0E\0\1H\32x\0\0\200\21\37.\0\0\0\0\377\377"..., 1536}], msg_controllen=28, [{cmsg_len=28, cmsg_level=SOL_PACKET, cmsg_type=8, ...}], msg_flags=0}, 0) = 342
gettimeofday({1439273846, 953877}, NULL) = 0
recvfrom(7, "\1\1\6\0~\231\324\324\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\317\203"..., 1540, 0, {sa_family=AF_INET, sin_port=htons(68), sin_addr=inet_addr("0.0.0.0")}, [16]) = 300
gettimeofday({1439273846, 954791}, NULL) = 0
select(22, [4 5 7], [], NULL, {3458, 461059}

Похоже после release он не видит или не воспринимает discover.

UPD. На белом не работает.

UPD. На Debiane версия 4.3.2 из тестового пакета нормально работает.

Отредактировано dexter (2015-08-16 22:55:00)

8

Re: ISC DHCP после обновления перестал работать

Вот ответ с одного известного форума.

Да, по этому starce видно, что в dhcpd что-то заклинило. Он постоянно получает данные recvmsg(5, ...) == DHCPDISCOVER и recvfrom(7, ...) == прочие DHCP-пакеты, но ничего не выводит в лог и вобще больше ничего не делает, кроме чтения сокетов. Я просмотрел исходники и не совсем понимаю, как такое получается, вроде как в логи должно что-нибудь выводится про пакет, либо его тип, либо что он неправильный. Немогу ничего посоветовать.