組網(wǎng)課程設(shè)計--防火墻系統(tǒng)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  前言:</b></p><p>  Linux2.4 內(nèi)核中Netfilter/Iptables的出現(xiàn),為構(gòu)建Linux 下防火墻提供了很好的平臺。Iptables 是在Linux 操作系統(tǒng)下基于2.4之上內(nèi)核版本的集成網(wǎng)絡(luò)安全工具包。該工具通過編程可以實現(xiàn)多種網(wǎng)絡(luò)安全功能,如:數(shù)據(jù)包過濾、狀態(tài)保持、NAT(Network Address Translation

2、,網(wǎng)絡(luò)地址轉(zhuǎn)換)以及抵抗攻擊等等。</p><p>  本課程設(shè)計主要是針對Linux下iptables的的應(yīng)用進(jìn)行學(xué)習(xí)與研究,結(jié)構(gòu)上可以分為三個部分:Linux防火墻的概述,iptables的的簡介以及如何使用iptables來為我們的日常工作所服務(wù)。例如在我們的日常工作中的應(yīng)用到的過濾網(wǎng)址、IP,禁用端口、協(xié)議等等。利用iptables這個工具在Linux服務(wù)器上實現(xiàn)安全穩(wěn)定、功能強(qiáng)大的防火墻。目前這也是被企

3、業(yè)和高校廣泛采用的一種比較成熟的技術(shù)。</p><p>  本次畢設(shè)課題研究的實驗環(huán)境均在虛擬機(jī)上實現(xiàn),使用ubuntu 系統(tǒng)、win xp系統(tǒng)和win 2003系統(tǒng)。</p><p>  關(guān)鍵詞:Linux,防火墻,iptables,規(guī)則,過濾</p><p><b>  目錄</b></p><p><b>

4、;  1 防火墻簡介3</b></p><p>  2 iptables簡介4</p><p>  2.1 iptables的基本概念4</p><p>  2 .2 iptables數(shù)據(jù)包的傳輸過程5</p><p>  3 iptables的使用6</p><p>  4 iptabl

5、es的一些配置實例8</p><p>  4.1 一臺虛擬機(jī)與iptable配置8</p><p>  4.2 兩臺虛擬機(jī)連接通信有關(guān)的iptables配置10 </p><p>  4.3 三臺虛擬機(jī)連接通信有關(guān)的iptables配置14</p><p>  4.4 基于iptables的nat配置16</p>&

6、lt;p>  4.5 基于iptables的ftp服務(wù)器配置18</p><p>  4.6 基于iptables的dns服務(wù)器配置19</p><p>  5 iptables技巧實例21</p><p>  6課程設(shè)計心得22</p><p><b>  7參考書目23</b></p>

7、<p><b>  1 防火墻簡介</b></p><p>  防火墻是位于不同網(wǎng)絡(luò)(如可信的企業(yè)內(nèi)部網(wǎng)和不可信的公共網(wǎng))或網(wǎng)絡(luò)安全域之間,對網(wǎng)絡(luò)進(jìn)行隔離并實現(xiàn)有條件通信的一系列軟件/硬件設(shè)備的集合。它通過訪問控制機(jī)制確定哪些內(nèi)部服務(wù)允許外部訪問,以及允許哪些外部請求可以訪問內(nèi)部服務(wù)。其基本功能是分析出入防火墻的數(shù)據(jù)包,根據(jù)IP包頭結(jié)合防火墻的規(guī)則,來決定是否接收或允許數(shù)據(jù)包通

8、過。</p><p>  防火墻系統(tǒng)可以由一臺路由器,也可以由一臺或一組主機(jī)組成。它通常被放置在網(wǎng)絡(luò)入口處,所有內(nèi)外部網(wǎng)絡(luò)通信數(shù)據(jù)包都必須經(jīng)過防火墻,接受防火墻的檢查,只有符合安全規(guī)則的數(shù)據(jù)才允許通過。</p><p>  通過使用防火墻可以實現(xiàn)以下功能:</p><p>  保護(hù)內(nèi)部網(wǎng)絡(luò)中易受攻擊的服務(wù)。</p><p>  控制內(nèi)外網(wǎng)之間

9、網(wǎng)絡(luò)系統(tǒng)的訪問。</p><p>  隱藏內(nèi)部網(wǎng)絡(luò)的IP地址及結(jié)構(gòu)的細(xì)節(jié),提高網(wǎng)絡(luò)的保密性?! ?lt;/p><p>  對網(wǎng)絡(luò)存取和訪問進(jìn)行監(jiān)控和審計。</p><p>  集中管理內(nèi)網(wǎng)的安全性,降低管理成本。</p><p>  2 iptables簡介</p><p>  2.1 iptables的基本概念<

10、;/p><p>  在使用iptables之前我們先要理解規(guī)則、鏈、表這3個概念以及iptables傳輸數(shù)據(jù)包的過程。</p><p><b>  規(guī)則 </b></p><p>  規(guī)則(rules)就是網(wǎng)絡(luò)管理員預(yù)先定義的條件,每條規(guī)則的定義方式一般是“如果封包符合這樣的條件就這樣處理該數(shù)包”。</p><p><

11、b>  鏈 </b></p><p>  鏈(chains)是數(shù)據(jù)包傳輸?shù)穆窂?,每一條鏈中可以有一條或數(shù)條規(guī)則。</p><p><b>  表 </b></p><p>  iptables內(nèi)置了filter表、nat表和mangle表用于實現(xiàn)包過濾、網(wǎng)絡(luò)地址轉(zhuǎn)換和包重構(gòu)的功能。</p><p>  

12、(1)filter表</p><p>  filter表是iptables默認(rèn)的表,如果沒有指定使用哪個表,iptables默認(rèn)使用filter表來執(zhí)行所有的命令。filter表根據(jù)系統(tǒng)管理員預(yù)定義的一組規(guī)則過濾符合條件的數(shù)據(jù)包。在filter表中只允許對數(shù)據(jù)包進(jìn)行接收、丟棄的操作,而無法對數(shù)據(jù)包進(jìn)行更改。</p><p><b>  (2)nat表</b></

13、p><p>  nat表主要是用于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT,該表可以實現(xiàn)一對一、一對多、多對多等NAT工作。NAT表包含了PREROUTING鏈、OUTPUT鏈和POSTROUTING鏈。其中PREROUTING鏈用于處理剛剛進(jìn)入網(wǎng)絡(luò)層未進(jìn)行路由判斷的數(shù)據(jù)包,OUTPUT鏈用于處理在路由之前本地生成的數(shù)據(jù)包,POSTROUTING鏈處理在路由判斷之后即將通過網(wǎng)卡發(fā)送出去的數(shù)據(jù)包。</p><p> 

14、?。?)mangle表</p><p>  某些特殊應(yīng)用可能需要改寫數(shù)據(jù)包的一些傳輸特性,例如更改數(shù)據(jù)包的TTL和TOS等,mangle表主要用于對指定包的傳輸特性進(jìn)行修改。</p><p>  2 .2 iptables數(shù)據(jù)包的傳輸過程</p><p>  數(shù)據(jù)包通過iptables的具體流程如圖所示。</p><p>  由圖可知,當(dāng)一個

15、數(shù)據(jù)包進(jìn)入計算機(jī)的網(wǎng)絡(luò)接口時,數(shù)據(jù)首先進(jìn)入POSTROUTING鏈,然后內(nèi)核根據(jù)路由表決定數(shù)據(jù)包的目標(biāo)。若數(shù)據(jù)包的目的地址是本機(jī),則將數(shù)據(jù)包送往INPUT鏈進(jìn)行規(guī)則檢查,當(dāng)數(shù)據(jù)包進(jìn)入INPUT鏈后,系統(tǒng)的任何進(jìn)程都會收到它,本機(jī)上運行的程序可以發(fā)送該數(shù)據(jù)包,這些數(shù)據(jù)包會經(jīng)過OUTPUT鏈,再POSTROUTING鏈發(fā)出;若數(shù)據(jù)包的目的地址不是本機(jī),則檢查內(nèi)核是否允許轉(zhuǎn)發(fā),若允許,則將數(shù)據(jù)包送FORWARD鏈進(jìn)行規(guī)則檢查,若不允許,則丟棄

16、該數(shù)據(jù)包。若是防火墻主機(jī)本地進(jìn)程產(chǎn)生并準(zhǔn)備發(fā)出的包,則數(shù)據(jù)包被送往OUTPUT鏈進(jìn)行規(guī)則檢查。</p><p>  3 iptables的使用</p><p>  iptables用于創(chuàng)建、維護(hù)和檢查Linux內(nèi)核的IP包過濾規(guī)則,利用該命令可創(chuàng)建、刪除或更名鏈,在鏈中創(chuàng)建或刪除規(guī)則,設(shè)置鏈的策略等,功能很強(qiáng)大,用法也比較多,其命令基本格式為:</p><p> 

17、 iptables [-t 表名] 命令選項 [鏈] [匹配選項] [操作選項]</p><p><b>  1. 表名選項</b></p><p>  “-t 表名”用來選擇要操作的表,表名可以是 filter,nat,mangle三者之一,如該參數(shù)缺省則默認(rèn)為filter表。</p><p><b>  2. 命令選項&

18、lt;/b></p><p>  命令選項用來指定對鏈或規(guī)則的操作,包括插入、刪除、添加規(guī)則等。 iptables的主要命令選項如表3-1所示。</p><p>  表3-1 iptables的主要命令選項</p><p><b>  3. 鏈名選項</b></p><p>  “鏈”指定要操作的鏈名,除使用系統(tǒng)定

19、義的鏈名外,用戶也</p><p><b>  可自定義鏈名。</b></p><p><b>  4. 匹配選項</b></p><p>  匹配選項指定數(shù)據(jù)包與規(guī)則匹配所應(yīng)具有的特征,包括源地址、目的地址、傳輸協(xié)議和端口號等。主要的匹配選項如表3-2所示。</p><p>  表3-2 ipta

20、bles的主要匹配選項</p><p><b>  5. 操作選項</b></p><p>  操作選項用于指定對匹配過濾規(guī)則的數(shù)據(jù)包所進(jìn)行的處理。其形式為“-j target/jump”,其中“target”是對包的處理動作,“jump”代表一個用戶自定義的鏈名,用于跳轉(zhuǎn)到該鏈進(jìn)行規(guī)則檢查。對數(shù)據(jù)常用的處理動作如表3-3所示。</p><p&g

21、t;  表3-3 iptables的主要目標(biāo)動作選項</p><p>  4 iptables的一些配置實例</p><p>  硬件環(huán)境:一臺真機(jī)操作系統(tǒng)為window xp,cpu為酷睿i5內(nèi)存為2G的筆記本電腦。</p><p>  軟件環(huán)境:VMware Workingstation虛擬機(jī)軟件。</p><p>  虛擬機(jī):操作系統(tǒng)

22、為window xp的虛擬機(jī)(作為客戶機(jī))</p><p>  操作系統(tǒng)為ubuntu11.04的虛擬機(jī)(作為防火墻)</p><p>  操作系統(tǒng)為win 2007的虛擬機(jī)(作為服務(wù)器)</p><p>  首先先預(yù)設(shè)置防火墻準(zhǔn)備工作</p><p>  1在電腦中裝上VMware Workingstation軟件</p>&

23、lt;p>  2分別在虛擬機(jī)里裝入window xp,ubuntu11.04,win2007虛擬機(jī)。</p><p>  3為xp,win2007配置一張網(wǎng)卡,為ubuntu配置兩張網(wǎng)卡</p><p>  4 將xp與ubuntu的一張網(wǎng)卡連接在同一個網(wǎng)段,為vmnet5。并將ubuntu的另一張網(wǎng)卡與win2007連接在另一個網(wǎng)段,為vmnet6。</p><

24、p>  4.1 一臺虛擬機(jī)與iptable配置</p><p>  在ubuntu虛擬機(jī)中,先關(guān)閉處于vmnet6的網(wǎng)卡,并將vmnet5中的網(wǎng)卡設(shè)置為nat方式共享上網(wǎng)。如圖所示:</p><p>  在沒有設(shè)置防火墻之前,ubuntu預(yù)設(shè)定的DEFALUT PILICY為ACCEPT,即為接受、轉(zhuǎn)發(fā)、發(fā)出任何數(shù)據(jù)包,可以正常上網(wǎng)。如圖所示:</p><p>

25、;<b>  實驗步驟</b></p><p>  1. 在終端中輸入sudo su,輸入自己在裝機(jī)時設(shè)置的密碼進(jìn)入管理員模式。</p><p>  2. 輸入iptables –L 查看當(dāng)前iptables設(shè)置的情況。如圖所示:</p><p>  3. 輸入iptables –P INPUT DROP :丟棄所有進(jìn)入PC的數(shù)據(jù)。再次嘗試訪問

26、google——失敗。規(guī)則表如圖所示:</p><p>  3 輸入iptables –P INPUT DROP :丟棄所有進(jìn)入PC的數(shù)據(jù)。再次嘗試訪問google失敗。如圖所示:</p><p>  4 輸入iptable –A INPUT –p tcp --sport 80 –j ACCEPT</p><p> ?。?A INPUT 表示保護(hù)的對象,當(dāng)前所使用的

27、是INPUT Chain,其保護(hù)的對象為本機(jī)。</p><p>  -p tcp 匹配某個特定協(xié)議的封包。</p><p>  --sport 80匹配源端為80的端口,http協(xié)議默認(rèn)的端口號為80即端口為80的數(shù)據(jù)包可向主機(jī)發(fā)送數(shù)據(jù)包。</p><p>  -j 將以上條件的封包以特定的方式來處理</p><p>  ACCEPT 允許通

28、過)</p><p>  表示接受來并允許訪問TCP協(xié)議來源端口號為80的數(shù)據(jù)。再次嘗試訪問谷歌的ip地址:74.125.71.103.訪問成功,如圖所示:</p><p>  (如需允許其他協(xié)議服務(wù),修改端口號即可)</p><p>  5輸入iptables –F清除所有規(guī)則,并預(yù)設(shè)INPUT為ACCEPT,OUTPUT為ACCEPT</p>&l

29、t;p>  iptables –A OUTPUT -p tcp -o etho --dport 80 –j DROP</p><p>  不允許本機(jī)的應(yīng)用程序從etho接口送出封包使用http協(xié)議,在此訪問谷歌的ip地址,訪問失敗,無法連接上服務(wù)器,如圖所示</p><p> ?。ㄒ慌_虛擬機(jī)幾乎用不上FORWARD鏈,所以在此先不進(jìn)行配置)</p><p>

30、  6.將ubuntu虛擬機(jī)的連接方式改回最初的狀態(tài),及etho連接在vmnet2, etho</p><p><b>  連在vmnet1</b></p><p>  4.2 兩臺虛擬機(jī)連接通信有關(guān)的iptables配置</p><p>  首先配置兩臺虛擬機(jī)的網(wǎng)絡(luò),使其處在同一個網(wǎng)段中,相互之間能ping的通</p><

31、p>  在xp虛擬機(jī)中,配置它的ip地址為192.168.3.34,子網(wǎng)掩碼為255.255.255.0。并在vmware workingstation中設(shè)置使其處于vmnet6。</p><p>  在ubuntu虛擬機(jī)中,在命令行中一管理員身份輸入ifconfig eth1 192.168.3.33、24,這樣便設(shè)置了它的ip地址為192.168.3.33,子網(wǎng)掩碼為255.255.255.0,并在vm

32、ware workingstation中設(shè)置使其處于vmnet6。</p><p>  嘗試在xp虛擬機(jī)中ping Ubuntu 虛擬機(jī),在命令行中輸入命令ping 192.168.3.33,成功,準(zhǔn)備工作完畢。Ping結(jié)果如圖所示</p><p>  3. 然后在ubuntu虛擬機(jī)中開始設(shè)置規(guī)則</p><p>  首先分別輸入iptables –F </p

33、><p>  iptables –X </p><p>  iptables –t nat –F </p><p>  iptables –t nat –X</p><p>  清除所有以前設(shè)置的規(guī)則,進(jìn)行初始化。</p><p>  輸入iptables –P INPUT DROP :丟棄所有進(jìn)入PC的數(shù)據(jù)。此時的規(guī)則表

34、如圖所示</p><p>  3)再在xp虛擬機(jī)中ping ubuntu虛擬機(jī),發(fā)現(xiàn)ping結(jié)果失敗,防火墻生效,對一切信息不接受。結(jié)果如圖所示:</p><p>  同時在ubuntu虛擬機(jī)中,嘗試ping xp 虛擬機(jī),結(jié)果依然失敗,防火墻不接受一切進(jìn)入的信息。結(jié)果如圖所示</p><p>  4. 在ubuntu虛擬機(jī)終端中輸入iptables –A INPU

35、T –i etho –j ACCEPT</p><p>  -A INPUT 表示添加規(guī)則保護(hù)某個對象,而此刻的對象為INPUT,因而添加規(guī)則保護(hù)的對象為INPUT表</p><p>  -I etho 表示條件中指定輸入的端口為eth0,而eth0在一臺虛擬機(jī)與iptables配置中被設(shè)為與真機(jī)nat方式共享上網(wǎng)的接口,既網(wǎng)絡(luò)接口</p><p>  -j ACC

36、EPT 將符合上述條件的封包以ACCEPT,即允許封包通過的形式處理</p><p>  此時,iptables表的情況如圖所示:</p><p>  而上述語句的整體意思就是接受所以不是來源與網(wǎng)絡(luò)接口eth0的封包,既允許封包在局域網(wǎng)里進(jìn)行通信。</p><p>  5.再次在xp虛擬機(jī)中嘗試ping ubuntu虛擬機(jī),ping192.168.3.33,成功,即

37、防火墻允許xp虛擬機(jī)ping ubuntu虛擬機(jī)了。結(jié)果如圖所示:</p><p>  同時在ubuntu虛擬機(jī)里ping xp虛擬機(jī)同樣成功,結(jié)果如圖所示:</p><p>  6. 在ubuntu虛擬機(jī)終端中輸入iptables –I INPUT –s 192.168.3.34 –j REJECT</p><p>  向INPUT表插入新的規(guī)則既不允許來自ip地

38、址為192.168.3.34的主機(jī)發(fā)送一切封包通過防火墻,</p><p>  注:如果要封IP段,例如從192.168.3.1到192.168.3.254的命令是iptables -I INPUT -s 192.168.3 .0/24 -j REJECT</p><p>  -j REJECT表示將封包丟掉,并會送一個Destination Unreachable的ICMP封包給發(fā)送端,

39、發(fā)送端的應(yīng)用程序受到這個錯誤的信息封包之后,既會終止連接操作</p><p> ?。╥ptables的規(guī)則執(zhí)行順序匹配的原則,如果不符合第一條規(guī)則,會自動跳轉(zhuǎn)到下一條規(guī)則進(jìn)行匹配,假使都不能匹配成功的話,會進(jìn)入Default pilicy進(jìn)行匹配),iptables設(shè)置情況如圖所示:</p><p>  7. 此時嘗試在xp虛擬機(jī)里ping 192.168.3.33 ,失敗,當(dāng)前的連接不可

40、達(dá)結(jié)果如圖所示:</p><p>  8. 此時,輸入iptables –I INPUT 1 -s 192.168.3.0/24 –j ACCEPT</p><p>  -I INPUT 1在第一條規(guī)則之前插入一條新的規(guī)則,如果不寫1的話默認(rèn)是第一條規(guī)則</p><p>  整句話的意思是防火墻允許3.0 ip端的主機(jī)發(fā)送封包到主機(jī)。</p><

41、p>  9. 再次在xp虛擬機(jī)中ping ubuntu虛擬機(jī)192.168.3.33,ping成功,結(jié)果如圖所示:</p><p>  同時,可以發(fā)現(xiàn)如果一個封包符合了某一個規(guī)則之后便不會再向下進(jìn)行匹配了,因此在設(shè)計防火墻的時候,最后把所有的Defalut policy都給DROP掉,這樣有利于后期的配置</p><p>  10. 由于Ubuntu上iptables是不會保存規(guī)則的

42、。要讓所以讓網(wǎng)卡關(guān)閉時保存iptables規(guī)則,啟動時加載iptables規(guī)則:首先創(chuàng)建/etc/network/if-post-down.d/iptables 文件,添加如下內(nèi)容:</p><p>  #!/bin/bashiptables-save > /etc/iptables.rules</p><p>  執(zhí)行:chmod +x /etc/network/if-post-

43、down.d/iptables 添加執(zhí)行權(quán)限。</p><p>  創(chuàng)建/etc/network/if-pre-up.d/iptables 文件,添加如下內(nèi)容:</p><p>  #!/bin/bashiptables-restore < /etc/iptables.rules</p><p>  執(zhí)行:chmod +x /etc/network/if-p

44、re-up.d/iptables 添加執(zhí)行權(quán)限。</p><p><b>  創(chuàng)建過程如圖所示:</b></p><p><b>  1)在終端輸入</b></p><p><b>  2)在記事本里編輯</b></p><p><b>  3)在終端輸入</b

45、></p><p><b>  4)在記事本輸入</b></p><p><b>  5)在終端輸入</b></p><p>  至此,讓網(wǎng)卡關(guān)閉時保存iptables規(guī)則,啟動時加載iptables規(guī)則步驟完成。</p><p>  4.3 三臺虛擬機(jī)連接通信有關(guān)的iptables配置<

46、;/p><p>  1. 分別啟動并設(shè)置三臺虛擬機(jī)</p><p>  1)啟動xp虛擬機(jī),其網(wǎng)絡(luò)配置和上一個實驗一樣,并將其網(wǎng)關(guān)設(shè)為ubuntu主機(jī)的ip地址。</p><p>  2)啟動ubuntu虛擬機(jī),將eth0網(wǎng)絡(luò)接口上的那邊網(wǎng)卡設(shè)置為vmnet7,并更改其ip地址為192.168.4.33 子網(wǎng)掩碼為255.255.255.0。并進(jìn)入/etc/sysctl

47、.conf。將net.ipv4.ip_forward=1加入其中。再在終端輸入sysctl –p實現(xiàn)路由轉(zhuǎn)發(fā)。結(jié)果如圖所示:</p><p>  3)啟動win 2003虛擬機(jī),將其網(wǎng)卡設(shè)置在vmnet7 網(wǎng)段,設(shè)置其ip為:192.168.4.34 子網(wǎng)掩碼為:255.255.255.0,并將其網(wǎng)關(guān)設(shè)置為ubunbu主機(jī)的ip地址。結(jié)果如圖所示:</p><p>  3)在win2003

48、 虛擬機(jī)里嘗試ping xp虛擬機(jī)的ip地址,成功。所以ubuntu虛擬機(jī)正常實現(xiàn)路由轉(zhuǎn)發(fā)功能。相應(yīng)的xp虛擬機(jī)也ping的通win2003虛擬機(jī)。結(jié)果如圖所示:</p><p><b>  實驗準(zhǔn)備工作完畢。</b></p><p>  2. 然后在ubuntu虛擬機(jī)中開始設(shè)置規(guī)則</p><p>  1)首先分別輸入iptables –F

49、</p><p>  iptables –X </p><p>  iptables –t nat –F </p><p>  iptables –t nat –X</p><p>  清除所有以前設(shè)置的規(guī)則,進(jìn)行初始化。</p><p>  2)輸入iptables –P FORWARD DROP :丟棄所有需要有u

50、buntu虛擬機(jī)的轉(zhuǎn)發(fā)的數(shù)據(jù)。</p><p>  3)嘗試在xp虛擬機(jī)里平win2003虛擬機(jī),失敗。結(jié)果如圖所示:</p><p>  3. 在ubuntu終端中輸入:</p><p>  iptables -A FORWARD -s 192.168.3.34 -j ACCEPT</p><p>  Iptables -A FORWARD

51、 -d 192.168.3.34 -j ACCPET</p><p>  轉(zhuǎn)發(fā)來自192.168.3.34的封包</p><p>  4. 嘗試在xp虛擬機(jī)里ping win2003虛擬機(jī)成功,防火墻允許轉(zhuǎn)發(fā)來自192.168.3.34的封包。結(jié)果如圖所示:</p><p>  5. 在ubuntu終端輸入:</p><p>  Iptabl

52、es -I FORWARD -s etho -j DROP</p><p>  Iptables -I FORWARD -s eth1 -j DROP</p><p>  防火墻不允許路由轉(zhuǎn)發(fā)功能,只允許主機(jī)端向防火墻端進(jìn)行訪問</p><p>  6. 嘗試在xp虛擬機(jī)里分別ping ubuntu虛擬機(jī)和win 2003虛擬機(jī),可以發(fā)現(xiàn)前者成功,后者失敗,,防火墻

53、規(guī)則得以驗證。結(jié)果如圖所示:</p><p>  7. 在xp虛擬機(jī)里訪問win 2003的web服務(wù)器</p><p>  1)取消以上實驗的規(guī)則,并設(shè)定Defalut pilicy為Default</p><p>  2)在win 2003虛擬機(jī)里安裝web服務(wù)器新建一個web主頁,并編輯主頁內(nèi)容如圖所示:</p><p>  3)設(shè)定w

54、eb主頁的ip地址為192.168.4.34</p><p>  4)在ubuntu虛擬機(jī)里設(shè)定規(guī)則</p><p>  iptables -t FORWARD -i eth1 -o eth0 -j ACCEPT</p><p>  Iptables -t FORWRAD -i etho -o eht1 -j ACCEPT</p><p> 

55、 允許封包在eth0與eth1之間相互轉(zhuǎn)發(fā)</p><p>  5)在xp虛擬機(jī)IE里嘗試訪問192.168.3.34,訪問成功。結(jié)果如圖所示:</p><p>  4.4 基于iptables的nat配置</p><p>  1. 打開xp虛擬機(jī)與ubuntu虛擬機(jī)并對其進(jìn)行配置</p><p>  1)xp的虛擬機(jī)配置不變</p&g

56、t;<p>  2)在ubuntu虛擬機(jī)中,eth1接口不變,將eth0改回nat方式(既默認(rèn)設(shè)置好的vmnet8)與真機(jī)共享上網(wǎng)。結(jié)果如圖所示:</p><p>  3)在xp虛擬機(jī)中嘗試ping ubuntu虛擬機(jī)ip地址192.168.3.33 ,成功。并嘗試ping百度的ip地址202.108.22.5 。失敗。結(jié)果如圖所示:</p><p><b>  準(zhǔn)

57、備工作完畢</b></p><p>  2. 在Ubuntu虛擬機(jī)中進(jìn)入/etc/sysctl.conf。將net.ipv4.ip_forward=1加入其中。再輸入sysctl –p實現(xiàn)路由轉(zhuǎn)發(fā)。</p><p>  3. 在ubuntu虛擬機(jī)中設(shè)定規(guī)則</p><p><b>  1)先清空所有規(guī)則</b></p>

58、<p>  iptables –X </p><p>  iptables -t nat –F </p><p>  iptables –t nat –X</p><p>  iptables -Z</p><p>  2)設(shè)定Defalut pilicy</p><p>  iptables -P INP

59、UT ACCEPT</p><p>  iptables -P OUTPUT ACCEPT</p><p>  iptables -P FORWARD ACCEPT</p><p>  3)設(shè)定FORWARD轉(zhuǎn)發(fā)連規(guī)則,允許轉(zhuǎn)發(fā)從eth1接口進(jìn)來的封包</p><p>  iptables -A FORWARD -i eth1 -j ACCE

60、PT</p><p><b>  4)設(shè)定nat規(guī)則</b></p><p>  iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</p><p>  由于nat鏈不是默認(rèn)的規(guī)則鏈,所以需要用-t nat。-A POSTROUTING 在路 由之前進(jìn)行nat規(guī)則檢查。-o eth0表示匹配

61、的條件是從eth1接口流出。-j MASQUERADE表示符合條件的封包用nat的ip偽裝技術(shù)</p><p>  規(guī)則設(shè)定完畢,規(guī)則表如圖所示:</p><p>  4. 嘗試在xp虛擬機(jī)里ping百度ip地址202.108.22.5 ,成功,結(jié)果如圖所示:</p><p>  5. 在ubuntu虛擬機(jī)的規(guī)則鏈中插入規(guī)則</p><p>

62、  iptables -I FORWARD -s 192.168.3.34 -j DROP</p><p>  在規(guī)則表中阻止來自ip地址為192.168.3.34的封包進(jìn)行轉(zhuǎn)發(fā)</p><p>  6. 再次嘗試在xp虛擬機(jī)中ping百度的ip地址,嘗試失敗。結(jié)果如圖所示:</p><p>  7. 恢復(fù)到規(guī)則設(shè)定完畢的狀態(tài),并刪除POSTROUTING鏈中規(guī)則&

63、lt;/p><p>  輸入iptables -t nat -A POSTINGROUTING -o eth0 -s 192.168.3.34 \ -j SNAT --to 192.168.253.138</p><p>  如果192.168.3.34這臺主機(jī)要訪問因特網(wǎng)上的主機(jī),其服務(wù)請求封包內(nèi)的Source IP必然為Private IP ,這個訪問動作必然會失敗,因而必須籍由NAT主機(jī)

64、上的SNAT機(jī)制將外送封包內(nèi)的Source IP改為NAT主機(jī)上的Public IP,這樣才能讓因特網(wǎng)上的主機(jī)響應(yīng)來自回來的封包可以順利返回到NAT主機(jī)對外的Public IP上,如果這個Public IP不是固定的,可以像步驟4那樣設(shè)定,設(shè)定為-j MASQUERADE ,再次訪問百度,成功。</p><p>  8. 如果要保護(hù)服務(wù)器端端的話,需要使用DNAT方式,輸入</p><p>

65、;  Iptables -t nat -A PREROUTING -i eth0 -d 192.168.4.34 \ -j DNAT --to 192.168.4.33</p><p>  在PREOUTING鏈中設(shè)定,當(dāng)要訪問ip地址為192.168.4.34的服務(wù)器的話,將其ip DNAT為192.168.4.33.隱藏服務(wù)器端的ip,當(dāng)封包一進(jìn)入NAT機(jī)制,封包內(nèi)的Destionation IP就立即被變更

66、。</p><p>  4.5 基于iptables的ftp服務(wù)器配置</p><p>  在ubuntu虛擬機(jī)中,將eth0改為與主機(jī)nat方式共享上網(wǎng),在安裝ftp服務(wù)器具體步驟如下:</p><p>  1)在終端中在管理員身份下使用命令apt-get install vsftpd 進(jìn)行 下載并安裝ftp服務(wù)器</p><p>  2)

67、安裝完成后,輸入命令vsftp進(jìn)行服務(wù)器的設(shè)置,輸入用戶名,密碼,然后輸入命令ls -l查看服務(wù)器中全部文件的列表,如圖所示:</p><p>  3)在終端中輸入 iptables -P INPUT DROP,禁止其他機(jī)器訪問ubuntu中的ftp服務(wù)器</p><p>  4)在xp虛擬機(jī)命令行中輸入ftp ,open 192.168.4.33,打開ftp服務(wù)器失敗結(jié)果如圖所示:<

68、;/p><p><b>  以上預(yù)設(shè)定完畢</b></p><p>  在iptables中設(shè)置是win xp虛擬機(jī)能夠訪問ftp服務(wù)器,由于ftp服務(wù)器使用的是20和21號端口,所以在防火墻中只需要開放這兩個端口就行了。</p><p>  iptables -A INPUT -p tcp --dport 21 -j ACCEPT</p&g

69、t;<p>  Iptables -A INPUT -p tcp --dport 20 -j ACCEPT</p><p>  讓20和20號端口發(fā)出封包給需要文件的主機(jī)</p><p>  并且再加一條規(guī)則,允許連接保持的被動訪問:</p><p>  iptables –A INPUT -m state –state ESTABLISHED,REL

70、ATED –j ACCEPT</p><p>  其中-m 參數(shù)用來匹配連接狀態(tài),狀態(tài)共有四種:INVALID ESTABLISHEDE NEW和RELATED。</p><p>  3再次嘗試在win xp虛擬機(jī)訪問ftp服務(wù)器,成功,結(jié)果如圖所示:</p><p>  4.6 基于iptables的dns服務(wù)器配置</p><p>  在

71、ubuntu虛擬機(jī)中安裝dns服務(wù)器,具體步驟如下:</p><p>  1)在終端中輸入apt-get install dnsmasq</p><p>  2)安裝成功后,在終端中輸入host www.baidu.com,解析域名成功,結(jié)果如圖所示:</p><p>  2. 在iptables中配置Default Plicily</p><p

72、>  Iptables -P INPUT DROP</p><p>  再次嘗試解析www.baidu.com.失敗,結(jié)果如圖所示</p><p>  3. 由于dns服務(wù)器使用的是udp協(xié)議中的dns協(xié)議即開53號端口,并且需要tcp協(xié)議中http協(xié)議即80端口的支持,所以為了配置該服務(wù)器的防火墻,需要開放53和80號端口。</p><p><b>

73、;  輸入命令:</b></p><p>  iptables -A INPUT -p tcp --sport 80 -j ACCEPT</p><p>  Iptables -A INPUT -p udp --sprot 53 -j ACCEPT</p><p>  即允許解析出來的封包進(jìn)入80 和53號端口</p><p> 

74、 再次嘗試在終端中輸入:host www.baidu.com,成功,結(jié)果如圖所示:</p><p>  5 iptables技巧實例</p><p>  (一).禁止客戶機(jī)訪問不健康網(wǎng)站【例1】添加iptables規(guī)則禁止用戶訪問域名為www.playboy.com的網(wǎng)站,然后查看filter表的FORWARD鏈規(guī)則列表。iptables-IFORWARD-dwww.playboy.c

75、om -j DROPiptables -t filter -L FORWARD【例2】添加iptables規(guī)則禁止用戶訪問IP地址為202.17.61.4的網(wǎng)站,然后查看filter表的FORWARD鏈規(guī)則列表。iptables -I FORWARD -d 202.17.61.4 -j DROPiptables -t filter -L FORWARD(二).禁止某些客戶機(jī)上網(wǎng)【例1】添加iptables規(guī)則禁止IP地址為1

76、92.168.1.200的客戶機(jī)上網(wǎng),然后查看filter表的FORWARD鏈規(guī)則列表。iptables -I FORWARD -s 192.168.1.200 -j DROPiptables -t filter -L FORWARD【例2】添加iptables規(guī)則禁止192.168.2.0子網(wǎng)里所有的客戶機(jī)上網(wǎng),</p><p><b>  6課程設(shè)計心得</b></p>

77、<p>  轉(zhuǎn)眼大學(xué)三年的時光即將結(jié)束了,在這三年多的學(xué)習(xí)過程中自己收獲了成長過程中的寶貴財富。無論是學(xué)習(xí)上還是做人上自己都學(xué)到了許多,大學(xué)的生活是很自由的,這種自由的生活讓我們的個性與愛好都得以很好的發(fā)展。當(dāng)然也有人會不適應(yīng)大學(xué)的這種學(xué)習(xí)生活,因為如果一個人缺乏自制能力的話,那么這種自由的生活如果不能得到合理的規(guī)劃,就會讓自己的大學(xué)生活如同一張白紙沒有了色彩。</p><p>  本次課程設(shè)計最終

78、得以完成,很感謝我的同學(xué)給我的幫助,一個人的知識是有限的,但兩個人的智慧加起來就是無限的。當(dāng)我遇到不會的地方,我的同學(xué)總能和我一起來討論,在網(wǎng)上找解決的辦法,沒有你們的幫助,我的課程設(shè)計不能這么順利的完成,謝謝你們!在本次課程設(shè)計的過程中自己也對以前的知識進(jìn)行了一次重新的梳理,對之前掌握不牢固的知識點又進(jìn)行了強(qiáng)化練習(xí)。同時自己也養(yǎng)成了在網(wǎng)上搜索解決問題方法的習(xí)慣,我們本是計算機(jī)人就應(yīng)當(dāng)要利用好網(wǎng)絡(luò)來為我們服務(wù)。</p>&

79、lt;p>  在這個課程設(shè)計中也犯了不少的錯誤,有些甚至花費了很長的時間來解決,但它的本質(zhì)卻是很簡單的,例如在4.3的實驗室,xp虛擬機(jī)ping的通ubuntu虛擬機(jī),win2003虛擬機(jī)ping的通ubuntu虛擬機(jī),而xp與win2003之間卻ping不通,這是由于兩者沒有將其網(wǎng)關(guān)指向ubuntu。又或者要實現(xiàn)防火墻轉(zhuǎn)發(fā)功能設(shè)置的話,必須考慮到進(jìn)來的進(jìn)來的接收端和返回的輸出端。。希望自己以后考慮事情多考慮細(xì)微處。</p&

80、gt;<p>  7參考資料(書,論文,網(wǎng)絡(luò)資料)</p><p> ?。?)Linux防火墻 拉什 著,陳健 譯 人民郵電出版社</p><p>  (2)防火墻策略與VPN配置 謝琳等譯中國水利水電出版社</p><p> ?。?)百度文庫(http://wenku.baidu.com/view/69ac0ca1b0717fd5360cdc5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論