基于C#和VB语言的机房网络控制软件设计与开发
2018-12-05陈庆亮吴国华
陈庆亮 吴国华*
(广东省财政职业技术学校,广东 广州 510445)
[关键字] C#;VB;机房;网络控制软件;设计;开发
1 引言
随着国家对职业教育的大力发展,职业院校高度重视职业教育的现代化水平与创新能力,计算机类实训机房成为了各专业教学实践的重要场所。为了提供更多的教学实践场所,计算机逐步进入教室,传统的教室也变成了网络机房。然而,随着机房与网络使用频率的不断增加,如何更好地管理内外网的开放,加强网络管理的安全性和教师对网络控制的自主性成为了任课教师、机房管理员和网络管理员共同的问题[1]。因此,笔者利用C#和VB语言,设计与开发出一款C/S机房网络控制软件,给任课教师提供网络控制权,以解决职业院校机房的网络控制问题。
2 现状分析
职业院校机房配置主要以台式计算机为主,一般每个机房约50-80台计算机、1台教师、1台作业服务器,安装系统为w indowsxp、w indows2003和w in7等。机房的网络配置以B类地址的私有地址为例,如机房一的IP地址为172.16.11.0网段,子网掩码为255.255.255.0,其中学生IP按顺序为172.16.11.1-80,教师机的IP地址为172.16.11.88;机房二IP地址为172.16.12.0网段,子网掩码为255.255.255.0,其中学生IP按顺序为172.16.12.1-60,教师机的IP地址为172.16.12.88,其他机房以此类推。
根据教学需求,机房中计算机上内网和外网需要通过DNS域名服务器和硬件防火墙进行控制。机房的计算机通过设置DNS服务器,解析域名后可访问校内所有服务器,即可连接内网。在DNS域名服务器解析后,通过出口防火墙的NAT转换技术,把私有IP地址转化为合法IP的地址,即可连接外网[2]。
3 需求分析
根据教学与实训需求,为任课教师提供自主控制每一个计算机机房的网络访问权限。教师通过机房教师机的软件客户端进行网络设置,通过按键开放学生上校园内网、外网,同时禁止访问校内网和互联网等功能[3]。教师不需要输入任何网络指令,只需要通过软件按钮开关轻松完成网络控制,既增强了网络控制的时效性和地域性,又降低了网络管理员与机房管理员的工作难度,提高了教学质量与效率。
为了更有效地管理网络,在每次课前DNS服务器将定时设置为关闭网络,任课教师根据需求使用网络控制软件进行开通操作。为了防止学生拷贝客户端软件到学生计算机中控制网络,客户端软件会自动检测本机IP的主机号是否教师机,以判定可否执行[4]。
4 机房网络控制软件的设计原理
4.1 同时访问内外网
正常开启DNS域名服务和硬件防火墙的NAT地址转换可实现同时访问内外网。
4.2 只允许访问内网,禁止访问外网
以机房一为例,为此机房的DNS域名服务器的操作系统防火墙设置一条入站规则——禁止访问UDP协议的53端口“stopDns”。UDP协议的53端口是DNS解析端口,此规则的作用域远程IP设置为172.16.11.1-87和172.16.89-254,即本网段除教师机计算机的所有IP,当启用此规则后,只有教师计算机不受限制,本网段其他计算机无法通过DNS服务器解析域名。同时,在出口防火墙设置本网段禁止访问其他DNS服务器,以防止学生修改DNS服务器进行解析。其他机房以此类推。
4.3 同时禁止访问内外网
在禁止访问UDP协议的规则上,再加上一条入站规则——禁止访问本机的TCP协议80端口“stopHttp”。TCP协议80端口为网站服务端口,禁止后可限制访问本机网站服务。以机房一为例,在DNS域名服务器所连接的防火墙设置此规则,作用域的远程IP设置为172.16.11.1-87和172.16.11.89-254,即本网段除教师计算机的所有IP,当启用此规则后,只有教师计算机不受限制,本网段其他计算机无法访问本机网站服务。
4.4 网络控制软件规则设计
机房教师计算机通过软件发送命令到DNS域名服务器,完成以上三个需求。以机房一为例,通过教师计算机172.16.11.88发送“A”、“B”、“C”三种字符到DNS域名服务器。
当服务器收到“A”时,服务器通过发送方的IP地址识别为机房一,并切换到第一种状态,即禁用两条对机房一的规则,禁用后,不对机房一做任何限制,可访问本机TCP80端口访问校内网和UDP53端口解析域名后访问外网。
当服务器收到“B”时,服务器通过发送方的IP地址识别为机房一,并切换到第二种状态,即只启用机房一“禁用UDP53端口”的规则,启用后,可通过本机TCP80端口访问校内网,但无法访问UDP53端口解析域名,从而限制访问外网。
当服务器收到“C”时,服务器通过发送方的IP地址识别为机房一,并切换到第三种状态,即启用两条对机房一的规则,启用后,不可访问本机TCP80端口访问校内网,也无法访问UDP53端口解析域名,从而限制访问外网。
5 机房网络控制软件的功能开发
5.1 软件开发的程序语言
机房网络控制软件为C/S架构,服务器端需要以管理员身份调用CMD命令启用和停用操作系统防火墙规则,所以开发采用微软公司发布的C#编程语言。C#语言开发的程序功能强大,但需要安装M icrosoft.NET Framework框架,对只有一个服务器需要安装的时候十分合适[5]。
由于机房中的计算机操作系统类型较多,包括w indows xp、w indows 2003和w in7等,因此,客户端软件开发选择VB6.0编程语言。VB6.0语言开发速度快,兼容性强,适用于各种w indows操作系统。
5.2 客户端与服务器之间的数据传送
客户端软件通过VB6.0语言中的w insock控件实现与服务器软件之间的数据传送,具体关键代码如下:
5.3 服务器端接收客户端指令
服务器端软件需要以管理员身份调用CMD命令启用和停用系统防火墙规则,开发采用C#语言,服务器需要安装M icrosoft.NET Framework框架。在建立好防火墙入站规则的情况下,对收到客户端软件所发的命令进行操作。具体关键代码如下:
5.4 网络控制软件规则开发
为每个机房建立一条禁止TCP80端口的入站规则,以机房一为例:规则名称为“stopHttp11”,禁止TCP80端口入站,作用域中远程IP为:172.16.11.1-60,172.16.11.89-254。为每个机房建立一条禁止UDP53端口的入站规则,以机房一为例:规则名称为“stopDns11”禁止UDP53端口入站,作用域中远程IP为:172.16.11.1-60,172.16.11.89-254。通过教师计算机客户端软件发送“A”、“B”、“C”三种不同的字符到DNS域名服务器,设置内外网控制的权限。
Windows2008系统防火墙的启动规则命令格式为:netsh adv firewall set rule name=规则名 new enable=yes,禁用规则命令格式为:netsh adv firewall set rule name=规则名new enable=no。具体规则代码如下:
5.5 服务器端软件执行网络控制程序
当服务器接收到教师计算机客户端软件传送到命令,以管理员身份调用服务器的CMD命令开始执行网络控制程序,从而控制内外网的访问。具体代码如下:
6 结束语
机房网络控制软件投入使用后提高了网络管理的效率,优化了对服务器和防火墙的人为设置,降低了网络管理的难度与风险,提高了教学的质量和效率。随着职业院校计算机类实训机房的日益增加,本软件将根据不同型号的硬件防火墙进行升级开发,保证软件适应不同的硬件和软件设备,为教师的网络控制提供帮助,教学实训的开展提供便利,为职业教育发展提供有力的保障。