在WINDOWS XP SP2系统中使用OPC的DCOM配置方法

在WINDOWS XP SP2系统中使用OPC的DCOM配置方法 V1.0

(Using OPC via DCOM with XP SP2)

大多数OPC Clients和OPC Servers利用DCOM通过网络进行通信。在XP SP2中,经由DCOM的OPC通信是默认关闭的,本文讨论了当使用XP SP2时重建OPC通信的必要设置方法。

由于OPC使用的回调方法使得OPC Client转变为DCOM server同时使OPC Server转变为一个DCOM client,所以本文中提供的配置方法应在包含有OPC Server和OPC Client的客户端节点上分别进行设置。

配置WINDOWS 防火墙

WINDOWS防火墙是基于“例外”的,也就是默认情况下,防火墙将阻止外部“未被请求”的连接通过网络,而管理员可以在规则之外设置特定的应用程序或端口来响应外部“未被请求”的连接。

防火墙的例外可被归入两种层次的情况,一是应用程序层次,二是端口与协议层次。前者可设置特定的程序来对“未被请求”的连接进行响应,后者可设置特定的TCP或UDP端口来允许相应的通信。为了使OPC程序可以通过DCOM正常工作,必须在这两个层次上都进行设置。

防火墙的配置过程如下:

1. 为了给系统提供必须的保护,WINDOWS防火墙是默认启用的。(个人)不推荐关闭WINDOWS防火墙,若通信连接失败,在调试过程中可以暂时关闭防火墙以确实问题是否是由防火墙所引起。如若确定永久关闭防火墙,下面所述关于防火墙的设置均可忽略。

2. 进入WINDOWS控制面板,双击“WINDOWS防火墙”图标,打开“WINDOWS防火墙”设置对话框,选中“例外”选项卡,把相应OPC Client和Server程序添加进例外列表。同时添加Microsoft Management Console (mmc.exe 在Windows\System32目录下)和OPC 应用程序OPCEnum (opcenum.exe 在Windows\System32 目录下) 到例外列表中。最后确保“文件和打印机共享”也被选中在例外列表中。

(注:只有EXE程序可以被添加到例外列表中,对于DLL和OCX等类型的OPC Server 和OPC Client ,必须添加调用它们的EXE程序;本步设置可能要用到“添加程序”和“浏览”按钮。)

3. 添加TCP 135端口。建立DCOM通信和对外来请求进行响应需要用到TCP 135端口。在“WINDOWS防火墙”“例外”选项卡中,点击“添加端口”按钮。在“添加端口”对话框中进行设置,如下图所示。

DCOM 配置

WINDWOS XP SP2在DCOM安全方面进行了一些增强。在XP SP2中,若要通过网络使用OPC,应该注意到以下两个方面的问题:一是用户可以通过“激活和访问权限”对话框对使用DCOM的应用程序的“限制权限”进行配置;二是在“激活和访问权限”中定义的每个用户,其本地和远程访问权限可以进行分别配置。

关于“激活和访问权限”:启动权限定义了谁可以本地或远程激活(或启动)基于COM的应用程序(比如OPC Server程序);访问权限定义了谁可以对已经启动起来的程序进行访问。

默认情况下,WINDOWS XP SP2不允许经由网络的OPC通信。为了使基于DCOM的OPC应用程序可以通过网络工作,用户应该被给予OPC Server和OPC Client的远程激活和访问权限。

WINDOWS XP SP2下DCOM的配置过程如下:

1. 点击“开始”->“运行”。输入DCOMCnfg,回车,打开“组件服务”窗口。

2. 双击“控制台根目录”下的“组件服务”展开“组件服务”文件夹,同样方式,展开“计算机”文件夹,右键点击右侧窗口的“我的电脑”图标,点击“属性”,打开属性对话框。

3. 选中“COM 安全”选项卡,注意这里有4个按钮可供点击进入配置。

4. 配置访问和启动激活权限。

4.1 “访问权限”->“编辑限制(L)…”

设置ANONYMOUS LOGON的本地访问及远程访问权限为允许。(此设置与OPCEnum.exe发挥作用有关,对于某些设置了 ‘验证等级’为‘无’以允许匿名连接的OPC Servert和OPC Client,此设置也是必须的。)

4.2 “启动和激活权限”->“编辑限制(I)…”

设置Everyone的远程启动和远程激活权限为允许。(注:为了安全,可建立专用于OPC通信的用户组,进行权限赋予。)

4.3 设置默认访问和启动激活权限。对于每个参与OPC通信的用户或组,均应赋予其本地和远程访问以及启动激活权限。若相应用户或组没有出现,则应手动添加,然后赋予权限。

“访问权限”->“编辑默认值(E)…”

“启动和激活权限”->“编辑默认值(D)…”

5. 完成以上设置后,重新启动计算机。

声明:

基于对参考文献内容的理解进行解释与翻译,然后在局域网2台机器上验证通过(服务嚣:KEPware Enchanced OPC/DDE Server V4.200.353-U,客户端:KEPWare OPC Quick Client V4.70.95-U),从而形成本文。由于知识有限,错误在所难免。作者不保证文中所述内容的精度与准确性,仅供参考。

欢迎提出问题建议,以便下版进行修改完善。

(2007-4-14 LeeKin LEOCKIN@YAHOO.COM.CN)

参考文献:

[1] Using OPC via DCOM with XP SP2 v1.10.pdf. http://www.opcfoundation.org/
[2] OPC and DCOM Security. http://www.opcconnect.com/dcomcnfg.php
[3] Using KEPServerEx via DCOM with Microsoft XP Service Pack 2. KEPware, Inc.
[4] MSDN. Microsoft.

附:

什么是Windows防火墙?

防火墙有助于提高计算机的安全性。Windows 防火墙将限制从其他计算机发送到您计算机上的信息,这使您可以更好地控制您计算机上的数据,并针对那些未经邀请而尝试连接到您的计算机的用户或程序(包括病毒和蠕虫)提供了一条防御线。

您可以将防火墙视为一道屏障,它检查来自 Internet 或网络的信息(常常被称为“通信”),然后根据您的防火墙设置,拒绝信息或允许信息到达您的计算机。

在 Microsoft Windows XP Service Pack 2 (SP2) 中,Windows 防火墙在默认情况下处于打开状态。(但是,一些计算机制造商和网络管理员可能会将其关闭。)您不一定要使用 Windows 防火墙,也可以安装和运行您选择的任何防火墙。请评估其他防火墙的功能,然后确定哪种防火墙能最好地满足您的需要。如果您选择安装和运行另一个防火墙,请关闭 Windows 防火墙。

Windows 防火墙是如何工作的?

当 Internet 或网络上的某人尝试连接到您的计算机时,我们将这种尝试称为“未经请求的请求”。当您的计算机收到未经请求的请求时,Windows 防火墙会阻止该连接。如果您运行的程序(如即时消息程序或多人网络游戏)需要从 Internet 或网络接收信息,那么防火墙会询问您阻止连接还是取消阻止(允许)连接。如果您选择取消阻止连接,Windows 防火墙将创建一个“例外”,这样当该程序日后需要接收信息时,防火墙就不会打扰您了。

例如,如果某个人在与您进行即时消息通信时要向您发送文件(比如照片),那么 Windows 防火墙将询问您是否要取消阻止该连接,以便允许照片到达您的计算机。或者,如果您要在 Internet 上与朋友玩多人网络游戏,那么可以将游戏添加为例外,这样,防火墙就会允许游戏信息到达您的计算机。

虽然您可以为特定 Internet 连接和网络连接关闭 Windows 防火墙,但这样做会增加计算机安全性受到威胁的风险。

posted @ 2009-07-10 10:58  Young Peng  阅读(2867)  评论(0编辑  收藏  举报