




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