我有一个由 2 个具有这种拓扑结构的子网组成的网络:
Router1 (Freebox) : 192.168.0.XX Masq : 255.255.255.0
|
|----- PC1
|----- PC2
|----- Printer1
|
|----- Router2 (wrt610N with dd-wrt configured in gateway mode) : 192.168.1.XX Masq : 255.255.255.0
|
|---- PC3
|---- PC4
Router1 在 DHCP 中设置,并从 Internet 提供商处获取其 DNS。它还提供 DHCP 服务器,在 Router1 中定义了 Printer1 和 Router2 的静态 IP 分配。Router2 在 DHCP 中设置,并从 Router1 获取其 DNS,并为 PC3 和 PC4 提供 DHCP 服务器。
目的是让 router2 子网成为一个安全网络,并且对连接不受信任的 PC 的主网络不可见。
我可以使用打印机的 IP 或主机名从 PC1 和 PC2 打印。从 PC3 和 PC4 我只能通过其 IP 访问打印机,我无法解析名称 Printer1。据我了解,它与 ARP 表有关(我根本不是网络专家)。由于 Printer1 主机名未在任何 DNS 中注册,因此其主机名仅在第 2 层解析。当我从 PC3 ping Printet1 主机名时,我假设: 1- Printer2 不在 PC3 arp 表中,因此它将请求发送到 router2 2- router2 有subnetwork1 中的一个接口,因此它的 ARP 表中应该有一个 Printer1 的条目。我哪里错了?
谢谢你的帮助。
这是广播域的问题,您需要在主机配置文件中为打印机创建一个条目,以便 PC3/4 解析打印机地址。(或设置您自己的 DNS 服务器或 ARP 代理,这似乎有点矫枉过正)
如果您希望主机名解析为 IP 地址,那么您需要将它们添加到 DNS(对使用该 DNS 服务器的任何人都有效)或机器的主机文件(仅对该机器有效)或使用 NetBIOS 的 Windows 机器的 LMHOSTS 文件。ARP 负责 IP 地址到 MAC 地址的解析,与主机名没有任何关系。
最简单的方法是将打印机添加到 PC3 和 PC4 上的 hosts/LMHOSTS 文件中。如果您这样做,那么您还应该考虑为打印机提供一个超出 DHCP 服务器分配的地址范围的静态 IP 地址。这样您就不必在每次为您的打印机分配一个新的 IP 地址时更新您的主机文件。
编辑:
看看这个 KB - Local NetBIOS Name Query Broadcast Not Forwarded by Router
正如 Maxwell 和 squillman 所指出的,您有一个名称解析问题。我的问题是:为什么按名称连接到打印机很重要?为什么不通过IP地址连接到它?