◆張國防 陳雪麗
(海南軟件職業(yè)技術(shù)學(xué)院 海南 571400)
在企業(yè)的網(wǎng)絡(luò)中心機(jī)房里面最重要的設(shè)備就是服務(wù)器,服務(wù)器上存儲有企業(yè)的全部數(shù)據(jù)信息,出于對網(wǎng)絡(luò)安全和網(wǎng)絡(luò)性能的考慮,為網(wǎng)絡(luò)服務(wù)器提供既穩(wěn)定又高效的保證是網(wǎng)絡(luò)運(yùn)維人員關(guān)注的問題。 Linux作為一款性能良好的服務(wù)器操作系統(tǒng),不僅系統(tǒng)性能穩(wěn)定,而且是開源軟件。其核心防火墻組件性能高效、配置簡單,保證了系統(tǒng)的安全。在很多企業(yè)網(wǎng)絡(luò)中,為了追求速度和安全,Linux操作系統(tǒng)不僅僅是被網(wǎng)絡(luò)運(yùn)維人員當(dāng)作服務(wù)器使用,Linux既可以當(dāng)作服務(wù)器,又可以當(dāng)作網(wǎng)絡(luò)防火墻是Linux的一大亮點(diǎn)。Linux的防火墻的結(jié)構(gòu)、配置邏輯和如何高效地配置是網(wǎng)絡(luò)運(yùn)維人員所關(guān)注的焦點(diǎn),也是必須掌握的技能。本文從Linux防火墻的高效管理配置的角度進(jìn)行研究,提出使用腳本管理Linux防火墻的新方式,提高了網(wǎng)絡(luò)管理效率,也節(jié)省了網(wǎng)絡(luò)運(yùn)維人員大量時間和精力,進(jìn)而提高了工作效率。
Linux防火墻是由若干張表構(gòu)成,在早于2.4的內(nèi)核當(dāng)中主要有三張表,而在2.6的內(nèi)核當(dāng)中增加了一張新的表,變成了四張表,分別是raw表、mangle表、nat表、filter表,各表相互獨(dú)立,專表專用。filter表功能數(shù)據(jù)包過濾,nat表功能地址轉(zhuǎn)換。而 mangle表功能數(shù)據(jù)包修改。通過修改數(shù)據(jù)包的某些字段,可以獲得更小的傳輸延遲,更大的吞吐量。而raw表示新開發(fā)的表,留作他用。這四張表里面,raw表和 mangle表還沒有被開發(fā)完善,使用度并不高,重點(diǎn)在nat表和filter表當(dāng)中。
表是由若干條鏈構(gòu)成的,其中 filter表是由三條鏈構(gòu)成的,分別是INPUT鏈、OUTPUT鏈、FORWARD鏈,不同的鏈用來處理不同流入流出方向的數(shù)據(jù)流。INPUT鏈專門用來處理輸入到防火墻的數(shù)據(jù)流。而 OUTPUT鏈專門處理從防火墻出發(fā)往別的地方去的數(shù)據(jù)流,F(xiàn)ORWARD鏈專門處理在防火墻上被轉(zhuǎn)發(fā)的數(shù)據(jù)流。也就是說,數(shù)據(jù)流從防火墻的一個接口進(jìn)來,然后又從防火墻的另一個接口出去了。而鏈?zhǔn)怯梢?guī)則構(gòu)成的,規(guī)則就是允許或者拒絕數(shù)據(jù)包的來去路徑,這是整個 filter表里的三條鏈。NAT表里面也有三條鏈,其中,OUTPUT鏈也是從防火墻輸出的數(shù)據(jù)流,而POSTROUTING鏈?zhǔn)菍iT做源地址轉(zhuǎn)換的,PREROUTING鏈?zhǔn)菍iT做目標(biāo)地址轉(zhuǎn)換的。而在 mangle表里面出現(xiàn)了前面兩張表里面的所有的幾條鏈,因為mangle表是專門用來做數(shù)據(jù)包字段修改,從而實(shí)現(xiàn)服務(wù)質(zhì)量的;而raw表主要提供一些幫助使用戶實(shí)現(xiàn)一些高級功能。比如說基于網(wǎng)址的過濾,可根據(jù)提交的網(wǎng)址進(jìn)行一些過濾等等。
網(wǎng)絡(luò)中的設(shè)備種類繁多,廠家品牌雜亂。有網(wǎng)絡(luò)互聯(lián)設(shè)備,比如交換機(jī)、路由器。有各種平臺的服務(wù)器,比如Windows、Linux、Unix、Sun Solaris、Apple等各種操作系統(tǒng)的服務(wù)器。還有各種網(wǎng)絡(luò)安全設(shè)備,如防火墻、入侵檢測設(shè)備、入侵防護(hù)設(shè)備、網(wǎng)絡(luò)監(jiān)控設(shè)備、日志服務(wù)器、流量監(jiān)控設(shè)備等。各設(shè)備標(biāo)準(zhǔn)不很統(tǒng)一,功能之間又交叉重疊。許多廠家的設(shè)備為了追求市場占有率,降低管理人員的維護(hù)難度,開發(fā)了各種設(shè)備管理的圖形界面。圖形界面降低了管理人員的工作難度,可操作性強(qiáng),容易上手配置,給管理帶來方便。但評價網(wǎng)絡(luò)性能的一個重要指標(biāo)就是網(wǎng)絡(luò)的高吞吐量、快速響應(yīng)時間和強(qiáng)壯性。而運(yùn)行圖形界面往往占用大量寶貴的系統(tǒng)資源,降低了網(wǎng)絡(luò)響應(yīng)時間,間接地拉低了網(wǎng)絡(luò)的吞吐量,這與網(wǎng)絡(luò)追求的性能指標(biāo)相互矛盾。更何況使用圖形界面的設(shè)備還需要使用帶顯示器的管理主機(jī)來管理,無形中提高了維護(hù)成本。而且在網(wǎng)絡(luò)人員不能夠到達(dá)的區(qū)域,這種方式不能及時對網(wǎng)絡(luò)進(jìn)行運(yùn)維管理,因此在網(wǎng)絡(luò)維護(hù)工程師行業(yè)領(lǐng)域,這種圖形化管理方式逐漸被淘汰。
網(wǎng)絡(luò)服務(wù)器群的安全是網(wǎng)絡(luò)性能中最為企業(yè)所重視的,因為服務(wù)器作為企業(yè)數(shù)據(jù)的儲存池,存儲著大量數(shù)據(jù)信息,這些數(shù)據(jù)對企業(yè)非常重要。數(shù)據(jù)是企業(yè)的命脈,任何由于小部分的數(shù)據(jù)丟失都可能對企業(yè)造成不可估量的作用。而維護(hù)網(wǎng)絡(luò)高效安全運(yùn)行又是網(wǎng)絡(luò)運(yùn)維人員的首要任務(wù)。這使得對網(wǎng)絡(luò)防火墻等安全設(shè)備的高效管理顯得尤為重要。Linux作為安全高效的防火墻,使用shell腳本管理配置逐漸成為業(yè)界的共識。
使用命令寫成的 shell腳本非常簡潔,使得對防火墻的配置工作簡單化,管理員只需要按照網(wǎng)絡(luò)性能要求寫好腳本,提交命令就可以使防火墻的各種配置立即生效,實(shí)現(xiàn)了瞬間化網(wǎng)絡(luò)管理。而逐條命令的傳統(tǒng)配置方式使得管理員在配置防火墻的同時也是在調(diào)試,調(diào)試就有可能出錯,對于一些比較重要的金融網(wǎng)絡(luò)、銀行網(wǎng)絡(luò),由于一條命令不慎可能會給用戶帶來安全隱患,會給企業(yè)造成不可估量的損失。這是企業(yè)不想看到的,也是網(wǎng)絡(luò)工程人員不能承擔(dān)的風(fēng)險。與此相反,當(dāng)使用腳本來管理網(wǎng)絡(luò)時,管理員在普通的腳本上使用命令編寫腳本,錯了再修改,可以反復(fù)修改,還可以在實(shí)驗室進(jìn)行腳本測試,直到腳本正確無誤再到生產(chǎn)環(huán)境中提交。這不僅將風(fēng)險降到最低,還降低了后期維護(hù)的成本,節(jié)省了人力,提高了管理人員的效率。
企業(yè)網(wǎng)絡(luò)為了提高效率和節(jié)約成本,對網(wǎng)絡(luò)中心的規(guī)劃要求往往很高,為了提高網(wǎng)絡(luò)服務(wù)效率,企業(yè)網(wǎng)絡(luò)中心的服務(wù)器往往不安裝圖形桌面環(huán)境,服務(wù)器只運(yùn)行在命令行界面,這樣做的好處是服務(wù)器的資源得到了極大利用,不用使寶貴的資源白白浪費(fèi)在圖形界面。并且在網(wǎng)絡(luò)服務(wù)中心的機(jī)房內(nèi)部不需要安裝顯示器,節(jié)省了成本。在日常的服務(wù)器維護(hù)中,運(yùn)維人員是在另外的房間或者相距很遠(yuǎn)的地方遠(yuǎn)程維護(hù)服務(wù)器。對于使用Linux作為網(wǎng)絡(luò)中心服務(wù)器的防火墻的來說,對其管理也是遠(yuǎn)程進(jìn)行的,因為不提供圖形運(yùn)行環(huán)境,使用 shell腳本進(jìn)行遠(yuǎn)程管理就顯得特別重要。腳本只是命令字符的集合,往往幾百條命令組成的 shell腳本才幾個KB大小,使用遠(yuǎn)程命令行工具對Linux防火墻管理配置使得管理人員可以實(shí)現(xiàn)安全高效的遠(yuǎn)程辦公,實(shí)現(xiàn)了網(wǎng)絡(luò)管理的遠(yuǎn)程化。
在如圖1所示的網(wǎng)絡(luò)環(huán)境中,一臺安裝了Linux操作系統(tǒng)的內(nèi)核的主機(jī)將網(wǎng)絡(luò)分割成內(nèi)網(wǎng)和外網(wǎng),在Linux主機(jī)上安裝了兩塊網(wǎng)卡,分別連接兩個網(wǎng)絡(luò)。在內(nèi)部網(wǎng)絡(luò)中的服務(wù)器有ftp服務(wù)器、web服務(wù)器和郵件服務(wù)器。為了保護(hù)內(nèi)部網(wǎng)絡(luò)安全,對Linux主機(jī)配置了防火墻設(shè)備,為提高網(wǎng)絡(luò)運(yùn)維效率使用 shell腳本的方法對網(wǎng)絡(luò)Linux主機(jī)進(jìn)行配置,使其充當(dāng)企業(yè)服務(wù)器網(wǎng)絡(luò)的防火墻設(shè)備,擔(dān)負(fù)起保護(hù)內(nèi)部服務(wù)器安全的角色。
圖1 實(shí)驗網(wǎng)絡(luò)拓?fù)?/p>
實(shí)驗證明,使用shell腳本能夠遠(yuǎn)程對網(wǎng)絡(luò)進(jìn)行瞬間化管理,提高了網(wǎng)絡(luò)維護(hù)的效率,節(jié)約了維護(hù)成本。實(shí)驗所用 shell腳本如下。
Linux操作系統(tǒng)作為一種開源操作系統(tǒng),一直以性能穩(wěn)定著稱,使用腳本對netfilter模塊進(jìn)行高效管理遠(yuǎn)不止這些,還可以將腳本管理方法擴(kuò)展,用于Linux的各種服務(wù)配置和性能優(yōu)化當(dāng)中。