工业防火墙的核心组件,如动态流内核模块nf_conntrack_xxx.ko和nf_nat_xxx.ko,负责处理工业网络中的动态流协议,确保数据安全与合规。其中,nf_opc_da.ko和nf_nat_opc.ko是关键模块,专为OPC DA(基于TCP的DCOM)设计,解决协议映射、跨NAT的IP和端口转换、动态数据流管理和数据流控制问题。比如,防火墙在建立映射关系时,OPC模块会智能调整动态数据流的目标地址,处理OPC DA协议特有的变长地址,并应对可能遇到的TCP分片挑战。
在映射模式下,OPC客户端和服务器的IP地址长度需一致,若无法满足,可采用路由模式。虽然OPC DA TCP可能会遇到大包分片,但现有的TCP分片重组功能通常能处理大部分场景。其核心机制在于nf_conntrack结构中的TCP分片链表。OPC DA流程包括:
对于CALL响应数据包,process_opc_resp_frame()函数会验证会话上下文,确保数据完整。在处理远程实例创建响应时,涉及到如iveresp_objref()和activeresp_objref()等函数,它们会处理动态流地址的NAT替换,通过as传递参数,并设置期望流的IP、端口和协议等信息。
工业防火墙参数设置如下:
在OPC UA模块中,OPC UA基于OPC DA扩展,提供了更高级别的安全性和灵活性。它支持WS-SecureConversation和UA-SecureConversation安全协议,以及配置TCP/IP传输。SOAP/HTTP在OPC UA通信中扮演重要角色,通过标准端口传输,并在防火墙环境中保持兼容性。每个消息包都包含了详细的元数据和安全信息,确保数据交换的安全和可靠性。
无论是OPC DA还是OPC UA,工业防火墙都在工业网络环境中扮演了至关重要的角色,通过精细的协议处理和安全策略,保障了数据的传输与控制。