我正在开发udhcpd,这是一个带有繁忙盒的轻型 dhcp 服务器。
我做了一些代码更改并测试了我需要运行 udhcpd 的那些,从客户端发送请求(以获取 ip)并查看其响应。
这需要多台机器,对我来说合适的选择是使用多个虚拟机 VM。
我使用了两个 linux VM(用于运行 udhcpd 的 Fedora 和用于运行 udhcpc 的 ubuntu - 一个带有用于生成 dhcp 请求的繁忙框的客户端)。
现在virtual box有多种组网方式。我都试过了。最简单的 NAT 允许 vm 在没有任何配置的情况下使用我的 windows 互联网。
我尝试了各种类型的虚拟盒卡,即仅主机、内部网络,并为 fedora 分配了一个 192.168.0.1 地址,即 udhcpd 并从 udhcpc 客户端发送 dhcp discover 请求。
两者都在同一个接口上,即 eth0,我可以看到从 0.0.0.0 到 255.255.255.255 的广播请求,用于 dhcp discover。但是 udhcpd - dhcp 服务器,从不接收和回答请求。
我还尝试先为 dhcp 客户端分配一个 ip,即 192.168.0.2。
但永远得不到回应。
如果我使用 NAT 或其他运行 Virtual Box 自己的 dhcp 服务器的模式,那么它是响应 dhcp 发现的服务器,而我的 udhcpd 来自繁忙的盒子仍然没有选择数据包。
我感觉跟udhcpd服务器的子网掩码有关系。
任何人有任何想法?