1 个网络上有 2 个 DHCP 服务器

1 个网络上有 2 个 DHCP 服务器

我设置了 2 个 pfSense 路由器。一个是 172.16.2.x 的 DHCP,一个是 172.16.1.x 的 DHCP。

PC0 是 172.16.1.245,我可以从 172.16.2.x 子网上的 (PC1) ping PC0。PC1
是 172.16.2.245,但我无法从 172.16.1.x 子网上的 (PC0) ping PC1。

它似乎检查了 172.16.1.1 DNS 服务器,但没有看到 PC1 的条目。

但是,该服务器的另一个子网将在 172.16.1.1 服务器中检查 PC0 的条目。

我如何告诉 172.16.1.1 查找 PC1 的名称解析?

抱歉,这个问题的措辞很糟糕(我是一名正在参加网络课程的开发人员……哈哈)

答案1

一些获取更多信息的技术。

写下你所知道的关于每个设备的网络设置的信息,画出连接图。在检查和运行测试时,考虑这些信息是否需要添加,或者是否有任何错误。

如果一个子网上有两个 DHCP 服务器,您如何知道所有设备都会获得您期望的设置?例如,如果分配是通过 MAC 地址进行的,请仔细检查 DHCP 服务器设置,并检查 PC0 和 PC1 是否始终获得您计划的详细信息。

要区分 DNS 和路由问题,请尝试使用 ping -n 或操作系统中的等效命令,通过 IP 地址在 PC0 和 PC1 之间以及每个 PC0 和每个 DNS 服务器和路由器之间执行 ping 操作。[ping -n 指示 ping 在显示其输出时不要查找主机名称,通过使用此功能并 ping IP 地址,我们可以避免在本测试中使用 DNS]。某些响应可能不会发生:这可能是设备上的安全功能或安全约束正常工作或存在问题:写下您测试的内容和结果,然后思考一下。

检查 PC0 和 PC1 的设置,包括它们应使用哪个名称服务器(必须以 IP 地址而不是名称指定)和域名(如果两个子网具有不同的域名,则需要明确指定或将其放在客户端 DNS 设置中的域搜索列表中)。检查 PC 上的 hosts 文件中没有可能与应使用 DNS 解析的名称冲突的设置。尝试通过名称在设备之间 ping 通:即使 ping 失败,它也会报告是否可以将名称解析为 IP 地址。使用 dig 或 nslookup 查询两个 DNS 服务器,查看它们是否都可以对 PC0 和 PC1 的名称做出响应。应该从两个子网上的设备对两个名称服务器执行这些查询(例如 dig @ 将尝试使用 来解析)。

检查 PC0、PC1、两个 DNS 服务器和两个路由器的路由表。查看是否所有设备都有到 172.16.2.x 和 172.16.1.x 子网的路由。我假设,但您应该检查,这些都是 /24 网络(子网掩码 255.255.255.0),但您需要检查所有设备是否具有相同的子网掩码设置,并且这是否反映在路由表中。

PC0 和 PC1 之间的跟踪路由 (双向) 将确认流量正在按照您期望的路线运行。

在这里,我个人会使用嗅探器。您可能还无法解释其输出,但希望这些简单的检查和测试能有所帮助。

所有这些都应该有助于更清楚地了解什么有效,什么无效,这些状态是否稳定(即它有时有效或无效,而不是有时有效),以及可能的原因。

答案2

一个网络上的两个 DHCP 服务器是一个非常糟糕的主意,除非它们互相备份(即它们具有相同/相似的配置并以完全相同的方式回答相同的请求)。

要使某件事情正常运作,你的基本选择是:

  1. 建立两个完全独立的物理网络,每个网络配备一个 DHCP 服务器。

  2. 在您的网络上设置两个不同的 VLAN,每个 VLAN 上有一个 DHCP 服务器。

  3. 禁用其中一个 DHCP 服务器,并将另一个配置为同时服务 172.16.1 和 172.16.2(如果您想要动态 IP 地址,则需要通过 MAC 地址分配静态 IP 地址或使用 VLAN 或单独的 LAN,否则 DHCP 服务器无法知道哪些客户端应该获得哪些 IP 地址)。

  4. 与上面的 3 类似,但两个 DHCP 服务器都运行几乎相同的配置,互相充当备份。

以及上述内容的几种变体。

答案3

这是 Linux 还是 Windows?

由于您已通过 IP ping 排除了防火墙,因此我下一步要做的是确保 PC0 确实已在 DNS 中注册?

它可能是 DNS 服务器上的某种安全设置,阻止人们向其中添加内容,或者可能设置为仅响应特定的 IP 范围。

相关内容