使用虚拟机在一台物理机上本地测试 dhcp 服务器

使用虚拟机在一台物理机上本地测试 dhcp 服务器

我正在编写简单的程序来配置和监控 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。

相关内容