

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 前言:</b></p><p> Linux2.4 內(nèi)核中Netfilter/Iptables的出現(xiàn),為構(gòu)建Linux 下防火墻提供了很好的平臺(tái)。Iptables 是在Linux 操作系統(tǒng)下基于2.4之上內(nèi)核版本的集成網(wǎng)絡(luò)安全工具包。該工具通過(guò)編程可以實(shí)現(xiàn)多種網(wǎng)絡(luò)安全功能,如:數(shù)據(jù)包過(guò)濾、狀態(tài)保持、NAT(Network Address Translation
2、,網(wǎng)絡(luò)地址轉(zhuǎn)換)以及抵抗攻擊等等。</p><p> 本課程設(shè)計(jì)主要是針對(duì)Linux下iptables的的應(yīng)用進(jìn)行學(xué)習(xí)與研究,結(jié)構(gòu)上可以分為三個(gè)部分:Linux防火墻的概述,iptables的的簡(jiǎn)介以及如何使用iptables來(lái)為我們的日常工作所服務(wù)。例如在我們的日常工作中的應(yīng)用到的過(guò)濾網(wǎng)址、IP,禁用端口、協(xié)議等等。利用iptables這個(gè)工具在Linux服務(wù)器上實(shí)現(xiàn)安全穩(wěn)定、功能強(qiáng)大的防火墻。目前這也是被企
3、業(yè)和高校廣泛采用的一種比較成熟的技術(shù)。</p><p> 本次畢設(shè)課題研究的實(shí)驗(yàn)環(huán)境均在虛擬機(jī)上實(shí)現(xiàn),使用ubuntu 系統(tǒng)、win xp系統(tǒng)和win 2003系統(tǒng)。</p><p> 關(guān)鍵詞:Linux,防火墻,iptables,規(guī)則,過(guò)濾</p><p><b> 目錄</b></p><p><b>
4、; 1 防火墻簡(jiǎn)介3</b></p><p> 2 iptables簡(jiǎn)介4</p><p> 2.1 iptables的基本概念4</p><p> 2 .2 iptables數(shù)據(jù)包的傳輸過(guò)程5</p><p> 3 iptables的使用6</p><p> 4 iptabl
5、es的一些配置實(shí)例8</p><p> 4.1 一臺(tái)虛擬機(jī)與iptable配置8</p><p> 4.2 兩臺(tái)虛擬機(jī)連接通信有關(guān)的iptables配置10 </p><p> 4.3 三臺(tái)虛擬機(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技巧實(shí)例21</p><p> 6課程設(shè)計(jì)心得22</p><p><b> 7參考書(shū)目23</b></p>
7、<p><b> 1 防火墻簡(jiǎn)介</b></p><p> 防火墻是位于不同網(wǎng)絡(luò)(如可信的企業(yè)內(nèi)部網(wǎng)和不可信的公共網(wǎng))或網(wǎng)絡(luò)安全域之間,對(duì)網(wǎng)絡(luò)進(jìn)行隔離并實(shí)現(xiàn)有條件通信的一系列軟件/硬件設(shè)備的集合。它通過(guò)訪問(wèn)控制機(jī)制確定哪些內(nèi)部服務(wù)允許外部訪問(wèn),以及允許哪些外部請(qǐng)求可以訪問(wèn)內(nèi)部服務(wù)。其基本功能是分析出入防火墻的數(shù)據(jù)包,根據(jù)IP包頭結(jié)合防火墻的規(guī)則,來(lái)決定是否接收或允許數(shù)據(jù)包通
8、過(guò)。</p><p> 防火墻系統(tǒng)可以由一臺(tái)路由器,也可以由一臺(tái)或一組主機(jī)組成。它通常被放置在網(wǎng)絡(luò)入口處,所有內(nèi)外部網(wǎng)絡(luò)通信數(shù)據(jù)包都必須經(jīng)過(guò)防火墻,接受防火墻的檢查,只有符合安全規(guī)則的數(shù)據(jù)才允許通過(guò)。</p><p> 通過(guò)使用防火墻可以實(shí)現(xiàn)以下功能:</p><p> 保護(hù)內(nèi)部網(wǎng)絡(luò)中易受攻擊的服務(wù)。</p><p> 控制內(nèi)外網(wǎng)之間
9、網(wǎng)絡(luò)系統(tǒng)的訪問(wèn)。</p><p> 隱藏內(nèi)部網(wǎng)絡(luò)的IP地址及結(jié)構(gòu)的細(xì)節(jié),提高網(wǎng)絡(luò)的保密性。 </p><p> 對(duì)網(wǎng)絡(luò)存取和訪問(wèn)進(jìn)行監(jiān)控和審計(jì)。</p><p> 集中管理內(nèi)網(wǎng)的安全性,降低管理成本。</p><p> 2 iptables簡(jiǎn)介</p><p> 2.1 iptables的基本概念<
10、;/p><p> 在使用iptables之前我們先要理解規(guī)則、鏈、表這3個(gè)概念以及iptables傳輸數(shù)據(jù)包的過(guò)程。</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表用于實(shí)現(xiàn)包過(guò)濾、網(wǎng)絡(luò)地址轉(zhuǎn)換和包重構(gòu)的功能。</p><p>
12、(1)filter表</p><p> filter表是iptables默認(rèn)的表,如果沒(méi)有指定使用哪個(gè)表,iptables默認(rèn)使用filter表來(lái)執(zhí)行所有的命令。filter表根據(jù)系統(tǒng)管理員預(yù)定義的一組規(guī)則過(guò)濾符合條件的數(shù)據(jù)包。在filter表中只允許對(duì)數(shù)據(jù)包進(jìn)行接收、丟棄的操作,而無(wú)法對(duì)數(shù)據(jù)包進(jìn)行更改。</p><p><b> ?。?)nat表</b></
13、p><p> nat表主要是用于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT,該表可以實(shí)現(xiàn)一對(duì)一、一對(duì)多、多對(duì)多等NAT工作。NAT表包含了PREROUTING鏈、OUTPUT鏈和POSTROUTING鏈。其中PREROUTING鏈用于處理剛剛進(jìn)入網(wǎng)絡(luò)層未進(jìn)行路由判斷的數(shù)據(jù)包,OUTPUT鏈用于處理在路由之前本地生成的數(shù)據(jù)包,POSTROUTING鏈處理在路由判斷之后即將通過(guò)網(wǎng)卡發(fā)送出去的數(shù)據(jù)包。</p><p>
14、?。?)mangle表</p><p> 某些特殊應(yīng)用可能需要改寫(xiě)數(shù)據(jù)包的一些傳輸特性,例如更改數(shù)據(jù)包的TTL和TOS等,mangle表主要用于對(duì)指定包的傳輸特性進(jìn)行修改。</p><p> 2 .2 iptables數(shù)據(jù)包的傳輸過(guò)程</p><p> 數(shù)據(jù)包通過(guò)iptables的具體流程如圖所示。</p><p> 由圖可知,當(dāng)一個(gè)
15、數(shù)據(jù)包進(jìn)入計(jì)算機(jī)的網(wǎng)絡(luò)接口時(shí),數(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)程都會(huì)收到它,本機(jī)上運(yùn)行的程序可以發(fā)送該數(shù)據(jù)包,這些數(shù)據(jù)包會(huì)經(jīng)過(guò)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ù)和檢查L(zhǎng)inux內(nèi)核的IP包過(guò)濾規(guī)則,利用該命令可創(chuàng)建、刪除或更名鏈,在鏈中創(chuàng)建或刪除規(guī)則,設(shè)置鏈的策略等,功能很強(qiáng)大,用法也比較多,其命令基本格式為:</p><p>
17、 iptables [-t 表名] 命令選項(xiàng) [鏈] [匹配選項(xiàng)] [操作選項(xiàng)]</p><p><b> 1. 表名選項(xiàng)</b></p><p> “-t 表名”用來(lái)選擇要操作的表,表名可以是 filter,nat,mangle三者之一,如該參數(shù)缺省則默認(rèn)為filter表。</p><p><b> 2. 命令選項(xiàng)&
18、lt;/b></p><p> 命令選項(xiàng)用來(lái)指定對(duì)鏈或規(guī)則的操作,包括插入、刪除、添加規(guī)則等。 iptables的主要命令選項(xiàng)如表3-1所示。</p><p> 表3-1 iptables的主要命令選項(xiàng)</p><p><b> 3. 鏈名選項(xiàng)</b></p><p> “鏈”指定要操作的鏈名,除使用系統(tǒng)定
19、義的鏈名外,用戶也</p><p><b> 可自定義鏈名。</b></p><p><b> 4. 匹配選項(xiàng)</b></p><p> 匹配選項(xiàng)指定數(shù)據(jù)包與規(guī)則匹配所應(yīng)具有的特征,包括源地址、目的地址、傳輸協(xié)議和端口號(hào)等。主要的匹配選項(xiàng)如表3-2所示。</p><p> 表3-2 ipta
20、bles的主要匹配選項(xiàng)</p><p><b> 5. 操作選項(xiàng)</b></p><p> 操作選項(xiàng)用于指定對(duì)匹配過(guò)濾規(guī)則的數(shù)據(jù)包所進(jìn)行的處理。其形式為“-j target/jump”,其中“target”是對(duì)包的處理動(dòng)作,“jump”代表一個(gè)用戶自定義的鏈名,用于跳轉(zhuǎn)到該鏈進(jìn)行規(guī)則檢查。對(duì)數(shù)據(jù)常用的處理動(dòng)作如表3-3所示。</p><p&g
21、t; 表3-3 iptables的主要目標(biāo)動(dòng)作選項(xiàng)</p><p> 4 iptables的一些配置實(shí)例</p><p> 硬件環(huán)境:一臺(tái)真機(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)卡連接在同一個(gè)網(wǎng)段,為vmnet5。并將ubuntu的另一張網(wǎng)卡與win2007連接在另一個(gè)網(wǎng)段,為vmnet6。</p><
24、p> 4.1 一臺(tái)虛擬機(jī)與iptable配置</p><p> 在ubuntu虛擬機(jī)中,先關(guān)閉處于vmnet6的網(wǎng)卡,并將vmnet5中的網(wǎng)卡設(shè)置為nat方式共享上網(wǎng)。如圖所示:</p><p> 在沒(méi)有設(shè)置防火墻之前,ubuntu預(yù)設(shè)定的DEFALUT PILICY為ACCEPT,即為接受、轉(zhuǎn)發(fā)、發(fā)出任何數(shù)據(jù)包,可以正常上網(wǎng)。如圖所示:</p><p>
25、;<b> 實(shí)驗(yàn)步驟</b></p><p> 1. 在終端中輸入sudo su,輸入自己在裝機(jī)時(shí)設(shè)置的密碼進(jìn)入管理員模式。</p><p> 2. 輸入iptables –L 查看當(dāng)前iptables設(shè)置的情況。如圖所示:</p><p> 3. 輸入iptables –P INPUT DROP :丟棄所有進(jìn)入PC的數(shù)據(jù)。再次嘗試訪問(wèn)
26、google——失敗。規(guī)則表如圖所示:</p><p> 3 輸入iptables –P INPUT DROP :丟棄所有進(jìn)入PC的數(shù)據(jù)。再次嘗試訪問(wèn)google失敗。如圖所示:</p><p> 4 輸入iptable –A INPUT –p tcp --sport 80 –j ACCEPT</p><p> ?。?A INPUT 表示保護(hù)的對(duì)象,當(dāng)前所使用的
27、是INPUT Chain,其保護(hù)的對(duì)象為本機(jī)。</p><p> -p tcp 匹配某個(gè)特定協(xié)議的封包。</p><p> --sport 80匹配源端為80的端口,http協(xié)議默認(rèn)的端口號(hào)為80即端口為80的數(shù)據(jù)包可向主機(jī)發(fā)送數(shù)據(jù)包。</p><p> -j 將以上條件的封包以特定的方式來(lái)處理</p><p> ACCEPT 允許通
28、過(guò))</p><p> 表示接受來(lái)并允許訪問(wèn)TCP協(xié)議來(lái)源端口號(hào)為80的數(shù)據(jù)。再次嘗試訪問(wèn)谷歌的ip地址:74.125.71.103.訪問(wèn)成功,如圖所示:</p><p> (如需允許其他協(xié)議服務(wù),修改端口號(hào)即可)</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é)議,在此訪問(wèn)谷歌的ip地址,訪問(wèn)失敗,無(wú)法連接上服務(wù)器,如圖所示</p><p> ?。ㄒ慌_(tái)虛擬機(jī)幾乎用不上FORWARD鏈,所以在此先不進(jìn)行配置)</p><p>
30、 6.將ubuntu虛擬機(jī)的連接方式改回最初的狀態(tài),及etho連接在vmnet2, etho</p><p><b> 連在vmnet1</b></p><p> 4.2 兩臺(tái)虛擬機(jī)連接通信有關(guān)的iptables配置</p><p> 首先配置兩臺(tái)虛擬機(jī)的網(wǎng)絡(luò),使其處在同一個(gè)網(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ī)中開(kāi)始設(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ù)。此時(shí)的規(guī)則表
34、如圖所示</p><p> 3)再在xp虛擬機(jī)中ping ubuntu虛擬機(jī),發(fā)現(xiàn)ping結(jié)果失敗,防火墻生效,對(duì)一切信息不接受。結(jié)果如圖所示:</p><p> 同時(shí)在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ù)某個(gè)對(duì)象,而此刻的對(duì)象為INPUT,因而添加規(guī)則保護(hù)的對(duì)象為INPUT表</p><p> -I etho 表示條件中指定輸入的端口為eth0,而eth0在一臺(tái)虛擬機(jī)與iptables配置中被設(shè)為與真機(jī)nat方式共享上網(wǎng)的接口,既網(wǎng)絡(luò)接口</p><p> -j ACC
36、EPT 將符合上述條件的封包以ACCEPT,即允許封包通過(guò)的形式處理</p><p> 此時(shí),iptables表的情況如圖所示:</p><p> 而上述語(yǔ)句的整體意思就是接受所以不是來(lái)源與網(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> 同時(shí)在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ī)則既不允許來(lái)自ip地
38、址為192.168.3.34的主機(jī)發(fā)送一切封包通過(guò)防火墻,</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表示將封包丟掉,并會(huì)送一個(gè)Destination Unreachable的ICMP封包給發(fā)送端,
39、發(fā)送端的應(yīng)用程序受到這個(gè)錯(cuò)誤的信息封包之后,既會(huì)終止連接操作</p><p> ?。╥ptables的規(guī)則執(zhí)行順序匹配的原則,如果不符合第一條規(guī)則,會(huì)自動(dòng)跳轉(zhuǎn)到下一條規(guī)則進(jìn)行匹配,假使都不能匹配成功的話,會(huì)進(jìn)入Default pilicy進(jìn)行匹配),iptables設(shè)置情況如圖所示:</p><p> 7. 此時(shí)嘗試在xp虛擬機(jī)里ping 192.168.3.33 ,失敗,當(dāng)前的連接不可
40、達(dá)結(jié)果如圖所示:</p><p> 8. 此時(shí),輸入iptables –I INPUT 1 -s 192.168.3.0/24 –j ACCEPT</p><p> -I INPUT 1在第一條規(guī)則之前插入一條新的規(guī)則,如果不寫(xiě)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> 同時(shí),可以發(fā)現(xiàn)如果一個(gè)封包符合了某一個(gè)規(guī)則之后便不會(huì)再向下進(jìn)行匹配了,因此在設(shè)計(jì)防火墻的時(shí)候,最后把所有的Defalut policy都給DROP掉,這樣有利于后期的配置</p><p> 10. 由于Ubuntu上iptables是不會(huì)保存規(guī)則的
42、。要讓所以讓網(wǎng)卡關(guān)閉時(shí)保存iptables規(guī)則,啟動(dòng)時(shí)加載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)建過(guò)程如圖所示:</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)閉時(shí)保存iptables規(guī)則,啟動(dòng)時(shí)加載iptables規(guī)則步驟完成。</p><p> 4.3 三臺(tái)虛擬機(jī)連接通信有關(guān)的iptables配置<
46、;/p><p> 1. 分別啟動(dòng)并設(shè)置三臺(tái)虛擬機(jī)</p><p> 1)啟動(dòng)xp虛擬機(jī),其網(wǎng)絡(luò)配置和上一個(gè)實(shí)驗(yàn)一樣,并將其網(wǎng)關(guān)設(shè)為ubuntu主機(jī)的ip地址。</p><p> 2)啟動(dòng)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實(shí)現(xiàn)路由轉(zhuǎn)發(fā)。結(jié)果如圖所示:</p><p> 3)啟動(dòng)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地址,成功。所以u(píng)buntu虛擬機(jī)正常實(shí)現(xiàn)路由轉(zhuǎn)發(fā)功能。相應(yīng)的xp虛擬機(jī)也ping的通win2003虛擬機(jī)。結(jié)果如圖所示:</p><p><b> 實(shí)驗(yàn)準(zhǔn)備工作完畢。</b></p><p> 2. 然后在ubuntu虛擬機(jī)中開(kāi)始設(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ā)來(lái)自192.168.3.34的封包</p><p> 4. 嘗試在xp虛擬機(jī)里ping win2003虛擬機(jī)成功,防火墻允許轉(zhuǎn)發(fā)來(lái)自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)行訪問(wèn)</p><p> 6. 嘗試在xp虛擬機(jī)里分別ping ubuntu虛擬機(jī)和win 2003虛擬機(jī),可以發(fā)現(xiàn)前者成功,后者失敗,,防火墻
53、規(guī)則得以驗(yàn)證。結(jié)果如圖所示:</p><p> 7. 在xp虛擬機(jī)里訪問(wèn)win 2003的web服務(wù)器</p><p> 1)取消以上實(shí)驗(yàn)的規(guī)則,并設(shè)定Defalut pilicy為Default</p><p> 2)在win 2003虛擬機(jī)里安裝web服務(wù)器新建一個(gè)web主頁(yè),并編輯主頁(yè)內(nèi)容如圖所示:</p><p> 3)設(shè)定w
54、eb主頁(yè)的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里嘗試訪問(wèn)192.168.3.34,訪問(wèn)成功。結(jié)果如圖所示:</p><p> 4.4 基于iptables的nat配置</p><p> 1. 打開(kāi)xp虛擬機(jī)與ubuntu虛擬機(jī)并對(duì)其進(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實(shí)現(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)來(lái)的封包</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ī)則表中阻止來(lái)自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這臺(tái)主機(jī)要訪問(wèn)因特網(wǎng)上的主機(jī),其服務(wù)請(qǐng)求封包內(nèi)的Source IP必然為Private IP ,這個(gè)訪問(wèn)動(dòng)作必然會(huì)失敗,因而必須籍由NAT主機(jī)
64、上的SNAT機(jī)制將外送封包內(nèi)的Source IP改為NAT主機(jī)上的Public IP,這樣才能讓因特網(wǎng)上的主機(jī)響應(yīng)來(lái)自回來(lái)的封包可以順利返回到NAT主機(jī)對(duì)外的Public IP上,如果這個(gè)Public IP不是固定的,可以像步驟4那樣設(shè)定,設(shè)定為-j MASQUERADE ,再次訪問(wèn)百度,成功。</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)要訪問(wèn)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ī)器訪問(wèn)ubuntu中的ftp服務(wù)器</p><p> 4)在xp虛擬機(jī)命令行中輸入ftp ,open 192.168.4.33,打開(kāi)ftp服務(wù)器失敗結(jié)果如圖所示:<
68、;/p><p><b> 以上預(yù)設(shè)定完畢</b></p><p> 在iptables中設(shè)置是win xp虛擬機(jī)能夠訪問(wèn)ftp服務(wù)器,由于ftp服務(wù)器使用的是20和21號(hào)端口,所以在防火墻中只需要開(kāi)放這兩個(gè)端口就行了。</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號(hào)端口發(fā)出封包給需要文件的主機(jī)</p><p> 并且再加一條規(guī)則,允許連接保持的被動(dòng)訪問(wèn):</p><p> iptables –A INPUT -m state –state ESTABLISHED,REL
70、ATED –j ACCEPT</p><p> 其中-m 參數(shù)用來(lái)匹配連接狀態(tài),狀態(tài)共有四種:INVALID ESTABLISHEDE NEW和RELATED。</p><p> 3再次嘗試在win xp虛擬機(jī)訪問(wèn)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é)議即開(kāi)53號(hào)端口,并且需要tcp協(xié)議中http協(xié)議即80端口的支持,所以為了配置該服務(wù)器的防火墻,需要開(kāi)放53和80號(hào)端口。</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> 即允許解析出來(lái)的封包進(jìn)入80 和53號(hào)端口</p><p>
74、 再次嘗試在終端中輸入:host www.baidu.com,成功,結(jié)果如圖所示:</p><p> 5 iptables技巧實(shí)例</p><p> (一).禁止客戶機(jī)訪問(wèn)不健康網(wǎng)站【例1】添加iptables規(guī)則禁止用戶訪問(wèn)域名為www.playboy.com的網(wǎng)站,然后查看filter表的FORWARD鏈規(guī)則列表。iptables-IFORWARD-dwww.playboy.c
75、om -j DROPiptables -t filter -L FORWARD【例2】添加iptables規(guī)則禁止用戶訪問(wèn)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è)計(jì)心得</b></p>
77、<p> 轉(zhuǎn)眼大學(xué)三年的時(shí)光即將結(jié)束了,在這三年多的學(xué)習(xí)過(guò)程中自己收獲了成長(zhǎng)過(guò)程中的寶貴財(cái)富。無(wú)論是學(xué)習(xí)上還是做人上自己都學(xué)到了許多,大學(xué)的生活是很自由的,這種自由的生活讓我們的個(gè)性與愛(ài)好都得以很好的發(fā)展。當(dāng)然也有人會(huì)不適應(yīng)大學(xué)的這種學(xué)習(xí)生活,因?yàn)槿绻粋€(gè)人缺乏自制能力的話,那么這種自由的生活如果不能得到合理的規(guī)劃,就會(huì)讓自己的大學(xué)生活如同一張白紙沒(méi)有了色彩。</p><p> 本次課程設(shè)計(jì)最終
78、得以完成,很感謝我的同學(xué)給我的幫助,一個(gè)人的知識(shí)是有限的,但兩個(gè)人的智慧加起來(lái)就是無(wú)限的。當(dāng)我遇到不會(huì)的地方,我的同學(xué)總能和我一起來(lái)討論,在網(wǎng)上找解決的辦法,沒(méi)有你們的幫助,我的課程設(shè)計(jì)不能這么順利的完成,謝謝你們!在本次課程設(shè)計(jì)的過(guò)程中自己也對(duì)以前的知識(shí)進(jìn)行了一次重新的梳理,對(duì)之前掌握不牢固的知識(shí)點(diǎn)又進(jìn)行了強(qiáng)化練習(xí)。同時(shí)自己也養(yǎng)成了在網(wǎng)上搜索解決問(wèn)題方法的習(xí)慣,我們本是計(jì)算機(jī)人就應(yīng)當(dāng)要利用好網(wǎng)絡(luò)來(lái)為我們服務(wù)。</p>&
79、lt;p> 在這個(gè)課程設(shè)計(jì)中也犯了不少的錯(cuò)誤,有些甚至花費(fèi)了很長(zhǎng)的時(shí)間來(lái)解決,但它的本質(zhì)卻是很簡(jiǎn)單的,例如在4.3的實(shí)驗(yàn)室,xp虛擬機(jī)ping的通ubuntu虛擬機(jī),win2003虛擬機(jī)ping的通ubuntu虛擬機(jī),而xp與win2003之間卻ping不通,這是由于兩者沒(méi)有將其網(wǎng)關(guān)指向ubuntu。又或者要實(shí)現(xiàn)防火墻轉(zhuǎn)發(fā)功能設(shè)置的話,必須考慮到進(jìn)來(lái)的進(jìn)來(lái)的接收端和返回的輸出端。。希望自己以后考慮事情多考慮細(xì)微處。</p&
80、gt;<p> 7參考資料(書(shū),論文,網(wǎng)絡(luò)資料)</p><p> ?。?)Linux防火墻 拉什 著,陳健 譯 人民郵電出版社</p><p> ?。?)防火墻策略與VPN配置 謝琳等譯中國(guó)水利水電出版社</p><p> ?。?)百度文庫(kù)(http://wenku.baidu.com/view/69ac0ca1b0717fd5360cdc5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防火墻課程設(shè)計(jì)
- 防火墻與入侵檢測(cè)課程設(shè)計(jì)--混合型簡(jiǎn)易防火墻
- dos命令 關(guān)閉windows系統(tǒng)防火墻 重置防火墻
- secpath防火墻gre vpn典型組網(wǎng)配置-
- windows防火墻設(shè)計(jì)
- 木馬防火墻系統(tǒng).pdf
- 分布式防火墻系統(tǒng)中主機(jī)防火墻的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 防火墻論文
- 防火墻等級(jí)
- 防火墻1
- 防火墻方案
- TFirewall防火墻系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于linux的防火墻設(shè)計(jì)
- Linux防火墻的設(shè)計(jì).pdf
- 防火墻技術(shù)論文
- 防火墻技術(shù)介紹
- 構(gòu)筑新聞“防火墻”
- 防火墻招標(biāo)參數(shù)
- 用好windowsxp防火墻
- isa防火墻策略
評(píng)論
0/150
提交評(píng)論