資源描述:
《linux透明防火墻(網(wǎng)橋模式)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、一、網(wǎng)絡(luò)結(jié)構(gòu)?在現(xiàn)有網(wǎng)絡(luò)中增加防火墻,主要作用為控制內(nèi)部上網(wǎng)等等。要求可以靈活控制,包括時(shí)間段不同控制,流量限制等。?現(xiàn)有網(wǎng)絡(luò)拓?fù)鋱D:??由于安裝防火墻時(shí)要求不需要修改內(nèi)網(wǎng)服務(wù)器和PC機(jī)配置,所以采用透明防火墻(網(wǎng)橋模式)。?修改后拓?fù)鋱D:?防火墻需要三塊網(wǎng)卡,其中兩塊網(wǎng)卡做網(wǎng)橋,一塊網(wǎng)卡配置ip做為管理用網(wǎng)卡。內(nèi)部網(wǎng)絡(luò)要訪問不同網(wǎng)段,數(shù)據(jù)包需要路由轉(zhuǎn)換,這時(shí)就要通過防火墻才能到達(dá)路由。防火墻采用linux系統(tǒng),使用iptables和ebtables進(jìn)行過濾數(shù)據(jù)包。經(jīng)過測試交換機(jī)劃分vlan在路由器終結(jié)數(shù)據(jù)包,這
2、樣的數(shù)據(jù)包可以在iptables和ebtables中進(jìn)行分析處理。網(wǎng)橋在網(wǎng)絡(luò)的第二層,iptables和ebtables在linux2.6內(nèi)核中可以分析到第二層的數(shù)據(jù)包。二、防火墻工具分析?1)iptables說明Iptables對數(shù)據(jù)包的處理流程:數(shù)據(jù)包進(jìn)入系統(tǒng),經(jīng)過IP校驗(yàn)后經(jīng)過PREROUTING鏈中的Mangle和Nat的處理;再經(jīng)過路由查找,決定該數(shù)據(jù)包需要轉(zhuǎn)發(fā)還是發(fā)給本機(jī);如果該數(shù)據(jù)包是發(fā)給本機(jī)的,則經(jīng)過INPUT鏈的Mangle和Filter處理后再傳遞給上層協(xié)議;如果需要轉(zhuǎn)發(fā),則發(fā)給FORWARD
3、鏈的Mangle和Filter進(jìn)行處理;本機(jī)網(wǎng)絡(luò)層以上各層產(chǎn)生的數(shù)據(jù)包通過OUTPUT鏈的Mangle、Nat、Filter處理后,再進(jìn)行路由選擇;所有需要發(fā)送到網(wǎng)絡(luò)中的數(shù)據(jù)包,都必須經(jīng)過POSTROUTING鏈的Mangle和Nat進(jìn)行處理。?2)ebtalbles說明Ebtables對數(shù)據(jù)幀的處理過程:數(shù)據(jù)幀進(jìn)入數(shù)據(jù)鏈路層,首先經(jīng)過BROURING鏈的Broute處理,決定是直接路由該數(shù)據(jù)幀還是讓它進(jìn)入到PREROUTING鏈,如果數(shù)據(jù)幀的目的地址和源地址在同一個(gè)網(wǎng)段,網(wǎng)橋會屏蔽它;如果數(shù)據(jù)幀是多播幀或廣播幀
4、,則要在同一網(wǎng)段中除了接收端口以外的其他端口發(fā)送這個(gè)數(shù)據(jù)幀。接下來,數(shù)據(jù)幀到達(dá)PREROUTING鏈后可以改變目的MAC地址(DNAT);當(dāng)數(shù)據(jù)幀通過PREROUTING鏈后,Ebtables將會根據(jù)該數(shù)據(jù)幀的目的MAC地址決定是否轉(zhuǎn)發(fā)該幀,如果這個(gè)幀的目的MAC是本機(jī)的,就會進(jìn)入到INPUT鏈,在這個(gè)鏈中,可以過濾進(jìn)入本機(jī)的數(shù)據(jù)幀,通過INPUT鏈后,就到達(dá)網(wǎng)絡(luò)層,數(shù)據(jù)幀變成數(shù)據(jù)包;如果數(shù)據(jù)幀的目的MAC不是本機(jī)的,它進(jìn)入FORWARD鏈,F(xiàn)ORWARD鏈將過濾數(shù)據(jù)幀;然后這個(gè)數(shù)據(jù)幀就會到達(dá)POSTROUTIN
5、G鏈,在這里可以改變數(shù)據(jù)幀的源MAC地址(SNAT)。由本機(jī)產(chǎn)生的幀,首先判斷是否需要Bridging,如果不需要?jiǎng)t進(jìn)行直接路由;如果需要就會進(jìn)入到OUTPUT鏈中,以對數(shù)據(jù)幀改變目的MAC地址(DNAT)和過濾,接下來這個(gè)幀到達(dá)POSTROUTING鏈,這個(gè)鏈可以改變數(shù)據(jù)幀的源MAC地址(SNAT);最后,這個(gè)幀就到達(dá)了NIC。?3)橋接方式的處理流程當(dāng)數(shù)據(jù)幀進(jìn)入Linux網(wǎng)橋后,先通過Ebtables的BROUTING鏈和PREROUTING鏈;接下來,經(jīng)過Iptables的PREROUTING鏈,這時(shí)還是在
6、數(shù)據(jù)鏈路層,而不是在Iptables通常起作用的網(wǎng)絡(luò)層,這就是br_nf幫助數(shù)據(jù)幀在數(shù)據(jù)鏈路層可以經(jīng)過Iptables鏈的作用;然后,經(jīng)過Ebtables的FORWARD鏈和Iptables的FORWARD鏈;最后,先后經(jīng)過Ebtables和Iptables的POSTROUTING鏈。?4)總結(jié)從前面的敘述,可以看到無論橋接還是路由方式,數(shù)據(jù)幀都會經(jīng)過Iptables的FORWARD鏈,這樣就可以利用Iptables/Ebtables設(shè)計(jì)一個(gè)網(wǎng)橋防火墻。Linux2.6中的Ebtables/Iptables是一個(gè)
7、非常強(qiáng)大的防火墻系統(tǒng),可以同時(shí)在數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層對數(shù)據(jù)幀或數(shù)據(jù)包進(jìn)行過濾、地址轉(zhuǎn)換、數(shù)據(jù)包傳輸特性的改變。利用Ebtables/Iptables可以構(gòu)建一個(gè)網(wǎng)橋路由器,尤其重要的是它還可以連接不同協(xié)議的網(wǎng)絡(luò),實(shí)現(xiàn)過濾等功能。因此,利用Ebtables/Iptables可以構(gòu)建一種簡單宜用、功能強(qiáng)大、經(jīng)濟(jì)高效的網(wǎng)橋防火墻。由于iptables功能比ebtables更強(qiáng)大,應(yīng)用也較為廣泛,所以一般都使用iptables來做防火墻。三、系統(tǒng)安裝?centoslinux5.0是使用linux2.6內(nèi)核的操作系統(tǒng)。?1)
8、系統(tǒng)安裝1.輸入linuxtext選擇text安裝模式。2.安裝時(shí)語言環(huán)境選English。3.鍵盤類型選us。4.鼠標(biāo)選擇No-mouse。5.安裝類型選Custom。6.分區(qū)設(shè)置:??/boot?ext3??100M???啟動(dòng)分區(qū)??/??ext3??10G????系統(tǒng)分區(qū)??Swap?swap?1G????虛擬內(nèi)存??/var??ext3??剩余空間??日志分區(qū)7.