![DHCP 中继处理多个子网](https://linux22.com/image/717105/DHCP%20%E4%B8%AD%E7%BB%A7%E5%A4%84%E7%90%86%E5%A4%9A%E4%B8%AA%E5%AD%90%E7%BD%91.png)
所以我遇到了一个问题,我认为没有直接的解决方案。我有两个独立的 [物理] 网络,位于同一路由器的两个不同接口上。每个网络上都有两个子网,一个是公共子网,一个位于 RFC1918 私有网络空间中。请注意,所有子网都定义了路由器接口和路由,因此实际上所有 4 个子网都可以相互通信,尽管只有两个公共子网实际上可以在边界路由器之外通信。(私有网络用于打印机、交换机等设备,这些设备需要从我们组织内的任何地方访问,但不能从组织外部的任何地方访问。)
其中一个网络(我们称之为网络 A)上有一个 DHCP 服务器 (ISC-DHCPD),另一个网络(网络 B)上有一些 DHCP 客户端。网络 B 接口上还有一个 DHCP 中继服务,可将请求中继到网络 A 上的服务器。
我的问题是,由于路由器正在用公用网络的网络标记它转发的所有请求,是否可以动态地将私有和公用网络空间中的地址分配给网络 B 上的主机?我的所有主机都在 DHCPD conf 文件中保留了空间,因此如果请求带有匹配的 MAC 地址,我希望它说“您是交换机,因此您获得 [一些私有地址]”,以及“您是计算机,因此您获得 [一些公用地址]”。这显然适用于网络 A 上的主机。但是,DHCP 服务器拒绝响应网络 B 上的交换机和打印机的请求,因为它们似乎来自公用网络(即使它们是相同的)身体的网络)。
据我所知,如果没有 VLAN 标记,这是不可能的,但我想与 DHCP 专家一起仔细检查我的研究。
谢谢
答案1
使能够ip_forward在您的网关上。当您希望系统充当路由器时,应启用 IP 转发,即将 IP 数据包从一个网络传输到另一个网络。