一个将在非广播(tap)接口上监听的 Linux DHCP 服务器?

一个将在非广播(tap)接口上监听的 Linux DHCP 服务器?

是否有任何 Linux DHCP 服务器可以监听 Cisco 所称的“未编号”接口,或其他人可能称之为“NBMA”(非广播)接口。

我有一个 Linux 系统,它使用 GRE 隧道连接到许多其他系统。另一端的机器向这台机器发送 DHCP 请求,我可以用 tcpdump 查看它们。但是,ISC DHCP 3.0.3 拒绝侦听该接口,因为它是非广播的。

我希望 DHCP 监听的接口是:

tap2      Link encap:Ethernet  HWaddr removed-for-privacy  
          inet6 addr: removed-for-privacy/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:518 errors:0 dropped:0 overruns:0 frame:0
          TX packets:510 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:196242 (191.6 KiB)  TX bytes:52425 (51.1 KiB)

答案1

这是一个老问题,但是:

您需要使用 USE_SOCKETS 编译 dhcpd。如果不这样做,它会使用一些 pcap 代码来接收数据包,而该 pcap 代码硬编码假设链路层是以太网,因此无法在隧道接口上工作。

答案2

嗯,好吧,但是为什么呢?您的 DHCP 服务器拒绝在非广播接口上侦听,因为它的全部目的是在其侦听的接口上回复这些请求。这就是 DHCP 协议……一种在子网上本地获取 IP 配置信息的方法。您不会想在一个子网上侦听并在另一个子网上广播,因为请求主机不在那里……

答案3

您可以在该接口和其他地方的实际服务器上运行 DHCP 中继吗?

相关内容