




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)絡(luò)服務(wù)器搭建、配置與管理Linux版,.ptpedu.,主編:楊云、馬立新 人民郵電出版社,項目九、配置與管理防火墻和代理服務(wù)器,項目描述:某高校組建了校園網(wǎng),并且已經(jīng)架設(shè)了Web、FTP、DNS、DHCP、Mail等功能的服務(wù)器來為校園網(wǎng)用戶提供服務(wù),現(xiàn)有如下問題需要解決。 (1)需要架設(shè)防火墻以實現(xiàn)校園網(wǎng)的安全。 (2)需要將子網(wǎng)連接在一起構(gòu)成整個校園網(wǎng)。 (3)由于校園網(wǎng)使用的是私有地址,需要進行網(wǎng)絡(luò)地址轉(zhuǎn)換,使校園網(wǎng)中的用戶能夠訪問互聯(lián)網(wǎng)。 該項目實際上是由Linux的防火墻與代理服務(wù)器:iptables和squid來完成的,通過該角色部署iptables、NAT、squid,能夠?qū)?/p>
2、現(xiàn)上述功能。 項目目標(biāo) :了解防火墻的分類及工作原理 了解NAT 掌握iptables防火墻的配置 掌握利用iptables實現(xiàn)NAT 掌握squid代理服務(wù)器的配置,9.3 項目實施,9.6 練習(xí)題,9.7 綜合案例分析,9.8 超級鏈接,項目九、配置與管理防火墻和代理服務(wù)器,9.4 企業(yè)實戰(zhàn)與應(yīng)用,9.5 項目實錄,9.1 相關(guān)知識,9.1.1 防火墻概述,1什么是防火墻,防火墻通常具備以下幾個特點。 (1)位置權(quán)威性。 (2)檢測合法性。 (3)性能穩(wěn)定性。,9.1.1 防火墻概述,2防火墻的種類,(1)包過濾防火墻。,(2)代理防火墻。,(3)狀態(tài)檢測技術(shù)。,9.1.2 iptable
3、s簡介,早期的Linux系統(tǒng)采用過ipfwadm作為防火墻,但在2.2.0核心中被ipchains所取代。 Linux 2.4版本發(fā)布后,netfilter/iptables信息包過濾系統(tǒng)正式使用。 Netfilter/iptables IP數(shù)據(jù)包過濾系統(tǒng)實際由netfilter和iptables兩個組件構(gòu)成。Netfilter是集成在內(nèi)核中的一部分,它的作用是定義、保存相應(yīng)的規(guī)則。而iptables是一種工具,用以修改信息的過濾規(guī)則及其他配置。用戶可以通過iptables來設(shè)置適合當(dāng)前環(huán)境的規(guī)則,而這些規(guī)則會保存在內(nèi)核空間中。 對于Linux服務(wù)器而言,采用netfilter/iptable
4、s數(shù)據(jù)包過濾系統(tǒng),能夠節(jié)約軟件成本,并可以提供強大的數(shù)據(jù)包過濾控制功能,iptables是理想的防火墻解決方案。,9.1.3 iptables工作原理,netfilter是Linux核心中的一個通用架構(gòu),它提供了一系列的“表”(tables),每個表由若干“鏈”(chains)組成,而每條鏈可以由一條或數(shù)條“規(guī)則”(rules)組成。實際上,netfilter是表的容器,表是鏈的容器,而鏈又是規(guī)則的容器。,1iptables名詞解釋 (1)規(guī)則(rules)。設(shè)置過濾數(shù)據(jù)包的具體條件,如IP地址、端口、協(xié)議以及網(wǎng)絡(luò)接口等信息,iptables如表,(2)動作(target)。當(dāng)數(shù)據(jù)包經(jīng)過Lin
5、ux時,若netfilter檢測該包符合相應(yīng)規(guī)則,則會對該數(shù)據(jù)包進行相應(yīng)的處理,iptables動作如表,9.1.3 iptables工作原理,9.1.3 iptables工作原理,(3)鏈(chain)。數(shù)據(jù)包傳遞過程中,不同的情況下所要遵循的規(guī)則組合形成了鏈。規(guī)則鏈可以分為以下兩種。 內(nèi)置鏈(Build-in Chains)。 用戶自定義鏈(User-Defined Chains)。 netfilter常用的為內(nèi)置鏈,其一共有5個鏈,如表,9.1.3 iptables工作原理,netfilter的5條鏈相互地關(guān)聯(lián),如圖,iptables數(shù)據(jù)包轉(zhuǎn)發(fā)流程圖,9.1.3 iptables工作原理
6、,(4)表(table)。接受數(shù)據(jù)包時,Netfilter會提供以下3種數(shù)據(jù)包處理的功能。 過濾。 地址轉(zhuǎn)換。 變更。 Netfilter根據(jù)數(shù)據(jù)包的處理需要,將鏈(chain)進行組合,設(shè)計了3個表(table):filter、nat以及mangle。 filter。這是netfilter默認(rèn)的表,通常使用該表進行過濾的設(shè)置,它包含以下內(nèi)置鏈。 INPUT:應(yīng)用于發(fā)往本機的數(shù)據(jù)包。 FORWARD:應(yīng)用于路由經(jīng)過本地的數(shù)據(jù)包。 OUTPUT:本地產(chǎn)生的數(shù)據(jù)包。 filter表過濾功能強大,幾乎能夠設(shè)定所有的動作(target)。,9.1.3 iptables工作原理, nat。當(dāng)數(shù)據(jù)包建立新
7、的連接時,該nat表能夠修改數(shù)據(jù)包,并完成網(wǎng)絡(luò)地址轉(zhuǎn)換。它包含以下3個內(nèi)置鏈。 PREROUTING:修改到達(dá)的數(shù)據(jù)包。 OUTPUT:路由之前,修改本地產(chǎn)生數(shù)據(jù)包。 POSTROUTING:數(shù)據(jù)包發(fā)送前,修改該包。 nat表僅用于網(wǎng)絡(luò)地址轉(zhuǎn)換,也就是轉(zhuǎn)換包的源或目標(biāo)地址,其具體的動作有DNAT、SNAT以及MASQUERADE,下面的內(nèi)容將會詳細(xì)介紹。,9.1.3 iptables工作原理, mangle。該表用在數(shù)據(jù)包的特殊變更操作,如修改TOS等特性。Linux 2.4.17內(nèi)核以前,它包含兩個內(nèi)置鏈:PREROUTING和OUTPUT,內(nèi)核2.4.18發(fā)布后,mangle表對其他3個鏈
8、提供了支持。 PREROUTING:路由之前,修改接受的數(shù)據(jù)包。 INPUT:應(yīng)用于發(fā)送給本機的數(shù)據(jù)包。 FORWARD:修改經(jīng)過本機路由的數(shù)據(jù)包。 OUTPUT:路由之前,修改本地產(chǎn)生的數(shù)據(jù)包。 POSTROUTING:數(shù)據(jù)包發(fā)送出去之前,修改該包。,2iptables工作流程,9.1.3 iptables工作原理,iptables擁有3個表和5個鏈,其整個工作流程如圖,9.1.3 iptables工作原理,9.1.4 NAT的基本知識,網(wǎng)絡(luò)地址轉(zhuǎn)換器NAT(Network Address Translator)位于使用專用地址的Intranet和使用公用地址的Internet之間,主要具有
9、以下幾種功能。 (1)從Intranet傳出的數(shù)據(jù)包由NAT將它們的專用地址轉(zhuǎn)換為公用地址。 (2)從Internet傳入的數(shù)據(jù)包由NAT將它們的公用地址轉(zhuǎn)換為專用地址。 (3)支持多重服務(wù)器和負(fù)載均衡。 (4)實現(xiàn)透明代理。 這樣在內(nèi)網(wǎng)中計算機使用未注冊的專用IP地址,而在與外部網(wǎng)絡(luò)通信時使用注冊的公用IP地址,大大降低了連接成本。同時NAT也起到將內(nèi)部網(wǎng)絡(luò)隱藏起來,保護內(nèi)部網(wǎng)絡(luò)的作用,因為對外部用戶來說只有使用公用IP地址的NAT是可見的,類似于防火墻的安全措施。,9.1.4 NAT的基本知識,1NAT的工作過程 (1)客戶機將數(shù)據(jù)包發(fā)給運行NAT的計算機。 (2)NAT將數(shù)據(jù)包中的端口號
10、和專用的IP地址換成它自己的端口號和公用的IP地址,然后將數(shù)據(jù)包發(fā)給外部網(wǎng)絡(luò)的目的主機,同時記錄一個跟蹤信息在映像表中,以便向客戶機發(fā)送回答信息。 (3)外部網(wǎng)絡(luò)發(fā)送回答信息給NAT。 (4)NAT將所收到的數(shù)據(jù)包的端口號和公用IP地址轉(zhuǎn)換為客戶機的端口號和內(nèi)部網(wǎng)絡(luò)使用的專用IP地址并轉(zhuǎn)發(fā)給客戶機。 以上步驟對于網(wǎng)絡(luò)內(nèi)部的主機和網(wǎng)絡(luò)外部的主機都是透明的,對他們來講就如同直接通信一樣。如圖,9.1.4 NAT的基本知識,9.1.4 NAT的基本知識,9.1.4 NAT的基本知識,2NAT的分類 (1)源NAT(Source NAT,SNAT)。SNAT指修改第一個包的源IP地址。SNAT會在包送
11、出之前的最后一刻做好Post-Routing的動作。Linux中的IP偽裝(MASQUERADE)就是SNAT的一種特殊形式。 (2)目的NAT(Destination NAT,DNAT)。DNAT是指修改第一個包的目的IP地址。DNAT總是在包進入后立刻進行Pre-Routing動作。端口轉(zhuǎn)發(fā)、負(fù)載均衡和透明代理均屬于DNAT。,9.1.4 NAT的基本知識,9.1.5 代理服務(wù)器,代理服務(wù)器(Proxy Server)等同于內(nèi)網(wǎng)與Internet的橋梁。普通的Internet訪問是一個典型的客戶機與服務(wù)器結(jié)構(gòu):用戶利用計算機上的客戶端程序,如瀏覽器發(fā)出請求,遠(yuǎn)端.服務(wù)器程序響應(yīng)請求并提供相
12、應(yīng)的數(shù)據(jù)。而Proxy處于客戶機與服務(wù)器之間,對于服務(wù)器來說,Proxy是客戶機,Proxy提出請求,服務(wù)器響應(yīng);對于客戶機來說,Proxy是服務(wù)器,它接受客戶機的請求,并將服務(wù)器上傳來的數(shù)據(jù)轉(zhuǎn)給客戶機。它的作用如同現(xiàn)實生活中的代理服務(wù)商。,9.1.5 代理服務(wù)器,1代理服務(wù)器的工作原理,9.1.5 代理服務(wù)器,9.1.5 代理服務(wù)器,2代理服務(wù)器的作用 (1)提高訪問速度。 (2)用戶訪問限制。 (3)安全性得到提高。,9.2 項目設(shè)計及準(zhǔn)備,9.2.1 項目設(shè)計,網(wǎng)絡(luò)建立初期,人們只考慮如何實現(xiàn)通信而忽略了網(wǎng)絡(luò)的安全。而防火墻可以使企業(yè)內(nèi)部局域網(wǎng)與Internet之間或者與其他外部網(wǎng)絡(luò)互相
13、隔離、限制網(wǎng)絡(luò)互訪來保護內(nèi)部網(wǎng)絡(luò)。 大量擁有內(nèi)部地址的機器組成了企業(yè)內(nèi)部網(wǎng),那么如何連接內(nèi)部網(wǎng)與Internet?代理服務(wù)器將是很好的選擇,它能夠解決內(nèi)部網(wǎng)訪問Internet的問題并提供訪問的優(yōu)化和控制功能。 本項目設(shè)計在安裝有企業(yè)版Linux網(wǎng)絡(luò)操作系統(tǒng)的服務(wù)器上安裝iptabels。,9.2.2 項目準(zhǔn)備,部署iptables應(yīng)滿足下列需求。 (1)安裝好的企業(yè)版Linux網(wǎng)絡(luò)操作系統(tǒng),并且必須保證常用服務(wù)正常工作。客戶端使用Linux或Windows網(wǎng)絡(luò)操作系統(tǒng)。服務(wù)器和客戶端能夠通過網(wǎng)絡(luò)進行通信。 (2)或者利用虛擬機進行網(wǎng)絡(luò)環(huán)境的設(shè)置。,9.3 項目實施,9.3.1 任務(wù)1 安裝i
14、ptables,9.3.1 任務(wù)1 安裝iptables,9.3.1 任務(wù)1 安裝iptables,5自動加載iptables服務(wù) (1)chkconfig。 使用chkconfig命令自動加載iptables服務(wù),如下所示。,(2)ntsysv。 使用ntsysv命令,利用文本圖形界面對iptables自動加載進行配置。,9.3.2 任務(wù)2 認(rèn)識iptables的基本語法,如果想靈活運用iptables來加固系統(tǒng)安全的話,就必須熟練地掌握iptables的語法格式。 iptables的語法格式如下。,iptables -t 表名 -命令 -匹配 -j 動作/目標(biāo),1表選項 iptables內(nèi)
15、置了filter、nat和mangle 3張表,使用-t參數(shù)來設(shè)置對哪張表生效。例如,如果對nat表設(shè)置規(guī)則的話,可以在-t參數(shù)后面加上nat,如下所示。,iptables -t nat -命令 -匹配 -j 動作/目標(biāo),-t參數(shù)是可以省略的,如果省略了-t參數(shù),則表示對filter表進行操作。例如:,iptables -A INPUT -p icmp -j DROP,9.3.2 任務(wù)2 認(rèn)識iptables的基本語法,9.3.2 任務(wù)2 認(rèn)識iptables的基本語法,9.3.2 任務(wù)2 認(rèn)識iptables的基本語法,3匹配選項 匹配選項用來指定需要過濾的數(shù)據(jù)包所具備的條件。換句話說就是在
16、過濾數(shù)據(jù)包的時候,iptables根據(jù)什么來判斷到底是允許數(shù)據(jù)包通過,還是不允許數(shù)據(jù)包通過,過濾的角度通??梢允窃吹刂?、目的地址、端口號或狀態(tài)等信息。如果使用協(xié)議進行匹配的話,就是告訴iptables從所使用的協(xié)議來進行判斷是否丟棄這些數(shù)據(jù)包。在TCP/IP的網(wǎng)絡(luò)環(huán)境里,大多數(shù)的數(shù)據(jù)包所使用的協(xié)議不是TCP類型的就是UDP類型的,還有一種是ICMP類型的數(shù)據(jù)包,例如ping命令所使用的就是ICMP協(xié)議。下面先來介紹一些較為常用的匹配選項。更多介紹請參考相關(guān)文獻(xiàn)。,9.3.2 任務(wù)2 認(rèn)識iptables的基本語法,9.3.2 任務(wù)2 認(rèn)識iptables的基本語法,9.3.2 任務(wù)2 認(rèn)識ip
17、tables的基本語法,(3)-dport或 -destination -port。 作用:基于TCP包的目的端口來匹配包,也就是說通過檢測數(shù)據(jù)包的目的端口是不是指定的來判斷數(shù)據(jù)包的去留。端口的指定形式和-sport完全一樣。例如:,iptables -I INPUT -dport 80 -j ACCEPT,(4)-s或-src或-source。 作用:以IP源地址匹配包。例如:,iptables -A INPUT -s -j DROP,注意:在地址前加英文感嘆號表示取反,注意空格,如:-s !/24表示除此地址外的所有地址。,9.3.2 任務(wù)2 認(rèn)識ip
18、tables的基本語法,4動作/目標(biāo)選項 動作/目標(biāo)決定符合條件的數(shù)據(jù)包將如何處理,其中最為基本的有ACCEPT和DROP。 介紹常用的動作/目標(biāo)如表,9.3.2 任務(wù)2 認(rèn)識iptables的基本語法,9.3.3 任務(wù)3 設(shè)置默認(rèn)策略,在iptables中,所有的內(nèi)置鏈都會有一個默認(rèn)策略。當(dāng)通過iptables的數(shù)據(jù)包不符合鏈中的任何一條規(guī)則時,則按照默認(rèn)策略來處理數(shù)據(jù)包。 定義默認(rèn)策略的命令格式如下。,iptables -t 表名 -P 鏈名 動作,【例9-1】 將filter表中INPUT鏈的默認(rèn)策略定義為DROP(丟棄數(shù)據(jù)包)。,rootserver # iptables -P INP
19、UT -j DROP,【例9-2】 將nat表中OUTPUT鏈的默認(rèn)策略定義為ACCEPT(接受數(shù)據(jù)包)。,rootserver # iptables -t nat -P OUTPUT -j ACCEPT,9.3.4 任務(wù)4 配置iptables規(guī)則,【例9-4】 查看filter表中FORWARD鏈的規(guī)則。,9.3.4 任務(wù)4 配置iptables規(guī)則,2添加、刪除、修改規(guī)則 【例9-5】 為filter表的INPUT鏈添加一條規(guī)則,規(guī)則為拒絕所有使用ICMP協(xié)議的數(shù)據(jù)包。,9.3.4 任務(wù)4 配置iptables規(guī)則,9.3.4 任務(wù)4 配置iptables規(guī)則,【例9-6】 為filte
20、r表的INPUT鏈添加一條規(guī)則,規(guī)則為允許訪問TCP協(xié)議的80端口的數(shù)據(jù)包通過。,9.3.4 任務(wù)4 配置iptables規(guī)則,【例9-7】 在filter表中INPUT鏈的第2條規(guī)則前插入一條新規(guī)則,規(guī)則為不允許訪問TCP協(xié)議的53端口的數(shù)據(jù)包通過。,9.3.4 任務(wù)4 配置iptables規(guī)則,【例9-8】 在filter表中INPUT鏈的第一條規(guī)則前插入一條新規(guī)則,規(guī)則為允許源IP地址屬于/16網(wǎng)段的數(shù)據(jù)包通過。,9.3.4 任務(wù)4 配置iptables規(guī)則,【例9-9】 刪除filter表中INPUT鏈的第2條規(guī)則。,9.3.4 任務(wù)4 配置iptables規(guī)則,當(dāng)
21、某條規(guī)則過長時,可以使用數(shù)字代碼來簡化操作,如下所示。 使用-1ine-n參數(shù)來查看規(guī)則代碼。,rootserver # iptables -L INPUT -line -n Chain INPUT(policy ACCEPT) numtarget prot optsource destination 1ACCEPTall - /16anvwhere 2 DROP icmp- anvwhereanvwhere 3 DROP tcp - anvwhereanvwheretcpdpt:domain 4 ACCEPTtcp - anvwhereanvwheretcpdpt:htt
22、p,9.3.4 任務(wù)4 配置iptables規(guī)則,#直接使用規(guī)則代碼進行刪除,9.3.4 任務(wù)4 配置iptables規(guī)則,【例9-10】 清除filter表中INPUT鏈的所有規(guī)則。,rootserver # iptables -F INPUT #查看規(guī)則列表 root server # iptables -L INPUT Chain INPUT(policy ACCEPT) target prot optsource destination,9.3.4 任務(wù)4 配置iptables規(guī)則,3保存規(guī)則與恢復(fù) iptables提供了兩個很有用的工具來保存和恢復(fù)規(guī)則,這在規(guī)則集較為龐大的時候非常實
23、用。它們分別是iptables-save和iptables-restore。 iptables-save用來保存規(guī)則,它的用法比較簡單,命令格式如下。,iptables-save -c -t 表名,-c:保存包和字節(jié)計數(shù)器的值。這可以使在重啟防火墻后不丟失對包和字節(jié)的統(tǒng)計。 -t:用來選擇保存哪張表的規(guī)則,如果不跟-t參數(shù)則保存所有的表。,9.3.4 任務(wù)4 配置iptables規(guī)則,當(dāng)使用iptables-save命令后可以在屏幕上看到輸出結(jié)果,其中*表示的是表的名字,它下面跟的是該表中的規(guī)則集。,9.3.4 任務(wù)4 配置iptables規(guī)則,9.3.4 任務(wù)4 配置iptables規(guī)則,可
24、以使用重定向命令來保存這些規(guī)則集,如下所示。,rootserver # iptablessave /etc/iptables-save,iptables-restore用來裝載由iptables-save保存的規(guī)則集。其命令格式如下所示。,iptables-restore c -n,-c:如果加上-c參數(shù),表示要求裝入包和字節(jié)計數(shù)器。 -n:表示不要覆蓋已有的表或表內(nèi)的規(guī)則。默認(rèn)情況是清除所有已存在的規(guī)則。 使用重定向來恢復(fù)由iptables-save保存的規(guī)則集,如下所示。,rootserver # iptables-restore /etc/iptables-save,所有的添加、刪除、修
25、改規(guī)則都是臨時生效。當(dāng)重新啟動系統(tǒng)后,恢復(fù)成原有的配置,如果想保持所做的修改在重新啟動系統(tǒng)后依舊生效,可以使用以下命令來保存iptables的規(guī)則配置,如下所示。,rootiptables /# iptables-save /etc/iptables-save rootiptables /# service iptables save 將當(dāng)前規(guī)則保存在 /etc/sysconfig/iptables。 確定 ,9.3.5 任務(wù)5 從常用實例中掌握配置iptables技巧,9.3.5 任務(wù)5 從常用實例中掌握配置iptables技巧,【例9-12】 禁止員工訪問IP地址為的網(wǎng)站
26、。,rootiptables /# iptables -A FORWARD -d j DROP #查看FORWARD鏈的規(guī)則 rootserver # iptables L FORWARD Chain FORWARD(policy ACCEPT) target Prot opt source destination DROP all-anywhere . DROP all-anywhere ,9.3.5 任務(wù)5 從常用實例中掌握配置iptables技巧,2禁止用戶使用QQ軟件 員工上網(wǎng)聊天似乎已經(jīng)成為一種司空見慣的事情,大多數(shù)人對此習(xí)以為常。
27、可是在老板的眼里他們并不希望看到這些。所以很多的網(wǎng)絡(luò)管理者在部署企業(yè)內(nèi)部網(wǎng)絡(luò)的時候都紛紛禁止使用QQ軟件,早期的QQ都采用UDP協(xié)議進行傳輸數(shù)據(jù),而且所使用的端口通常是從4000開始,目前新版本的QQ既可以使用TCP協(xié)議,也可以使用UDP協(xié)議,而且端口號也有所改變,這使得封鎖QQ軟件的難度加大。不過只要知道QQ使用的服務(wù)器地址和端口號依舊可以進行封鎖。 獲取QQ使用的服務(wù)器地址和端口號很容易,進入QQ安裝目錄,在任意以QQ號碼命名的目錄中找到Config.db的文件,并用記事本或其他編輯器打開,即可看到QQ使用的服務(wù)器地址和端口號,如圖,9.3.5 任務(wù)5 從常用實例中掌握配置iptables
28、技巧,9.3.6 任務(wù)6 使用日志監(jiān)控iptables,9.3.6 任務(wù)6 使用日志監(jiān)控iptables,可以先將LOG功能的使用方式理解成以下這樣。,iptables -t 表名 -命令 -匹配 -j LOG,但是這并不完整,LOG目標(biāo)后面可以跟5個選項來規(guī)范和完善LOG功能,例如設(shè)置日志記錄的詳細(xì)程度,或者是否去跟蹤一個特定地址的數(shù)據(jù)包。當(dāng)然這5個選項并不是都需要寫出來,不過,我們還是先來看看它們分別是什么意思。,9.3.6 任務(wù)6 使用日志監(jiān)控iptables,9.3.6 任務(wù)6 使用日志監(jiān)控iptables,9.3.6 任務(wù)6 使用日志監(jiān)控iptables,9.3.7 任務(wù)7 實現(xiàn)NA
29、T(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),2配置SNAT SNAT功能是進行源IP地址轉(zhuǎn)換,也就是重寫數(shù)據(jù)包的源IP地址。若網(wǎng)絡(luò)內(nèi)部主機采用共享方式,訪問Internet連接時就需要用到SNAT的功能,將本地的IP地址替換為公網(wǎng)的合法IP地址。 SNAT只能用在nat表的POSTROUTING鏈,并且只要連接的第一個符合條件的包被SNAT進行地址轉(zhuǎn)換,那么這個連接的其他所有的包都會自動地完成地址替換工作,而且這個規(guī)則還會應(yīng)用于這個連接的其他數(shù)據(jù)包。SNAT使用選項-to-source,命令語法如下。,iptables -t nat -A POSTROUTING -o
30、網(wǎng)絡(luò)接口 -j SNAT -to-source IP地址,9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),【例9-13】 公司內(nèi)部主機使用/8網(wǎng)段的IP地址,并且使用Linux主機作為服務(wù)器連接互聯(lián)網(wǎng),外網(wǎng)地址為固定地址2,現(xiàn)需要修改相關(guān)設(shè)置保證內(nèi)網(wǎng)用戶能夠正常訪問Internet,如圖,9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),DNAT主要能夠完成以下幾個功能。 (1)發(fā)布內(nèi)網(wǎng)服務(wù)器。 iptables能
31、夠接收外部的請求數(shù)據(jù)包,并轉(zhuǎn)發(fā)至內(nèi)部的應(yīng)用服務(wù)器,整個過程是透明的,訪問者感覺像直接在與內(nèi)網(wǎng)服務(wù)器進行通信一樣,如圖,9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),(2)實現(xiàn)負(fù)載均衡。 如果內(nèi)部網(wǎng)絡(luò)存在多臺相同類型應(yīng)用的服務(wù)器,可以使用DNAT,將外部的訪問流量分配到多臺Server上,實現(xiàn)負(fù)載均衡,減輕服務(wù)器的負(fù)擔(dān)。 【例9-15】 公司內(nèi)部共有3臺數(shù)據(jù)相同的Web服務(wù)器,IP地址分別為 0、1以及3,防火墻外部地址為3,為了提高頁面的響應(yīng)速度,需要對
32、Web服務(wù)進行優(yōu)化。,rootserver # iptables -t nat -A PREROUTING -d 3 -p tcp -dport 80 -j DNAT to-destination 0-2,9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),5連接跟蹤 (1)什么是連接跟蹤。 通常,在iptables防火墻的配置都是單向的,例如,防火墻僅在INPUT鏈允許主機訪問Google站點,這時,請求數(shù)據(jù)包能夠正常發(fā)送至Google服務(wù)器,但是,當(dāng)服務(wù)器的回應(yīng)數(shù)據(jù)包抵達(dá)時,因
33、為沒有配置允許的策略,則該數(shù)據(jù)包將會被丟棄,無法完成整個通信過程。所以,配置iptables時需要配置出站、入站規(guī)則,這無疑增大了配置的復(fù)雜度。實際上,連接跟蹤能夠簡化該操作。 連接跟蹤依靠數(shù)據(jù)包中的特殊標(biāo)記,對連接狀態(tài)“state”進行檢測,Netfilter能夠根據(jù)狀態(tài)決定數(shù)據(jù)包的關(guān)聯(lián),或者分析每個進程對應(yīng)數(shù)據(jù)包的關(guān)系,決定數(shù)據(jù)包的具體操作。連接跟蹤支持TCP和UDP通信,更加適用于數(shù)據(jù)包的交換。,9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.7 任務(wù)7 實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),9.3.8 任務(wù)8 安裝、啟動與停止Squid服務(wù),對于Web用戶來說,Squid是一個高性能的代
34、理緩存服務(wù)器,可以加快內(nèi)部網(wǎng)瀏覽Internet的速度,提高客戶機的訪問命中率。 Squid將數(shù)據(jù)元緩存在內(nèi)存中,同時也緩存DNS查尋的結(jié)果,除此之外,它還支持非模塊化的DNS查詢,對失敗的請求進行消極緩存。 Squid由一個主要的服務(wù)程序Squid,一個DNS查詢程序dnsserver,幾個重寫請求和執(zhí)行認(rèn)證的程序,以及幾個管理工具組成。 Squid的另一個優(yōu)越性在于它使用訪問控制清單(ACL)和訪問權(quán)限清單(ARL)。,9.3.8 任務(wù)8 安裝、啟動與停止Squid服務(wù),Squid的主要功能如下所示。 代理和緩存HTTP、FTP和其他的URL請求。 代理SSL請求。 支持多級緩存。 支持透
35、明代理。 支持ICP、HTCP、CARP等緩存摘要。 支持多種方式的訪問控制和全部請求的日志記錄。 提供HTTP服務(wù)器加速。 能夠緩存DNS查詢。 Squid的官方網(wǎng)站是.。,9.3.8 任務(wù)8 安裝、啟動與停止Squid服務(wù),9.3.8 任務(wù)8 安裝、啟動與停止Squid服務(wù),2啟動、停止Squid服務(wù) 啟動和重新啟動Squid服務(wù)的命令和界面如下所示。,9.3.8 任務(wù)8 安裝、啟動與停止Squid服務(wù),3自動加載Squid服務(wù) (1)使用chkconfig。,rootserver # chkconfid -level 3 squid on/運行級別3自動加載
36、 rootserver # chkconfid -level 3 squid off/運行級別3不自動加載,(2)使用ntsysv。 使用ntsysv命令,利用文本圖形界面對Squid自動加載進行配置,在“squid”選項前按空格加上“*”。,9.3.9 任務(wù)9 配置squid服務(wù)器,1幾個常用的選項 (1)http_port 3128。,http_port 54:8080,(2)cache_mem 512MB。 內(nèi)存緩沖設(shè)置是指需要使用多少內(nèi)存來作為高速緩存。,(3)cache_dir ufs /var/spool/squid 4096 16 256。 用于指定硬盤緩沖
37、區(qū)的大小。,(4)cache_effective_user squid。 設(shè)置使用緩存的有效用戶。,cache_effective_user nobody,(5)cache_effective_group squid。 設(shè)置使用緩存的有效用戶組,默認(rèn)為squid組,也可更改。,9.3.9 任務(wù)9 配置squid服務(wù)器,(6)dns_nameservers 00。 設(shè)置有效的DNS服務(wù)器的地址。 (7)cache_access_log /var/log/squid/access.log。 設(shè)置訪問記錄的日志文件。 (8)cache_log /var/log/squid/
38、cache.log。 設(shè)置緩存日志文件。該文件記錄緩存的相關(guān)信息。 (9)cache_store_log /var/log/squid/store.log。 設(shè)置網(wǎng)頁緩存日志文件。網(wǎng)頁緩存日志記錄了緩存中存儲對象的相關(guān)信息,例如存儲對象的大小、存儲時間、過期時間等。,9.3.9 任務(wù)9 配置squid服務(wù)器,(10)visible_hostname 。 visible_hostname字段用來幫助Squid得知當(dāng)前的主機名,如果不設(shè)置此項,在啟動Squid的時候就會碰到“FATAL:Could not determine fully qualified hostnameP
39、lease set visible hostname”這樣的提示。當(dāng)訪問發(fā)生錯誤時,該選項的值會出現(xiàn)在客戶端錯誤提示網(wǎng)頁中。 (11)cache_mgr mastersmile.。 設(shè)置管理員的郵件地址。當(dāng)客戶端出現(xiàn)錯誤時,該郵件地址會出現(xiàn)在網(wǎng)頁提示中,這樣用戶就可以寫信給管理員來告知發(fā)生的事情。,9.3.9 任務(wù)9 配置squid服務(wù)器,2設(shè)置訪問控制列表 Squid代理服務(wù)器是Web客戶機與Web服務(wù)器之間的中介,它實現(xiàn)訪問控制,決定哪一臺客戶機可以訪問Web服務(wù)器以及如何訪問。Squid服務(wù)器通過檢查具有控制信息的主機和域的訪問控制列表(ACL)來決定是否允許某客戶機進行訪問。ACL是要
40、控制客戶的主機和域的列表。使用acl命令可以定義ACL,該命令在控制項中創(chuàng)建標(biāo)簽。用戶可以使用http_access等命令定義這些控制功能,可以基于多種acl選項,如源IP地址、域名、甚至?xí)r間和日期等來使用acl命令定義系統(tǒng)或者系統(tǒng)組。,(1)acl。 acl命令的格式如下。,9.3.9 任務(wù)9 配置squid服務(wù)器,acl 列表名稱 列表類型 -i 列表值,其中,列表名稱用于區(qū)分Squid的各個訪問控制列表,任何兩個訪問控制列表不能用相同的列表名。一般來說,為了便于區(qū)分列表的含義應(yīng)盡量使用意義明確的列表名稱。 列表類型用于定義可被Squid識別的類別。例如,可以通過IP地址、主機名、域名、日
41、期和時間等。常見的列表類型如表,9.3.9 任務(wù)9 配置squid服務(wù)器,9.3.9 任務(wù)9 配置squid服務(wù)器,9.3.9 任務(wù)9 配置squid服務(wù)器,【例9-21】 禁止用戶下載*.mp3、*.exe、*.zip和*.rar類型的文件。,acl badfile urlpath_regex -i .mp3$.exe$.zip$.rar$ http_access deny badfile,【例9-22】 屏蔽.站點。,acl badsite dstdomain -i . http_access deny badsite,-i表示忽略大
42、小寫字母,默認(rèn)情況下Squid是區(qū)分大小寫的。 【例9-23】 屏蔽所有包含“sex”的URL路徑。,acl sex url_regex -i sex http_access deny sex,9.3.9 任務(wù)9 配置squid服務(wù)器,9.3.9 任務(wù)9 配置squid服務(wù)器,9.3.10 任務(wù)10 配置透明代理,利用Squid和NAT功能可以實現(xiàn)透明代理。透明代理的意思是客戶端根本不需要知道有代理服務(wù)器的存在,客戶端不需要在瀏覽器或其他的客戶端工作中做任何設(shè)置,只需要將默認(rèn)網(wǎng)關(guān)設(shè)置為Linux服務(wù)器的IP地址即可(eth0是內(nèi)網(wǎng)網(wǎng)卡)。 1配置squid服務(wù)器 為了使Squid支持透明代理,
43、必須設(shè)置以下4項。,httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on,(1)httpd_accel_host virtual和httpd_accel_port 80。 這兩個選項本來是用來定義Squid加速模式的。在這里用virtual來指定為虛擬主機模式。80端口為要加速的請求端口。采用這種模式時,Squid就取消了緩存功能,假如需要這些功能,必須設(shè)置httpd_accel_with_proxy選項。 (2)httpd_accel_wit
44、h_proxy on。 該選項在透明代理模式下必須設(shè)置成on。在該模式下,Squid既是Web請求的加速器,又是緩存代理服務(wù)器。 (3)httpd_accel_uses_host_header on。 在透明代理模式下,如果想讓代理服務(wù)器的緩存功能正確工作,必須將該選項設(shè)為on。設(shè)為on時,Squid會把存儲的對象加上主機名而不是IP地址作為索引。,9.3.10 任務(wù)10 配置透明代理,9.3.10 任務(wù)10 配置透明代理,9.3.11 任務(wù)11 squid服務(wù)器配置實例,9.3.11 任務(wù)11 squid服務(wù)器配置實例,9.3.11 任務(wù)11 squid服務(wù)器配置實例,(2)配置主配置文件s
45、quid.conf。,9.3.11 任務(wù)11 squid服務(wù)器配置實例,(3)初始化squid服務(wù)。,rootserver # squid -z,(4)啟動squid服務(wù)。,rootserver # service squid start,3客戶端測試 (1)Windows客戶端測試。 在Windows客戶端設(shè)置代理服務(wù)器的過程如下。 打開Internet Explorer瀏覽器,單擊“工具Internet選項”。 單擊“連接局域網(wǎng)設(shè)置”,在彈出的對話框中進行代理服務(wù)器的設(shè)置。 現(xiàn)在在客戶端就可以上網(wǎng)了。,9.3.11 任務(wù)11 squid服務(wù)器配置實例,9.3.11 任務(wù)11 squid服務(wù)
46、器配置實例,(2)Linux客戶端測試。,Linux系統(tǒng)自帶的瀏覽器為Mozilla Firefox,下面以該瀏覽器為例講解客戶端配置。 打開瀏覽器,選擇Edit菜單中的Preferences命令。 在General菜單中選擇Connection Settings選項。 選中Manual proxy configuration單選按鈕,手工配置代理服務(wù)設(shè)置,在HTTP Proxy右邊的地址欄填寫代理服務(wù)器的IP地址和相應(yīng)的端口號,然后單擊OK按鈕完成設(shè)置。 現(xiàn)在在客戶端就可以上網(wǎng)了。,9.4 企業(yè)實戰(zhàn)與應(yīng)用,9.4.1 企業(yè)環(huán)境及需求,1企業(yè)環(huán)境 200臺客戶機,IP地址范圍為192.168.
47、1.1.254, 掩碼為。 Mail服務(wù)器:IP地址為54,掩碼為。 FTP服務(wù)器:IP地址為53,掩碼為。 Web服務(wù)器:IP地址為52,掩碼為。 公司網(wǎng)絡(luò)拓?fù)鋱D如圖,9.4.2 需求分析,9.4.3 解決方案,9.4.3 解決方案,9.4.3 解決方案,9.4.3 解決方案,9.4.3 解決方案,9.4.3 解決方案,9.4.3 解決方案,9.6 練習(xí)題,二、選擇題 1. 在Linux 2.4以后的內(nèi)核中,提供TCP/IP包過濾功能的軟件叫什么?( ) A. rarp B. route C. iptables D. filter 2. 在Linux操作系統(tǒng)中,可以通過iptables命令來配置內(nèi)核中集成的防火墻,若在配置腳本中添加ip
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新型人才引領(lǐng)鄉(xiāng)村振興的路徑探索
- 重慶市開州區(qū)鎮(zhèn)東初級中學(xué)2025屆化學(xué)九上期末達(dá)標(biāo)檢測模擬試題含解析
- 江蘇省無錫市第一女子中學(xué)2025屆九上化學(xué)期末預(yù)測試題含解析
- 山西財經(jīng)大學(xué)華商學(xué)院《內(nèi)部控制制度》2023-2024學(xué)年第一學(xué)期期末試卷
- 商業(yè)停車場車位租賃與廣告合作合同
- 文化教育設(shè)施設(shè)計與施工方案研究
- 2025至2030中國狗肉行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國月子中心行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 石油化工行業(yè)發(fā)展現(xiàn)狀與未來趨勢分析預(yù)測報告
- 2025至2030中國自助點菜亭行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 遠(yuǎn)景能源考試題目及答案
- 常年法律顧問勞動法專項法律服務(wù)工作方案
- 輸液泵操作并發(fā)癥的預(yù)防及處理流程
- T-CASME 1665-2024 水利工程混凝土結(jié)構(gòu)表層裂縫環(huán)氧樹脂修復(fù)材料應(yīng)用技術(shù)規(guī)程
- 2025年上半年寧波市公安局協(xié)輔警招考易考易錯模擬試題(共500題)試卷后附參考答案
- 北師大版四年級下冊數(shù)學(xué)計算題每日一練帶答案(共30天)
- 《不銹鋼培訓(xùn)知識》課件
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 《AIB審核基礎(chǔ)》課件
- KCA試題庫完整版
- 國家電網(wǎng)安規(guī)線路培訓(xùn)
評論
0/150
提交評論