在当今网络系统中,Unix、Windows NT和Windows 95是三种最常用的操作系统平台。Unix操作系统在TCP/IP下实现网络打印机共享(lpd和lpr),NT和Windows 95操作系统在NETBEUI下以资源共享方式实现网络打印机共享。那么能否在网络中实现三种操作系统平台相互共享打印机进行网络打印呢?当然,只要你或者在Unix系统上,或者在NT和Windows 95系统上增加其他软件,是可以实现三种平台共享网络打印机的。下面我们介绍一个方案,可以不添加其他任何软件就可以实现三种操作系统平台之间共享网络打印机。
图1是一个网络系统,主机uxserver和uxclient运行Unix操作系统(本例以SCO OpenServer 5.04为例),主机ntserver和ntclient运行Windows NT 4.0操作系统,主机Winclient运行Windows 95操作系统。在主机uxserver和ntserver上分别接有打印机uxhp和nthp(本例使用HP LaserJet 4L激光打印机),因此主机uxserver和ntserver就构成了一个网络打印服务机。
一、工作原理
由于Unix系统只支持TCP/IP打印协议(lpd和lpr),因此对于NT来说,无论是作为客户机访问Unix打印服务机还是自己作为打印服务机向Unix客户机提供网络打印服务,NT都必须安装Microsoft TCP/IP打印服务程序并启动TCP/IP打印服务。Windows 95系统虽然支持TCP/IP协议,但在它的基本系统中没有提供TCP/IP打印服务程序,所以不能直接在TCP/IP下实现网络打印共享。然而,在NT和Windows 95间在NETBEUI协议下可以通过打印机资源共享方式使Windows 95共享NT上的打印机。因此,如果在Windows 95共享的NT上的打印机是一台指向Unix打印服务机的打印机时,Windows 95也可以间接地访问Unix打印服务机了。
二、Unix打印服务机的配置
配置Unix打印服务机并不复杂,首先在Unix下设置好本地打印机,然后使它不但能够接受本地打印请求而且还能接受远程打印请求。
1.创建并行端口
以root登录,执行下面命令:
# mkdev parallel
* 增加一个并行端口,选择1
Parallel port Initialization
There are no parallel ports configured
Do you wish to:
1)Add a parallel port
2)Remove a parallel port
3)Show configuration
4)Help
Select an option or enter q to quit: 1
* 设定I/O地址,选择1
Please select the I/O address for the adapter:
1)Parallel Adapter at address: 378-37f
2)Parallel Adapter at address: 3bc-3be
3)Parallel Adapter at address: 278 - 27a
4)Other configuration
Select an option or enter q to quit: 1
* 设定中断,取默认值中断7
Should this port use interrupt (default [7])
* 链接核心,然后reboot重新启动系统。
2.配置本地打印机,使它既可接受本地打印请求也可接受远程打印请求
再次以root登录,执行下面的命令:
# scoadmin Printer Manager
* 增加一台本地打印机
Printer -> Add Local...
Add Local Printer
Name: uxhp
Description: Unix share printer
Model: HP LaserJet 4L
Device: /dev/lp0 (LPT0)
* 设置打印控制
System -> Control
Printer Control
L uxhp
[*] Enable Printing
[*] Accept New Local jobs
[*] Accept New Remote jobs
* 设置打印服务
System -> Print Services...
System Print Services
[*] Local Print Service Enabled
[*] Remote Unix Print Service Enabled
3.把主机名和相应的IP地址填入文件/etc/hosts
192.168.100.1 uxserver
192.168.100.2 ntserver
192.168.100.3 uxclient
192.168.100.4 ntclient
192.168.100.5 winclient
4.把直接访问Unix打印服务机的所有主机名填入文件/etc/hosts.equiv
uxclient
ntserver
ntclient
uxserver
三、NT打印服务机的配置
主机ntserver作为NT打印服务机时必须首先配置好本地打印机。为了使Windows 95客户机能够共享NT上的打印机,这台打印机要设置为共享。另一方面,为了使Unix客户机能够共享NT上的打印机,NT必须安装Microsoft TCP/IP打印服务程序并启动打印服务。
1.安装Microsoft TCP/IP打印服务程序
如果当前NT系统中没有安装Microsoft TCP/IP打印服务程序,请按下面步骤执行:
* 从“控制面板”选定“网络”图标并双击它。
* 选定“服务”标签,然后选择“添加”按钮,NT将显示“选定网络服务”对话框。从列表中选定“Microsoft TCP/IP打印”服务并确认。
* 系统开始从光盘安装Microsoft的TCP/IP打印服务程序。为使该服务生效,必须重新启动系统。
2.启动TCP/IP打印服务
* 从“控制面板”,选定“服务”图标并双击它。
* 如图2所示,从列表中选定“TCP/IP Printer Server”,启动它并设置启动方式为“自动”。
3.配置本地打印机并使它成为共享
* 从“控制面板”选定“打印机”图标并双击它。
* 双击“添加打印机”图标,选定“我的电脑”按钮,以便安装本地打印机。
* 选定本地打印机连接的端口(例如LPT1),选定打印机的厂商和型号(HP LaserJet 4L),输入本地打印机的名字“nthp”。
* 激活共享功能,把共享名也设为“nthp”。
* NT可能会提示你插入光盘,当系统成功地复制了所需要的软件后,本地打印机便安装完毕,你可以打印一测试页检查配置是否正确.
四、配置Windows 95客户机与Unix打印服务机间的打印网关
到目前为止,NT主机ntserver已被配置为Unix和Windows 95客户机的打印服务机。为了使Windows 95客户机(也包括NT客户机)能够借助主机ntserver访问Unix上的网络打印机,我们把主机ntserver同时配置为Windows 95客户机与Unix打印服务机间的打印网关。首先在主机ntserver上产生一个指向Unix打印服务机的虚拟端口,然后配置一台网络打印机并把它连接到这个虚拟端口上,设置这台网络打印机为共享。
1.配置指向Unix打印服务机的网络打印机
* 从“控制面板”选定“打印机”并双击它。
* 双击“添加打印机”,选定“我的电脑”按钮。
* 屏幕显示出当前可用的端口,单击“添加端口”,在随后的对话框中选中“LPR Port”,弹出图3的对话框。
在第一个框内填入Unix打印服务机的IP地址192.168.100.1,在第二个框内填入Unix打印服务机上的打印机的名字uxhp。确认后将产生一个虚拟端口,它指向提供lpd的打印服务机上的打印机。
* 在图4的对话框中选中这个端口,然后选择打印机厂商和型号,输入当前配置的网络打印机的名字(此处我们仍使用名字uxhp),系统将把相应的打印机驱动程序分配给这个端口。
* 在随后弹出的对话框中,将询问你是否设定这台网络打印机为共享。为使Windows 95客户机能借助NT打印服务机访问Unix打印服务机,要把这台网络打印机设置为共享,共享打印机名也设为uxhp。如图5所示。
2.测试
在NT打印服务机(ntserver)的实用程序中,调出“打印”菜单,选定刚配置的网络打印机uxhp作为当前打印机,把数据输出到该网络打印机上。
五、Unix客户机的配置
为了使Unix客户机uxclient能够访问网络打印机,必须在客户机uxclient上产生两个网络打印机,一个指向Unix打印服务机(uxserver)上的打印机uxhp,另一个指向NT打印服务机(ntserver)上的打印机nthp。
1.配置指向Unix打印服务机的网络打印机
以root登录,执行命令rlpconf:
# rlpconf
* Please enter the printer name (q to quit): uxhp
Is uxhp a remote printer or a local printer (r/l)? r
Please enter the name of the remote host that uxhp is attached to: uxserver
Printer uxhp is connected to host uxserver
Is this correct (y/n) y
* If ’uxserver’ currently runs SCO OpenServer Release 5 or above, it can support the extended remote line printer protocol.
Do you want to turn on the "extended RLP protocol" support flag.
If you’re not sure, answer ’n’? (y/n) [n]
* Would you like this to be the system default printer ? (y/n) [n]
* Please enter the printer name (q to quit): q
2.配置指向NT打印服务机的网络打印机
配置方法与“配置指向Unix打印服务机的网络打印机”中所述完全相同,只是现在的打印机名是“nthp”,它是连接在主机ntserver上。
* Please enter the printer name (q to quit): nthp
Is nthp a remote printer or a local printer (r/l)? r
Please enter the name of the remote host that nthp is attached to: ntserver
Printer nthp is connected to host ntserver
Is this correct (y/n) y
3.测试
Unix客户机配置好后,可以执行lp命令把数据输出到网络打印机上。下面的两条命令将把客户机uxclient上的文件/etc/passwd输出到打印机uxhp和nthp上。
# lp -d uxhp /etc/passwd
# lp -d nthp /etc/passwd
六、Windows NT客户机的配置
为了使NT客户机ntclient能够访问Unix打印服务机和NT打印服务机上的网络打印机,必须在客户机ntclient上产生两个虚拟端口,一个虚拟端口指向Unix打印服务机(uxserver)上的打印机uxhp,而另一个虚拟端口指向NT打印服务机(ntserver)上的打印机nthp。然后要在客户机ntclient上配置两台网络打印机,分别连接到这两个虚拟端口上。
当然,要使客户机ntclient能够访问Unix打印服务机,首先必须安装Microsoft TCP/IP 打印服务程序。
正如本文第四部分第1节所述,NT客户机也可以借助NT打印服务机访问Unix打印服务机。
1.配置指向NT打印服务机的网络打印机
* 从“控制面板”选定“打印机”并双击它。
* 双击“添加打印机”,选定“网络打印机服务器”按钮。
* 在图6所示的对话框中,选中NT打印服务机上的打印机nthp。
* 点击“完成”按钮,将出现这台网络打印机的图标。
* 右键点击这个网络打印机图标,将出现一个“打印机属性”的对话框。选中“端口”标签,将出现图7所示的对话框,你将看到产生一个新的虚拟端口指向NT打印服务机上的打印机nthp。
2.配置指向Unix打印服务机的网络打印机
* 首先在客户机ntclient上安装TCP/IP打印服务程序,其方法和第三部分第1节所述相同。
* 配置指向Unix打印服务机的网络打印机,其方法和第四部分第1节所述相同,但通常不用把NT客户机上配置的网络打印机设定为共享。如果我们把它设定为共享,则Windows 95客户机不但可以借助NT打印服务机ntserver访问Unix打印服务机,而且还可以借助这台NT客户机ntclient访问Unix打印服务机。
3.测试
在NT客户机的实用程序(例如“写字板”)中,调出“打印”菜单,选择好你要连接的网络打印机uxhp或nthp,把数据输出到相应的打印机上。
七、Windows 95客户机的配置
Windows 95客户机不需要做什么特殊的配置,只要在它实用程序的“打印”菜单中,例如Word的“打印”菜单中,选择好你要连接的网络打印机就可以。如果希望数据输出到Unix上的打印机,你应该选择NT打印服务机(ntserver)上名为“uxhp”的打印机,如果希望数据输出到NT上的打印机,你应该选择NT打印服务机上名为“nthp”的打印机。
mobydick 回复于:2003-09-27 08:48:18 |
有启发。 |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/