如何让DHCP服务器在虚拟盒虚拟机监听广播请求(How to make a dhcp server

2019-10-29 07:28发布

我的工作udhcpd,附带繁忙箱 重量轻DHCP服务器

我已经取得了一些代码更改,并测试这些我需要运行udhcpd,它发送从客户端请求(获取IP),并查看它的响应。

这需要多台机器和我合适的选择是使用多个虚拟盒虚拟机。

我用了两个Linux的虚拟机(Fedora的运行udhcpd和运行使用udhcpc Ubuntu的 - 随附繁忙箱产生DHCP请求的客户端)。

现在有在当前虚拟网络盒的多种模式。 我把它们都试过。 NAT最简单的允许虚拟机使用我的Windows Internet无需任何配置。

我尝试不同类型的虚拟盒名片即只有主机,内部网络和分配一个地址192.168.0.1到Fedora是udhcpd和发送DHCP发现从使用udhcpc客户端的请求。

两者都是在相同的接口,即eth0和我可以看到从0.0.0.0到255.255.255.255广播请求DHCP DISCOVER。 但udhcpd - DHCP服务器, 从不接收和答案的要求

我也被分配一个IP给DHCP客户端第一次即192.168.0.2尝试。

但从来没有得到回应。

如果我使用NAT或在虚拟框自己的DHCP服务器运行的是另一种方式,那么它是响应DHCP该服务器发现,仍然从繁忙的盒子我udhcpd不挑包。

我觉得它有一些与子网掩码做可能是udhcpd服务器。

任何人有任何想法?

Answer 1:

我的坏,在Fedora的虚拟防火墙(IP表)挡住了默认的连接。

这里是允许的方式。

打开并编辑/ etc / SYSCONFIG / iptables的

VI的/ etc / SYSCONFIG / iptables的

会有几个条目类似如下:

-A RH-防火墙-1- INPUT -m状态--state NEW -m TCP -p TCP --dport 5800 -j ACCEPT

-A RH-防火墙-1- INPUT -m状态--state NEW -m TCP -p TCP --dport 5900 -j ACCEPT

-A RH-防火墙-1- INPUT -m状态--state NEW -m TCP -p TCP --dport 6000 -j ACCEPT

我说我的DHCP端口的条目如下:

-A RH-防火墙-1- INPUT -m状态--state NEW -m UDP -p UDP --dport 67 -j ACCEPT

保存并关闭文件。 重新启动iptables的:

service iptables restart

请注意,命令将在Ubuntu或基于Debian的Linux发行版不同,因为在这些平台上的IP表可能不是作为服务运行。 寻找OS特定操作也被广泛记载。



文章来源: How to make a dhcp server listen for broadcast requests in a virtual box vm