陳慶亮 吳國(guó)華*
(廣東省財(cái)政職業(yè)技術(shù)學(xué)校,廣東 廣州 510445)
[關(guān)鍵字] C#;VB;機(jī)房;網(wǎng)絡(luò)控制軟件;設(shè)計(jì);開發(fā)
隨著國(guó)家對(duì)職業(yè)教育的大力發(fā)展,職業(yè)院校高度重視職業(yè)教育的現(xiàn)代化水平與創(chuàng)新能力,計(jì)算機(jī)類實(shí)訓(xùn)機(jī)房成為了各專業(yè)教學(xué)實(shí)踐的重要場(chǎng)所。為了提供更多的教學(xué)實(shí)踐場(chǎng)所,計(jì)算機(jī)逐步進(jìn)入教室,傳統(tǒng)的教室也變成了網(wǎng)絡(luò)機(jī)房。然而,隨著機(jī)房與網(wǎng)絡(luò)使用頻率的不斷增加,如何更好地管理內(nèi)外網(wǎng)的開放,加強(qiáng)網(wǎng)絡(luò)管理的安全性和教師對(duì)網(wǎng)絡(luò)控制的自主性成為了任課教師、機(jī)房管理員和網(wǎng)絡(luò)管理員共同的問題[1]。因此,筆者利用C#和VB語言,設(shè)計(jì)與開發(fā)出一款C/S機(jī)房網(wǎng)絡(luò)控制軟件,給任課教師提供網(wǎng)絡(luò)控制權(quán),以解決職業(yè)院校機(jī)房的網(wǎng)絡(luò)控制問題。
職業(yè)院校機(jī)房配置主要以臺(tái)式計(jì)算機(jī)為主,一般每個(gè)機(jī)房約50-80臺(tái)計(jì)算機(jī)、1臺(tái)教師、1臺(tái)作業(yè)服務(wù)器,安裝系統(tǒng)為w indowsxp、w indows2003和w in7等。機(jī)房的網(wǎng)絡(luò)配置以B類地址的私有地址為例,如機(jī)房一的IP地址為172.16.11.0網(wǎng)段,子網(wǎng)掩碼為255.255.255.0,其中學(xué)生IP按順序?yàn)?72.16.11.1-80,教師機(jī)的IP地址為172.16.11.88;機(jī)房二IP地址為172.16.12.0網(wǎng)段,子網(wǎng)掩碼為255.255.255.0,其中學(xué)生IP按順序?yàn)?72.16.12.1-60,教師機(jī)的IP地址為172.16.12.88,其他機(jī)房以此類推。
根據(jù)教學(xué)需求,機(jī)房中計(jì)算機(jī)上內(nèi)網(wǎng)和外網(wǎng)需要通過DNS域名服務(wù)器和硬件防火墻進(jìn)行控制。機(jī)房的計(jì)算機(jī)通過設(shè)置DNS服務(wù)器,解析域名后可訪問校內(nèi)所有服務(wù)器,即可連接內(nèi)網(wǎng)。在DNS域名服務(wù)器解析后,通過出口防火墻的NAT轉(zhuǎn)換技術(shù),把私有IP地址轉(zhuǎn)化為合法IP的地址,即可連接外網(wǎng)[2]。
根據(jù)教學(xué)與實(shí)訓(xùn)需求,為任課教師提供自主控制每一個(gè)計(jì)算機(jī)機(jī)房的網(wǎng)絡(luò)訪問權(quán)限。教師通過機(jī)房教師機(jī)的軟件客戶端進(jìn)行網(wǎng)絡(luò)設(shè)置,通過按鍵開放學(xué)生上校園內(nèi)網(wǎng)、外網(wǎng),同時(shí)禁止訪問校內(nèi)網(wǎng)和互聯(lián)網(wǎng)等功能[3]。教師不需要輸入任何網(wǎng)絡(luò)指令,只需要通過軟件按鈕開關(guān)輕松完成網(wǎng)絡(luò)控制,既增強(qiáng)了網(wǎng)絡(luò)控制的時(shí)效性和地域性,又降低了網(wǎng)絡(luò)管理員與機(jī)房管理員的工作難度,提高了教學(xué)質(zhì)量與效率。
為了更有效地管理網(wǎng)絡(luò),在每次課前DNS服務(wù)器將定時(shí)設(shè)置為關(guān)閉網(wǎng)絡(luò),任課教師根據(jù)需求使用網(wǎng)絡(luò)控制軟件進(jìn)行開通操作。為了防止學(xué)生拷貝客戶端軟件到學(xué)生計(jì)算機(jī)中控制網(wǎng)絡(luò),客戶端軟件會(huì)自動(dòng)檢測(cè)本機(jī)IP的主機(jī)號(hào)是否教師機(jī),以判定可否執(zhí)行[4]。
正常開啟DNS域名服務(wù)和硬件防火墻的NAT地址轉(zhuǎn)換可實(shí)現(xiàn)同時(shí)訪問內(nèi)外網(wǎng)。
以機(jī)房一為例,為此機(jī)房的DNS域名服務(wù)器的操作系統(tǒng)防火墻設(shè)置一條入站規(guī)則——禁止訪問UDP協(xié)議的53端口“stopDns”。UDP協(xié)議的53端口是DNS解析端口,此規(guī)則的作用域遠(yuǎn)程IP設(shè)置為172.16.11.1-87和172.16.89-254,即本網(wǎng)段除教師機(jī)計(jì)算機(jī)的所有IP,當(dāng)啟用此規(guī)則后,只有教師計(jì)算機(jī)不受限制,本網(wǎng)段其他計(jì)算機(jī)無法通過DNS服務(wù)器解析域名。同時(shí),在出口防火墻設(shè)置本網(wǎng)段禁止訪問其他DNS服務(wù)器,以防止學(xué)生修改DNS服務(wù)器進(jìn)行解析。其他機(jī)房以此類推。
在禁止訪問UDP協(xié)議的規(guī)則上,再加上一條入站規(guī)則——禁止訪問本機(jī)的TCP協(xié)議80端口“stopHttp”。TCP協(xié)議80端口為網(wǎng)站服務(wù)端口,禁止后可限制訪問本機(jī)網(wǎng)站服務(wù)。以機(jī)房一為例,在DNS域名服務(wù)器所連接的防火墻設(shè)置此規(guī)則,作用域的遠(yuǎn)程IP設(shè)置為172.16.11.1-87和172.16.11.89-254,即本網(wǎng)段除教師計(jì)算機(jī)的所有IP,當(dāng)啟用此規(guī)則后,只有教師計(jì)算機(jī)不受限制,本網(wǎng)段其他計(jì)算機(jī)無法訪問本機(jī)網(wǎng)站服務(wù)。
機(jī)房教師計(jì)算機(jī)通過軟件發(fā)送命令到DNS域名服務(wù)器,完成以上三個(gè)需求。以機(jī)房一為例,通過教師計(jì)算機(jī)172.16.11.88發(fā)送“A”、“B”、“C”三種字符到DNS域名服務(wù)器。
當(dāng)服務(wù)器收到“A”時(shí),服務(wù)器通過發(fā)送方的IP地址識(shí)別為機(jī)房一,并切換到第一種狀態(tài),即禁用兩條對(duì)機(jī)房一的規(guī)則,禁用后,不對(duì)機(jī)房一做任何限制,可訪問本機(jī)TCP80端口訪問校內(nèi)網(wǎng)和UDP53端口解析域名后訪問外網(wǎng)。
當(dāng)服務(wù)器收到“B”時(shí),服務(wù)器通過發(fā)送方的IP地址識(shí)別為機(jī)房一,并切換到第二種狀態(tài),即只啟用機(jī)房一“禁用UDP53端口”的規(guī)則,啟用后,可通過本機(jī)TCP80端口訪問校內(nèi)網(wǎng),但無法訪問UDP53端口解析域名,從而限制訪問外網(wǎng)。
當(dāng)服務(wù)器收到“C”時(shí),服務(wù)器通過發(fā)送方的IP地址識(shí)別為機(jī)房一,并切換到第三種狀態(tài),即啟用兩條對(duì)機(jī)房一的規(guī)則,啟用后,不可訪問本機(jī)TCP80端口訪問校內(nèi)網(wǎng),也無法訪問UDP53端口解析域名,從而限制訪問外網(wǎng)。
機(jī)房網(wǎng)絡(luò)控制軟件為C/S架構(gòu),服務(wù)器端需要以管理員身份調(diào)用CMD命令啟用和停用操作系統(tǒng)防火墻規(guī)則,所以開發(fā)采用微軟公司發(fā)布的C#編程語言。C#語言開發(fā)的程序功能強(qiáng)大,但需要安裝M icrosoft.NET Framework框架,對(duì)只有一個(gè)服務(wù)器需要安裝的時(shí)候十分合適[5]。
由于機(jī)房中的計(jì)算機(jī)操作系統(tǒng)類型較多,包括w indows xp、w indows 2003和w in7等,因此,客戶端軟件開發(fā)選擇VB6.0編程語言。VB6.0語言開發(fā)速度快,兼容性強(qiáng),適用于各種w indows操作系統(tǒng)。
客戶端軟件通過VB6.0語言中的w insock控件實(shí)現(xiàn)與服務(wù)器軟件之間的數(shù)據(jù)傳送,具體關(guān)鍵代碼如下:
服務(wù)器端軟件需要以管理員身份調(diào)用CMD命令啟用和停用系統(tǒng)防火墻規(guī)則,開發(fā)采用C#語言,服務(wù)器需要安裝M icrosoft.NET Framework框架。在建立好防火墻入站規(guī)則的情況下,對(duì)收到客戶端軟件所發(fā)的命令進(jìn)行操作。具體關(guān)鍵代碼如下:
為每個(gè)機(jī)房建立一條禁止TCP80端口的入站規(guī)則,以機(jī)房一為例:規(guī)則名稱為“stopHttp11”,禁止TCP80端口入站,作用域中遠(yuǎn)程IP為:172.16.11.1-60,172.16.11.89-254。為每個(gè)機(jī)房建立一條禁止UDP53端口的入站規(guī)則,以機(jī)房一為例:規(guī)則名稱為“stopDns11”禁止UDP53端口入站,作用域中遠(yuǎn)程IP為:172.16.11.1-60,172.16.11.89-254。通過教師計(jì)算機(jī)客戶端軟件發(fā)送“A”、“B”、“C”三種不同的字符到DNS域名服務(wù)器,設(shè)置內(nèi)外網(wǎng)控制的權(quán)限。
Windows2008系統(tǒng)防火墻的啟動(dòng)規(guī)則命令格式為:netsh adv firewall set rule name=規(guī)則名 new enable=yes,禁用規(guī)則命令格式為:netsh adv firewall set rule name=規(guī)則名new enable=no。具體規(guī)則代碼如下:
當(dāng)服務(wù)器接收到教師計(jì)算機(jī)客戶端軟件傳送到命令,以管理員身份調(diào)用服務(wù)器的CMD命令開始執(zhí)行網(wǎng)絡(luò)控制程序,從而控制內(nèi)外網(wǎng)的訪問。具體代碼如下:
機(jī)房網(wǎng)絡(luò)控制軟件投入使用后提高了網(wǎng)絡(luò)管理的效率,優(yōu)化了對(duì)服務(wù)器和防火墻的人為設(shè)置,降低了網(wǎng)絡(luò)管理的難度與風(fēng)險(xiǎn),提高了教學(xué)的質(zhì)量和效率。隨著職業(yè)院校計(jì)算機(jī)類實(shí)訓(xùn)機(jī)房的日益增加,本軟件將根據(jù)不同型號(hào)的硬件防火墻進(jìn)行升級(jí)開發(fā),保證軟件適應(yīng)不同的硬件和軟件設(shè)備,為教師的網(wǎng)絡(luò)控制提供幫助,教學(xué)實(shí)訓(xùn)的開展提供便利,為職業(yè)教育發(fā)展提供有力的保障。