我有 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 的名称解析?
抱歉,如果这个问题措辞很糟糕(我是一名正在学习网络课程的开发人员......哈哈)
获取更多信息的一些技巧。
写下您对每台设备上的网络设置的了解,画出事物连接方式的图表。当您检查并运行测试时,请考虑是否需要添加此信息或者是否有任何错误。
在一个子网上有两台 DHCP 服务器,您如何知道所有设备都将获得您期望的设置?例如,如果按 MAC 地址分配,请仔细检查 DHCP 服务器设置,并检查 PC0 和 PC1 是否始终如一地获得您计划的详细信息。
要区分 DNS 和路由问题,请尝试使用 ping -n 或在您的操作系统中通过 IP 地址在 PC0 和 PC1 之间以及它们中的每一个与每个 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 之间的 traceroute(双向)将确认流量正在按照您预期的路线进行。
在这里的某个地方,我个人会使用嗅探器。您可能还无法解释其中的输出,希望这些更简单的检查和测试中的一些会有所帮助。
这一切都应该有助于更清楚地了解什么有效,什么无效,这些状态是否稳定(即它要么有效,要么无效,而不是有时有效),可能还有原因。
一个网络上的两个 DHCP 服务器是一个非常糟糕的主意,除非它们是彼此的备份(即它们具有相同/相似的配置并以完全相同的方式回答相同的请求)。
让某些东西发挥作用的基本选择是:
建立两个完全独立的物理网络,每个网络上都有一个 DHCP 服务器。
在您的网络上设置两个不同的 VLAN,每个 VLAN 上都有一个 DHCP 服务器。
禁用其中一个 DHCP 服务器并将另一个配置为同时为 172.16.1 和 172.16.2 提供服务(如果您需要动态 IP 地址,则需要通过 MAC 地址分配静态 IP 地址或使用 VLAN 或单独的 LAN,否则 DHCP 服务器有无法知道哪些客户端应该获得哪些 IP 地址)。
类似于上面的 3,但两个 DHCP 服务器运行几乎相同的配置,充当彼此的备份。
以及上述的几种变体。
这是Linux还是Windows?
由于您已经通过 IP ping 排除了防火墙,所以我要做的下一步是确保 PC0 实际上已在 DNS 中注册?
它可能是 DNS 服务器上的某种安全设置阻止人们添加它,或者它可能设置为仅响应某个 IP 范围。