Openwrt isc-dhcpd-4.2.4

Openwrt isc-dhcpd-4.2.4

每次 dhcp 服务启动时,它不仅会监听 0.0.0.0:67,还会监听 0.0.0.0:PORT,其中 PORT 是一个随机数。

有谁知道这种行为从何而来?

root@OpenWrt:/# netstat -ntapue
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 10.0.16.1:22            0.0.0.0:*               LISTEN      898/sshd
netstat: /proc/net/tcp6: No such file or directory
udp        0      0 10.0.16.1:514           0.0.0.0:*                           922/syslog-ng
udp        0      0 0.0.0.0:60738           0.0.0.0:*                           1290/dhcpd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1290/dhcpd
udp        0      0 10.0.16.1:69            0.0.0.0:*                           974/tftpd-hpa
netstat: /proc/net/udp6: No such file or directory

我的配置是:

# dhcpd.conf

ddns-updates off;

authoritative;

# don't let clients modify their own A records
ignore client-updates;

default-lease-time 3600;
max-lease-time 86400;

option domain-name "lan";

option domain-name-servers 212.24.188.130, 212.24.188.131;

subnet 10.0.16.0 netmask 255.255.255.0 {
        host marvin
        { hardware ethernet 48:5D:11:2F:22:31;
        fixed-address 10.0.16.202; }
      range 10.0.16.207 10.0.16.209;
      option subnet-mask 255.255.255.0;
      option broadcast-address 10.0.16.255;
      option routers 10.0.16.1;
      deny unknown-clients;

      next-server 10.0.16.1;
      filename "pxelinux.0";
}

答案1

在 google 中搜索后发现这是一种错误:

https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1176046

在启动板上还有一个指向所建议解决方案的链接(使用 ./configure 脚本的额外选项从源代码构建包):

http://forums.debian.net/viewtopic.php?f=10&t=95273

我已经检查了 ISC DHCPD 的最新稳定版本(4.2.5-P1)和开发版本(4.2.6b1 和 4.3.0b1)的发行说明,这个错误似乎尚未得到修复。

为了让 OpenWRT 使用自定义选项从源代码重建包,您需要使用适合您路由器架构的交叉编译器构建您自己的 opkg 包,甚至重建整个 OpenWRT 映像:http://wiki.openwrt.org/doc/devel/packages

因此,为了解决安全问题,我建议您使用防火墙阻止除需要之外的所有端口(22、67、69、514)。

相关内容