dhcpd 提供 IP 地址,但客户端未获取 IP

dhcpd 提供 IP 地址,但客户端未获取 IP

我使用以下配置在我的 ubuntu 服务器上设置了一个 dhcpd:请注意,运行 dhcpd 的 ubuntu 服务器有一个静态 ip 192.168.1.50

default-lease-time 600;
max-lease-time 7200;

option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.50;
option domain-name-servers 192.168.1.50;
option netbios-name-servers 192.168.1.50;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.150 192.168.1.200;
}

现在,当我尝试从我的 ubuntu 客户端计算机的 dhcpd 服务器获取 ip 时,服务器会从 192.168.1.150 池中提供一个 ip,但客户端似乎没有接收它,而是发出新的请求,直到超时:

Listening on LPF/eth0/00:24:8c:1d:fb:40
Sending on   LPF/eth0/00:24:8c:1d:fb:40
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 195.130.132.102 port 67
Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:24:8c:1d:fb:40
Sending on   LPF/eth0/00:24:8c:1d:fb:40
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER of 192.168.1.150 from 192.168.1.50
DHCPREQUEST of 192.168.1.150 on eth0 to 255.255.255.255 port 67
DHCPREQUEST of 192.168.1.150 on eth0 to 255.255.255.255 port 67
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
DHCPOFFER of 192.168.1.150 from 192.168.1.50
DHCPREQUEST of 192.168.1.150 on eth0 to 255.255.255.255 port 67
DHCPREQUEST of 192.168.1.150 on eth0 to 255.255.255.255 port 67
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPOFFER of 192.168.1.150 from 192.168.1.50
DHCPREQUEST of 192.168.1.150 on eth0 to 255.255.255.255 port 67
DHCPREQUEST of 192.168.1.150 on eth0 to 255.255.255.255 port 67
...

tcpdump 信息:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
19:04:18.431422 IP 94.227.60.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300
19:05:10.316903 IP 94.224.188.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300

服务器和客户端的 iptables 信息相同:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

有任何想法吗??

答案1

我找到了一个解决方案,iptables 阻止了 dhcp 端口。我需要添加这条规则,让 UFW 打开 DHCP 端口,在 /etc/services 中称为 bootps

sudo ufw allow bootps

答案2

确保服务器或客户端上没有防火墙阻止服务器的响应。尝试关闭两个防火墙,如果 dhcp 工作正常,则防火墙规则需要调整。

答案3

您的服务器是 192.168.1.50,但您还指定这将是任何提供 IP 的客户端的默认路由。您能否澄清一下,这个 DHCP 盒肯定也是该子网的默认路由器?通常,它是一个 IP 为 192.168.1.1 的路由器(例如您的宽带/adsl 路由器)。

但这可能并不能解释该提议为何屡次被拒绝。

在客户端,假设您正在使用电缆,请运行:

sudo tcpdump -ni eth0 端口 67

(如果您的客户端使用 WIFI,请将 eth0 替换为 wlan0 或类似内容。在终端中运行 ifconfig 以查看您的接口列表)

你应该看到类似这样的内容:

scaine@GroovyTosh:~$ sudo tcpdump -ni eth0 port 67
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
00:24:38.520770 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:1e:68:d9:1b:7b, length 300
00:24:38.521211 IP 192.168.1.50.67 > 192.168.1.150.68: BOOTP/DHCP, Reply, length 300

我在 Ubuntu 10.10 上以默认模式运行 ufw,使用以太网电缆。我的服务器是运行 Webmin 的 Ubuntu 9.10,我用它来配置我的 DHCP 服务器。

发布您的 tcpdump 命令的输出,我将能够提供进一步的帮助(或者其他人将能够提供进一步的帮助)。

相关内容