我正在编写简单的程序来配置和监控 Ubuntu 12.04 上的 DHCP 服务器。我试图实现的是,我的物理机将成为 DHCP 服务器,而我的 VM(虚拟机)获得一个租约(我在租约文件中读取了该信息)。
我使用 isc-dhcp-server。我在测试期间关闭了它network-manager
。我使用 VirtualBox 来托管虚拟机,网络配置为使用桥接适配器。服务器启动正常,但当我的虚拟机运行时,我收到以下消息:
Jun 16 12:15:59 asus dhcpd: DHCPOFFER on 192.168.1.3 to 08:00:27:15:26:a6 (ubuntu) via eth0
Jun 16 12:15:59 asus dhcpd: DHCPDISCOVER from 08:00:27:15:26:a6 (ubuntu) via eth0
Jun 16 12:15:59 asus dhcpd: DHCPOFFER on 192.168.1.3 to 08:00:27:15:26:a6 (ubuntu) via eth0
Jun 16 12:16:12 asus dhcpd: DHCPDISCOVER from 08:00:27:15:26:a6 (ubuntu) via eth0
VM 根本没有收到任何 DHCPOFFER。有什么办法可以解决这个问题吗?或者有什么其他方法可以在本地测试 DHCP 服务器?非常感谢您的帮助。提前致谢。
----------------------------
这是我的 DHCP 服务器配置:
/etc/网络/接口
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255
/etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {
interface eth0;
range 192.168.1.3 192.168.1.254;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
}
/etc/default/isc-dhcp 服务器
INTERFACES="eth0"
答案1
好的,我找到了不同的解决方案。我在内部网络中使用两台虚拟机。其中一台使用静态 IP 地址并配置了 DHCP 服务器。第二台虚拟机找到 DHCP 服务器并从范围内获取 IP。
答案2
我不太明白你的问题。但是如果你想在你的主机上配置 isc-dhcp-server,并测试它,以了解你在虚拟机上安装的客户操作系统是否从你的主机获取其 IP 地址。我建议你
1.设置您的客户机自动提供其IP。
2.将您的连接设置为仅主机适配器
3.在 /etc/default/isc-dhcp-server 上将 INTERFACES="eth0" 更改为 INTERFACES="vboxnet0"
4.在 /etc/dhcp/dhcp3 上添加所有基于 vboxnet0 ip 地址的地址。您还可以在以下位置找到一些额外信息这里但是正如我所说,您应该根据 vboxnet0 的 ip 地址更改所有 ip 地址,可能是 192.168.56.1。