APP下载

Iptables在数据通信网关机的应用研究

2018-12-12李瑞明王雨峰陈先勇邱绍申王琳杨

电气自动化 2018年6期
关键词:端口号数据网通信网

李瑞明,王雨峰,陈先勇,邱绍申,王琳杨

(许继电气股份有限公司,河南 许昌 461000)

0 引 言

随着智能变电站工程建设的推进,一大批新设备、新技术和新系统在智能变电站中得到了应用,在提高全站总体智能水平的同时,也带来了全站设备增加、投入增大、系统过多和信息交互困难等一系列问题。为规范智能变电站的建设,满足“大运行”“大检修”的需求,国家电网公司组织编写了智能变电站一体化监控系统系列规范[1]。规范中,首次提出电力系统数据通信网关机的概念。

数据通信网关机是变电站的一种通信装置,用于实现变电站与调度、生产等主站系统之间的通信,为主站系统实现变电站监视控制、信息查询和远程浏览等功能提供数据、模型和图形的传输服务。数据通信网关机作为变电站网络对调度通信的直接接口,在常规远动四遥信息的基础上,增加了顺序控制、时钟监测功能,并将原图形网关机、继电保护信息子站、故障录波器的调度通信接口集于一身。

功能的扩充,导致数据通信网关机提供的服务内容多、数据量大,系统架构也因此变得复杂。针对数据通信网关机体系架构有诸多讨论,主要分为两个方向:

(1)集中实现所有服务的全部功能[2-3]。程序设计要考虑数据采集、存储、转发的全过程,涉及功能模块较多,对处理器和存储设备的要求高。

(2)仅实现调度通信功能,将数据采集、存储布置在变电站内网专用设备上[4-5]。程序设计仍要考虑调度通信接口开发,同时数据采集、存储设备也要进行相应的接口设计,网络结构相对复杂。

服务内容和主站数量的增加,将不可避免产生IP和端口冲突问题。目前,网关机设计普遍采用前置通信代理模块[6]的方案。

数据准确性和及时性,是数据通信网关机研究关注的重点之一。关于网关机双机切换模式和防误发漏发信号问题的探讨[7-8]时有出现。

调度数据网安全问题一直是智能电网建设的重点[9],作为了变电站网络与调度数据网的主要接口设备,数据通信网关机的安全状态与网络安全问题息息相关。

本文从数据通信网关机架构的角度出发,通过研究Linux内核集成的Iptables在数据通信网关机中的应用,提出一种基于网络地址转换的数据通信网关机分布式服务方案,并通过数据包过滤的方式加强变电站网络和调度数据网的安全。

1 技术基础

1.1 网络地址转换

网络地址转换(Network Address Translation,NAT)属接入广域网(WAN)技术,是一种将内网地址转化为外网地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。NAT的实现方式有三种,即静态转换、动态转换和端口多路复用[10]。

网络地址转换对局域网IP端口进行转换,掩藏局域网IP信息,具有很好的安全性,被广泛集成于防火墙中[11]。

数据通信网关机在调度数据网络中作为服务器端,以一个(或两个)固定IP接入调度数据网。可采用端口多路复用技术,以数据包源IP(主站IP)、目的IP(网关机接入IP)和端口号为依据,通过NAT转换技术实现对服务程序的选择。

1.2 Iptables

Iptables是Linux内核集成的IP信息包过滤系统。系统防火墙在过滤信息包时,遵循固定的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。IP信息包过滤系统Iptables是一款功能强大的工具,可用于添加、编辑和移除规则,实现设备收发数据包的双向过滤等功能[12]。Iptables处理数据包流程如图1所示。

图1 Iptables工作流程

数据通信网关机可通过在INPUT和OUTPUT中设置过滤规则(fileter),实现对进出网关机报文的过滤。

2 Iptables在数据通信网关机中的应用

数据通信网关机提供的服务,分为必须经过处理和可直接透明转发两种。必须经过处理的服务主要有常规四遥信息,这类服务的服务端只能布置在数据通信网关机上。可直接透明转发的服务主要有继保信息子站和故障录波器,数据通信网关机相应功能可采用分布式服务设计,仅提供一个通道,将服务端直接布置在内网专用设备上。具体功能的实现依赖于Iptables的NAT转换功能。Iptables在数据通信网关机中的应用除了NAT转换,还包含了安全隔离功能。

2.1 对数据网关机内应用程序的NAT转换

数据通信网关机内部各应用之间通过服务IP和端口号进行区分,Iptables通过区分调度数据网接收数据包的源IP、目的IP和端口号来选择对应的应用。调度与数据通信网关机内部应用通信的处理过程如图2所示。

图2 对数据通信网关机内部应用的NAT转换

图2的处理,将通过本地接口10.16.133.30:2404收到的主站16.10.1.1的数据包,转换目的端口为2405后,发送给目标应用程序。

转换过程中,仅需对数据包的接入IP和端口号进行转换,转换后的IP和端口号是目标应用实际提供服务的IP和端口号。通信过程中,调度看到的通信双方是调度主站(16.10.1.1)与数据通信网关机调度接口(10.16.133.30:2404),而网关机应用程序看到的通信双方则是服务接口(10.16.133.30:2405)与调度主站(16.10.1.1)。

2.2 对分布式服务的NAT转换

分布式服务位于变电站内网设备上。变电站内不同设备通过IP进行区分,端口号则根据服务内容固定。Iptables通过区分调度数据网接收数据包的源IP、目的IP和端口号来选择所对应的设备。根据是否对数据包的源IP(主站IP)进行转换,分为两种不同的数据包处理过程。

1)不转换主站IP

不转换主站IP的数据包处理方式与数据通信网关机本机应用程序处理相似,区别仅在于转换后的目的IP并非数据通信网关机IP,而是变电站局域网其他设备的IP。调度与变电站局域网设备通信不转换主站IP的处理过程如图3所示。

图3 对分布式服务的NAT转换(源IP不转换)

图3的处理,将通过本地接口10.16.133.30:3000收到的主站16.10.1.1的数据包,转换目的IP为 10.100.100.1后,发送给变电站局域网的图形网关机。

转换过程中,仅需对数据包的IP和端口号进行转换,转换后的IP和端口号为实际提供服务的设备IP和端口号。由于通信过程中未进行源地址(调度IP)的NAT转换,调度IP(16.10.1.1)将直接与图形网关机IP(10.100.100.1)通信。由于二者不在一个子网内,图形网关机需要将网关机IP(10.100.100.7)将成为本地网关。通信过程中,调度看到的通信双方是调度主站(16.10.1.1)与数据通信网关机调度接口(10.16.133.30:3000),而图形网关机看到的通信双方则是服务接口(10.100.100.1:3000)与调度主站(16.10.1.1)。

2)转换主站IP

转换主站IP的数据包处理过程,是在目的IP和端口号转换的基础上,增加对源IP(主站IP)的转换。数据包处理过程如图4所示。

图4 对分布式服务的NAT转换(源IP转换)

图4的处理,将通过本地接口10.16.133.30:3000收到的主站16.10.1.1的数据包,除进行目的IP和端口号转换外,还将源IP更换为10.100.100.7。转换过程中,需要使用两条转换规则,一条使用在路由前(从调度数据网收到数据包时),进行目的IP和端口号转换;另一条是路由后(向内网发送数据包时),进行源IP转换。

通信过程中,调度看到的通信双方是调度主站(16.10.1.1)与数据通信网关机调度接口(10.16.133.30:3000),而图形网关机看到的通信双方则是服务接口(10.100.100.1:3000)与数据通信网关机(10.100.100.7)。由于10.100.100.7与10.100.100.1都在内网内,图形网关机也不需要再添加网关。

2.3 调度数据网和变电站局域网的安全隔离

数据通信网关机,在与调度通信过程中,充当服务器角色,只对特定的主站提供固定的服务。因此,本侧IP和端口、对侧IP都相对固定。通过Iptalbes添加过滤规则,可实现对网关机与调度数据网通信双向IP数据包的过滤。

对于数据通信网关机接收的调度数据网的数据包,使用INPUT规则链,默认配置丢弃,只接受指定源IP、目标IP和端口的方案,避免调度数据网非法主机对变电站非法访问或合法主机对变电站的额外数据请求。

iptables -A INPUT -i eth2 -p tcp -m multiport--dport 2404, 102,3000,60000,60001 -j ACCEPT

iptables -A INPUT -i eth2 -p icmp -j ACCEPT

iptables -A INPUT -i eth2 -j DROPT

规则1实现了对网络接口eth2接收报文过滤,处理或转发IEC104(2404端口)、IEC61850(102端口)、DLT476(3000端口)、IEC103(60000和60001端口)服务和ICMP协议,并配置默认丢弃数据包。

对于数据通信网关机发到调度数据网的数据包,使用OUTPUT规则链,才用与INPUT相同的包过滤规则,可以在数据包发出前进行阻拦,使不出现在调度数据网络上。

iptables -A OUTPUT -o eth2 -p tcp -m multiport --sport 2404, 102,3000,60000,60001 -j ACCEPT

iptables -A OUTPUT -o eth2 -p icmp -j ACCEPT

iptables -A OUTPUT -o eth2 -j DROPT

规则2在网络接口eth2发送方向上,实现了与接收相同的过滤规则。

3 应用及效果

实践中发现,在不启动网络代理前置模块的情况下,仅依靠Iptables的NAT转换功能,数据通信网关机各项功能运行正常,应用程序与主站映射关系清晰,并且能适应本地多服务IP、多服务端口、多主站IP和双平面允许互访等复杂情况的需求。

Iptables实现的分布式服务方案,通过系统内核直接将报文转发给提供服务的变电站内网设备。数据通信网关机在服务中,仅起支撑通道的作用,优化了数据通信网关机架构设计(如图5所示)。图5中,四遥信息(a、b、c)由数据通信网关机直接提供,通过NAT转换后的目的IP仍是数据通信网关机的固有IP或虚拟IP。故障录波器(d)、保护信息子站(e)和图形网关机(f)在变电站内网设备上有专用服务器,通过NAT转换,将调度对数据网关机的数据请求转换为直接对内网服务器的设备请求。这种分布式服务方案,数据通信网关机上架构设计简洁,省去不必要的应用,节省了软硬件成本,提高工作效率,同时省去了通信中间转换环节,也使数据的及时性和可靠性得到提高。双网独立转发,满足冗余通道的需求。

图5 数据通信网关机运行数据流

通过Iptables的报文过滤,可完全阻断数据通信网关机对调度数据网和变电站内网广播和非法的连接请求,同时也能过滤来自调度数据非法的服务请求、非法客户端的连接和客户端的不对应服务请求,极大提高了网络安全。

4 结束语

Linux内核集成的Iptables不仅可以实现数据通信网关机的网络地址转换功能和基于网络地址转换的数据通信网关机分布式服务方案,同时也能很好地实现数据通信网关机与调度数据网和变电站内网的网络数据安全隔离。Iptables由Linux系统内核集成,具有可靠性高、开发周期短和成本低等特点,在数据通信网关机的开发中有广阔的应用前景。

猜你喜欢

端口号数据网通信网
在Docker容器中安装应用程序
基于SDN-MEC配用电通信网任务迁移策略
GSM-R通信网多径干扰解决案例
铁路信号安全数据网安全分析
PTN在电力通信网中的工程应用
浅谈以java为基础的Socket通信简介及实现
全新网优解决方案-亨通大数据网优平台
全新网优解决方案-亨通大数据网优平台
铁路信号系统安全数据网口令攻击技术初探
电力通信网引入ASON技术探讨