基于VNC服务的变电站Linux系统远程维护的应用

2021-12-17 09:31刘毅梁炜恒邱志钊
机电信息 2021年29期

刘毅 梁炜恒 邱志钊

摘 要:随着变电站监控后台功能应用越来越广泛,变电站监控后台管控手段需要进一步升级。现阶段变电所管理的变电站分布广、路途远,部分自动化工作虽然简单,但仍需自动化人员进站完成,自动化运维人员在变电站间疲于奔命。针对这一问题,为实现变电站监控后台智能化管控,提出了通过VNC服务实现变电站监控后台远程维护的功能,由于目前监控后台大部分使用Linux系统,并且未来几年会逐步完成Linux系统改造,因此特别针对Linux系统远程维护功能进行了研究。

关键词:Linux系统;变电站监控后台;远程维护

0 引言

长期以来,自动化专业一些比较简单的修改后台参数工作占用了专业人员一定的工作时间,假如有办法可以使工作在同一地点完成,将会大大提高工作效率,节省工作时间。鉴于此,根据佛山供电局提出的“能远程不就地”原则,通过运用远程技术,来解决这种工作效率低的问题。

Linux系统[1-2]不仅性能稳定,而且是开源的,可以轻松使用开源软件及指令控制,配置简单,容易通过多种途径实现远程维护功能。

Linux有许多发行版本,主流的Linux发行版有Ubuntu(乌班图)、DebianGNU/Linux、Red Hat等10多种,国内的主流版本有大陆发行版,也有中标麒麟Linux(原中标普华Linux)、共创Linux、凝思Linux等20多种。面对各种各样的Linux版本监控后台,选择合适的远程登录方式十分必要。VNC(Virtual Network Console)虚拟网络控制台是用于远程登录主机的服务,通过VNC可实现Linux后台的远程登录。

1 远程维护平台的构建

远程维护平台分为主站端(控制端)与厂站端(被控制端),主站端设置一个服务器主机,在主机上使远程桌面连接或VNC Viewer软件通过加密的网络控制厂站端的监控后台主机,考虑到厂站端监控后台主机网口不一定足够,统一添加串口转网口卡以便网络口连接使用。远程维护连接图如图1所示。

2 VNC服务

2.1    VNC组成和原理

VNC[3]由两部分组成:一部分是客户端的应用程序(VNC Viewer),另一部分是服务器端的应用程序(VNC Server)。VNC把被控制端的屏幕做成图像,经过压缩后传送到控制端,控制端的控制信息传送到被控制端之后进入消息队列。VNC客户端与服务器端数据传输使用两种协议:(1)RFB协议(Remote Frame Buffer)。一种用于远程访问图形用户界面的简单协议,在远程维护主机上运行一个服务器,让变电站端主机和主站端主机的界面都在远程维护主机跑,然后通过RFB协议用自己的客户端显示到本地。(2)X协议。Linux的图形化界面,底层都是基于X协议,X视窗系统提供了一个公开协议,由其客户程序可以查询和更新X服务器上的信息,X协议允许网络中不同计算机上的进程在其他网络显示器上显示内容。VNC通信相关协议如图2所示。

VNC服务的通信流程如图3所示。

通过服务器端和客户端的交互,实现通信连接,并对服务器端进行控制。

2.2    VNC服务的端口机制

开启VNC服务之后,基础端口打开,若输入vncserver1,则开放基础端口+1的端口;输入vncserver2,则基础端口+2的端口打开,vncserver3、vncserver4等依次类推,但基础端口即基础端口+0之外,使用其他端口远程登录均不能与运维人员使用的当前界面同步。

当开启端口后,可用netstat指令对开放监听的端口进行查看,可看到VNC服务和端口已经开放监听,等待对侧TCP发起远程连接。

3 VNC服务器端工具的使用

目前变电站監控后台CentOS 6.x版的Linux系统有自带的一个远程桌面服务——vino-server服务,可通过可视化界面配置参数实现远程维护。部分站点Linux系统自带tigervnc-server服务及相关指令,可实现远程监控后台控制。

3.1    vino-server配置与原理

vino-server是Linux系统集成的一个自带的远程维护可视化界面进程。在菜单条可开启vino-server,打开允许别人查看自己的桌面,默认监听TCP基础端口,端口可进行修改,但非基础端口不能同步现场维护画面,可以对远程登录的密码进行修改。vino-server也可以设置授权允许登录参数,须本机授权通过才可以进行远程登录,对远程维护多了一层防护保障。vino-server设置界面如图4所示。

3.2    tigervnc-server配置与原理

部分站点Linux系统自带tigervnc-server服务,也可对tigervnc-server进行下载之后安装使用。在终端可以执行vncserver命令开启VNC,第一次执行会要求设置密码,可使用vncpasswd设置远程登录密码。同样地,vncserver命令默认从基础端口+1开始,vncserver1是开启基础端口+1端口,vncserver2是开启基础端口+2端口,非基础端口虽然能远程登录,但不能和现场登录界面同步。vncserver0是不起作用的,因此需要使用x0vncserver命令打开基础端口,实现远程登录并同步现场登录画面。

x0vncserver也是tigervnc-server服务命令之一,指令默认是需要设置密码的;若不需要密码,可以指定参数为securitytypes=none;若需要进行带密码远程登录,必须在x0vncserver后面加上PasswordFile参数,PasswordFile参数是指定存放密码文件的路径,同时需要vncpasswd设置远程登录密码。

4 厂站端的安全管理

厂站端可以使用以下方式进行安全管理[4]:(1)通过主站端与子站端中间通道设置加解密方式,防止外部人员窃听盗取数据;(2)加解密通道中限制访问端口;(3)厂站端主机设置防火墙,对外部访问进行白名单式限制,同时对主机开放的基础端口进行转换。

5 远程功能的测试

在主站端可以使用VNC Viewer等软件进行站点统一管理,所有站点存放在同一个软件中,每测试完一个站点,在软件中添加一个站点模块。目前,在佛山供电局变电管理一所已经进行了接近20个变电站的远程维护功能测试,均能远程测试成功。

6 结论

(1)实现Linux系统远程维护,可解决现有变电站监控后台运维效率低的问题,也提高了工作质量。

(2)基于VNC的特性,实现了Linux系统远程维护功能,也为后续的变电站监控后台远程功能扩展提供了一个非常有利的平台。

(3)佛山供电局变电站Linux系统监控后台的远程维护功能在南方电网的应用中处于比较先进的位置,对其他单位具有参考作用。

[参考文献]

[1] 熊齐,唐佳明.Linux集群实时监控系统的一种实现方法[J].计算机系统应用,2013,22(9):50-53.

[2] 李书国.Linux操作系统课程教与学的方法探讨[J].电子制作,2015(12):177.

[3] 杨云,唐柱斌.Linux操作系统及应用[M].4版.大连:大连理工大学出版社,2017.

[4] 刘海燕,荆涛.Linux系统应用与开发教程[M].4版.北京:机械工业出版社,2020.

收稿日期:2021-09-13

作者简介:刘毅(1978—),男,广东台山人,高级工程师,主要从事变电站自动化运行管理及相关研究工作。