我有一个由两个子网组成的网络,其拓扑结构如下:
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
路由器 1 设置为 DHCP,并从互联网提供商处获取 DNS。它还提供 DHCP 服务器,为打印机 1 和路由器 2 分配静态 IP,这些 IP 定义在路由器 1 中。路由器 2 设置为 DHCP,并从路由器 1 获取 DNS,并为 PC3 和 PC4 提供 DHCP 服务器。
目的是使路由器 2 子网成为一个安全网络,并且从不受信任的 PC 所连接的主网络不可见。
我可以使用打印机的 IP 或主机名从 PC1 和 PC2 进行打印。从 PC3 和 PC4,我只能通过打印机的 IP 访问它,无法解析名称 Printer1。据我所知,它与 ARP 表有关(我根本不是网络专家)。由于 Printer1 主机名未在任何 DNS 中注册,因此其主机名仅在第 2 层解析。当我从 PC3 ping Printet1 主机名时,我假设:1- Printer2 不在 PC3 arp 表中,因此它将请求发送到路由器 2- 路由器 2 在子网 1 中有一个接口,因此它的 ARP 表中应该有一个 Printer1 的条目。我错在哪里了?
感谢您的帮助。
答案1
这是广播域的问题,您需要在主机配置文件中为打印机创建一个条目,以便 PC3/4 解析打印机地址。(或者设置您自己的 DNS 服务器或 ARP 代理,在我看来这似乎有点小题大做)
答案2
正如 Maxwell 和 squillman 指出的那样,您遇到了名称解析问题。我的问题是:为什么通过名称连接打印机很重要?为什么不通过 IP 地址连接它?
答案3
如果您希望主机名解析为 IP 地址,则需要将其添加到 DNS(对使用该 DNS 服务器的任何人都有效)或计算机的 hosts 文件(仅对该计算机有效)或使用 NetBIOS 的 Windows 计算机的 LMHOSTS 文件。ARP 负责将 IP 地址解析为 MAC 地址,与主机名无关。
最简单的方法是将打印机添加到 PC3 和 PC4 上的 hosts/LMHOSTS 文件中。如果这样做,您还应该考虑为打印机提供一个静态 IP 地址,该地址不在 DHCP 服务器分配的地址范围之内。这样,您就不必在每次为打印机分配新 IP 地址时更新 hosts 文件。
编辑:
看看这个知识库 -路由器未转发本地 NetBIOS 名称查询广播