我正在 Ubuntu 12.04 主机上的 Debain(虚拟机)上设置 DHCP 服务器,但无法启动并运行它。
我的配置是这样的,
dhcpd配置文件
ddns-update-style none;
option domain-name "xyz.com";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 172.16.101.0 netmask 255.255.255.0 {
range 172.16.101.10 172.16.101.20;
#option broadcast-address 172.16.101.255;
#option subnet-mask 255.255.255.0;
option routers 172.16.101.1;
}
对于接口
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth2
auto eth2
iface eth2 inet dhcp
/etc/default/isc-dhcp 服务器
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth2"
但每次我重新启动 dhcp 服务时它都会说,
root@debian1:/home/user# /etc/init.d/isc-dhcp-server restart
Stopping ISC DHCP server: dhcpd failed!
Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!
failed!
这个配置有什么问题?
答案1
您是否想让系统通过 DHCP 为自己获取地址?出于很多原因,这不是一个好主意。
您需要一个在此系统之外运行的 DHCP 服务器。
我认为isc-dhcp-server
失败是因为没有接口与您指定的 DHCP 范围位于同一子网。 eth2
无法满足此条件,因为它没有 IP 地址。如果它有一个 IP 地址...它就不需要通过 DHCP 获取。您可以看到为什么您所做的事情毫无意义。
tail -n 30 /var/log/syslog
尝试再次启动后再执行一次以确保万无一失。
答案2
因为唯一的问题是虚拟机连接,并且您的路由器提供了您的 LAN 的 IP 配置,dhcpd
所以关闭它不会在启动时启动。
然后开始VirtualBox
,打开Settings
你的VM
并点击Network
。在Attached to
下拉列表中选择Bridged Adapter
。然后点击OK
并开始你的VM
。
您的客户操作系统应该从路由器获取地址。