我正在尝试在 Debian 6.0.3 Squeeze 机器上设置 PXE 启动服务器,以提供 Plop Linux 的映像。我正在关注“Plop Linux - 从网络 PXE 启动 - Linux 服务器”教程。当我尝试启动 dhcpd(从 dhcp3-server 包)时,我得到以下信息:
No subnet declaration for eth0 (10.0.0.0).
**Ignoring requests on eth0. If this is not what
you want, please write a subnet delclaration
in your dhcpd.conf file for the network segment
to which interface eth0 is attached. **
Not configured to listen on any interfaces!
我的/etc/dhcpd.conf
与教程中的相同,除了一些更改:
host testpc {
hardware ethernet 00:0C:6E:A6:1A:E6;
fixed-address 10.0.0.250;
}
相反是
host tablet {
hardware ethernet 00:02:3F:FB:E2:6F;
fixed-address 10.0.0.249;
}
我的/etc/network/interfaces
是:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 10.0.0.0
netmask 255.255.255.0
这是我的/etc/default/isc-dhcp-server
:
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"
/etc/default/dhcp3-server
我也复制到其中,不确定它会检查哪个。
我还尝试将 IP 地址设置为/etc/network/interfaces
10.0.0.1 和 10.0.0.2,但结果相同。
答案1
由于 dhcpd 必须向客户端分发 IP 地址,因此它需要知道它负责的地址范围。子网声明为 dhcpd 提供了该信息以及更多信息。假设您使用的是 10.0.0/24,以下内容应该可以帮助您开始并跳过错误消息,但您确实需要进入文档走得更远。将其添加到您的 dhcpd.conf 中:
subnet 10.0.0.0 netmask 255.255.255.0 {
authoritative;
range 10.0.0.1 10.0.0.254;
default-lease-time 3600;
max-lease-time 3600;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.0;
option domain-name-servers 8.8.8.8;
option domain-name "example.com";
}
我上面输入的 IP 地址是猜测。您必须根据您的设置正确设置这些。
答案2
我已经解决了为我的接口配置子网的问题
/etc/dhcp/dhcpd.conf
:
**# 我的界面
subnet 172.20.19.20 netmask 255.255.255.255 { }**
subnet 172.20.11.0 netmask 255.255.255.0 {
option routers 172.20.11.253;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.20.251;
range 172.20.11.10 172.20.11.100;
option tftp-server-name "192.168.254.102";
}
答案3
问题是这10.0.0.0
不是有效的 IPv4 地址。子网中的第一个地址(主机部分全为零的地址)是子网标识符,因此不是有效的主机地址。尝试10.0.0.1
。您还应该避免子网中的最后一个地址,因为它是 IP 广播地址。
Decimal:
Address: 10 .0 .0 .0
Subnet Mask: 255.255.255.255
Hex:
Address: 0A 00 00 00
Subnet Mask: FF FF FF 00
Network: ^^ ^^ ^^
Host: ^^
Smallest Addr: 01 (.1)
Largest Addr: FE (.254)
Broadcast: FF (.255)
答案4
删除 dnsmasq 解决了我的问题
sudo apt-get -y remove dnsmasq