为了方便管理网络,笔者在交换机中对单位的局域网网络进行了划分,将整个局域网网络分为了6个虚拟工作子网,在其中一个虚拟工作子网中安装了网络打印机之后,笔者看到与目标网络打印机处于同一个虚拟子网中的其他客户端系统都能很顺畅地访问网络打印机,而位于其他虚拟工作子网中的客户端系统由于和网络打印机不在同一个网段中,这样一来这些客户端就无法访问位于异地的网络打印机,更不用说进行网络打印了。面对这种访问难题,我们能否想办法让位于其他虚拟工作子网中的客户端系统实现跨网段访问,来成功进行异地共享打印呢?
异地连接失败之谜
在访问共享打印机的时候,局域网中的任意一个客户端系统都是通过解析网络打印机所在主机NETBIOS名称的方式来连接目标打印机的。不过在缺省状态下,客户端系统是通过网络广播的方式,来向局域网申请获得网络打印机所在主机NETBIOS名称的,假设网络打印机位于第一个虚拟工作子网中,那么位于该工作子网中的所有客户端系统要想与网络打印机成功建立连接时,只要简单地在该工作子网中发送广播消息,来申请获得目标网络打印机所在主机的NETBIOS名称,由于客户端系统与网络打印机位于同一个工作子网中,所以客户端系统就能很轻松地得到该子网中的网络打印机的应答,如此一来客户端系统就能与目标网络打印机建立网络连接了。
可是,当客户端系统与目标网络打印机不处于同一个工作子网时,比方说位于第二个虚拟工作子网中的客户端系统需要访问位于第一个虚拟工作子网中的网络打印机时,即使客户端系统向网络发出了申请获得目标网络打印机所在主机的NETBIOS名称信息时,该广播信息也只能在第二个虚拟工作子网中传播,而无法传播到第一个虚拟工作子网中,这是因为广播消息是不能进行跨子网传播的,这么说来第二个虚拟工作子网中的客户端系统自然就没办法获得目标主机NETBIOS名称的解析结果了,那样的话这些客户端系统也就不能进行异地连接,并实现跨网打印的目的了。
从上面的分析我们不难看出,能不能与异地网络的共享打印机建立连接,关键就是看局域网中的客户端系统能不能获得共享打印机所在主机的NETBIOS名称解析结果;如果能够想办法让客户端系统轻松完成共享打印机所在主机NETBIOS名称的解析任务,那样一来任何一个工作子网中的客户端系统都能轻易地与目标共享打印机建立异地连接,从而进行网络打印操作了。要做到这一点,我们可以按照下面的方法来进行。
用Lmhosts文件应对异地连接
相信对网络知识比较熟悉的朋友都知道,Windows系统默认存在一个Lmhosts.sam文件,其实该文件在局域网异地访问过程中会发挥很重要的作用,只是很多人常常会忽略它的存在。在这里我们可以手工编辑本地客户端系统的Lmhosts域名记录文件,来将网络打印机所在主机的NETBIOS名称与IP地址的对应关系添加进来,这样的话位于任何一个工作子网中的客户端系统日后通过查询本地系统的Lmhosts文件,就能轻松得到异地网络打印机的NETBIOS名称解析结果了,从而可以顺利地与异地的网络打印机建立连接了,不过这种方法在局域网规模比较小的组网环境中比较有效。
在用Lmhosts文件应对异地连接失败故障时,我们可以先登录进任意一台企图与网络打印机建立异地连接的客户端系统,依次单击该系统桌面中的“开始”/“设置”/“网络连接”命令,打开对应客户端系统的网络连接列表窗口,从中选择目标“本地连接”图标,同时用鼠标右键单击该图标,再从弹出的菜单中点选“属性”命令,打开本地连接属性设置窗口;
其次在该属性设置窗口的常规标签页面中选中“Internet协议(TCP/IP)”选项,同时单击“属性”按钮,进入Internet协议选项的属性设置窗口,在该设置窗口中单击“高级”按钮,打开Internet协议选项的高级对话框,继续单击该对话框中的“WINS”选项卡,检查对应选项设置页面中的“启用Lmhosts查询”选项是否处于选中状态,如果发现该选项还没有被选中时,我们应该及时将它重新选中,最后单击“确定”按钮完成Internet协议选项的的设置任务;#p#
接下来进入本地客户端系统的资源管理器窗口,从中逐一展开“Windows”/“System32”/“drivers”/“etc”子文件夹,在“etc”子文件夹窗口中找到系统文件“Lmhosts.sam”,然后用写字板程序打开该文件,在其后出现的文件编辑窗口最后一行中输入网络打印机所在主机的NETBIOS名称与对应IP地址的解析记录;例如,网络打印机所在主机的NETBIOS名称假设为Server,而对应主机的IP地址假设为10.168.160.16,那么我们只要在“Lmhosts.sam”文件编辑窗口的最后一行输入“# 10.168.160.16 Server #PRE”这样的关系记录(如图1所示),其中“#PRE”代表本地客户端系统启动成功后就自动将当前解析记录装载到本地系统缓存中,换句话说本地客户端系统日后能够直接从本地系统缓存中寻找得到网络打印机的NETBIOS名称;
在确认上面的操作正确后,我们依次单击写字板程序窗口中的“文件”/“保存”命令,将上面的文件内容重新保存为“Lmhosts”文件,最后重新启动一下本地客户端系统,如此一来本地客户端系统日后就能与处于异地的网络打印机成功建立连接了,这样的话我们也就能成功实现跨网段打印操作了。
用WINS服务器应对异地连接
如果条件允许的话,我们可以在局域网中架设配置一台WINS服务器,并在该服务器系统中开启WINS服务来应对异地连接失败故障现象,日后强行要求每一个客户端系统必须借助WINS服务器来完成网络打印机所在主机NETBIOS名称的解析任务,下面我们就来看看该方法的具体操作步骤:
首先按照正确的操作架设、配置好局域网的WINS服务器,同时将位于异地网络的目标网络打印机所在主机的NETBIOS名称导入到本地WINS数据库中,并且要将WINS服务器所在主机的IP地址记忆下来,假设这里配置好的WINS服务器地址为10.168.160.18;
其次以超级管理员权限登录进入局域网中的任意一台客户端系统,同时按照之前的操作方法进入Internet协议选项的属性设置窗口,在该设置窗口中单击“高级”按钮,打开Internet协议选项的高级对话框,继续单击该对话框中的“WINS”选项卡,屏幕上将会出现一个如图2所示的选项设置页面,在该选项设置页面中单击“添加”按钮,然后在地址添加对话框中正确输入先前架设好的WINS服务器的IP地址,这里输入的是“10.168.160.18”,在确认地址输入操作正确后,再单击“确定”按钮,如此一来本地客户端系统日后就能自动借助局域网中的目标WINS服务器访问到位于异地网络的目标网络打印机了,从而可以进行跨网段打印操作了。
【编辑推荐】