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