我有一个 CentOS 服务器 (amanda01),在三个不同的子网上有三个 IP 地址。
eth0 = 10.0.2.0 subnet
eth0.vlan101 = 10.101.0.0 subnet
eth0.vlan107 = 10.107.0.0 subet
(如您所见,每个 IP 都在自己的 VLAN 上,每个 VLAN 都从父接口 eth0 出去)
我的 DNS 服务器中有三个 A 记录。
amanda01.domain.grp IN A 10.0.2.81
amanda01.domain.grp IN A 10.101.0.14
amanda01.domain.grp IN A 10.107.0.14
从位于 10.0.2.0 子网上的服务器,我 ping 主机名amanda01
,DNS 服务器使用上面列出的三个 IP 中的任何一个进行响应。这显然是循环行为。
我的问题如下:
如何让 DNS 服务器只响应原始请求所在的子网? 即:如果我正在 ping 的服务器在 IP 10.0.2.11 上,我只想要 10.0.2.81 的响应。
您必须使用所谓的水平分割或分割视图 DNS。
并非所有服务器都支持这一点。您可能必须使用ISC BIND来实现这一点,因为NLnet Labs 的 NSD和大多数其他现代重写都没有宣传对此的支持。
从实用的角度来看,我建议考虑创建一个包含所有主机名的区域,然后使用 shell 脚本根据原始区域自动生成分割区域(通过为每个分割视图仅选择各自的子网) . 如果您的子网比仅仅 /24 更复杂,您可以使用类似grepcidr 的东西。
归档时间: |
|
查看次数: |
757 次 |
最近记录: |