Linux代理服務器和防火墻配置詳細解析_百度文庫_第1頁
Linux代理服務器和防火墻配置詳細解析_百度文庫_第2頁
Linux代理服務器和防火墻配置詳細解析_百度文庫_第3頁
Linux代理服務器和防火墻配置詳細解析_百度文庫_第4頁
Linux代理服務器和防火墻配置詳細解析_百度文庫_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Linux 代理服務器和防火墻配置詳細解析代理 /防火墻1.iptables 規(guī)則表Filter(針對過濾系統(tǒng) :INPUT 、 FORWARD 、 OUTPUTNAT(針對地址轉(zhuǎn)換系統(tǒng) :PREROUTING 、 POSTROUTING 、 INPUT 、 OUTPUTMangle(針對策略路由和特殊應用 :OUTPUT 、 POSTROUTING2. 安裝包iptables-1.2.7a-23. 配置防火墻1 命令語法Usge: iptables -t table -ADC chain rule-specification options iptables -t table -I chai

2、n rulenum rule-specification options iptables -t table -R chain rulenum rule-specification optionsiptables -t table -D chain rulenum optionsiptables -t table -LFZ chain optionsiptables -t table -N chainiptables -t table -X chainiptables -t table -P chain target optionsiptables -t table -E old-chain-

3、name new-chain-name規(guī)則操作參數(shù)說明:-A :在所選擇的鏈末添加一條或更多規(guī)則;-D :從所選鏈中刪除一條或更多規(guī)則。有兩種方法:把被刪除規(guī)則指定為鏈中的序號 (第一條序號為 1,或者指定為要匹配的規(guī)則;-R :從選中的鏈中取代一條規(guī)則。如果源地址或目的地址轉(zhuǎn)換為多地址,該命令會失 敗。規(guī)則序號從 1開始;-I :根據(jù)給出的規(guī)則序號, 向所選鏈中插入一條或更多規(guī)則。 所以, 如果規(guī)則序號為 1, 規(guī)則會插入鏈的頭部。這也是不指定規(guī)則序號時的默認方式;-L :現(xiàn)實所選鏈的所有規(guī)則。如果沒有所選鏈,將顯示所有鏈。也可以和 z 選項一起 用,這是鏈會自動列出和歸零;-F :清空所選

4、鏈。這等于把所有規(guī)則一個個刪除;-Z :把所有鏈的包以及字節(jié)的計數(shù)器清空;-N :根據(jù)給出的名稱建立一個新的用戶定義鏈。這必須保證沒有同名的鏈存在;-X :刪除指定的用戶自定義鏈。這個鏈必須沒有被引用,如果被引用,在刪除之前必 須刪除或者替換與之有關的規(guī)則。 如果沒有給出參數(shù), 這條命令將試著刪除每個非內(nèi)建的鏈;-P :設置鏈的目標規(guī)則;-E :根據(jù)用戶給出的名字對指定鏈進行重名名;規(guī)則定義參數(shù)說明:-p !protocol:規(guī)則或者包檢查(待查包的協(xié)議。指定協(xié)議可以是 TCP 、 UDP 、 ICMP 中的一個 或者 全部,也可以是數(shù)值,代表這些協(xié)議中的某一個。當然也可以使用在 /etc/p

5、rotocols中定 義的協(xié)議名。在協(xié)議名前加上 ! 表示相反的規(guī)則。 數(shù)字 0相當于所有 all 。 Protocol all 會匹配所有協(xié)議,而且這是缺省時的選項。在和 check 命令結(jié)合時, all 可以不被使用;-s!address/mask:指定源地址, 可以是主機名、 網(wǎng)絡名和清楚地 IP 地址。 mask 說明可以是網(wǎng)絡掩碼或 清 楚的數(shù)字,在網(wǎng)絡掩碼的左邊指定網(wǎng)絡掩碼左邊 1 的個數(shù),因此, mask 值為 24等于 。在指定地址前加上 ! 說明指定了 相反的地址段。標志 -src 是這個選項 的簡寫;-d!address/mask:指定目標地址,要

6、獲取詳細說明請參見 -s 標志的說明。 標志 -dst 是這個選項的簡寫; -j target:指定規(guī)則的目標:也就是說包匹配應當做什么。目標可以為 ACCEPT (通過、 DROP (刪除、 RETURN (返回、 REDIRECT (重新指向、 SNAT (源地址轉(zhuǎn)換、 DNAT (目標地址轉(zhuǎn)換、 MASQUERADE (偽 裝等,還可以是用戶自定義鏈。如果規(guī)則的這個選項被忽略, 那么匹配的過程不會對包產(chǎn)生影響,不過規(guī)則的計數(shù)器會增加;-i!name:待選的可接受包接口名稱,包通過該接口接收(在鏈 INPUT 、 FORWORD 和 PREROUTING中進入的包 。 當在接口名前使用 !

7、 說明后, 指的是相反的名稱, 如果接口名后面加上 +, 則所有以次接口名開頭的接口都會被匹 配。 如果這個選項被忽略, 會假設為 +, 那么將匹 配任意接口;-O!NAME:這是包經(jīng)由該接口送出的可選的出口名稱,包通過該口輸出(在鏈 FORWARD 、 OUTPUT 和 POSTROUTING 中送出的包。其他設置同上。2 匹配規(guī)則擴展選項:tcp :當指定 -p tcp,且未指定其他匹配的擴展,則裝載這些擴展。-source-port!port:port:源端口或端口范圍指定??梢允欠彰蚨丝谔?。使用格式端口:端口也可以指定包 含的(端口范圍。如果忽略首端口號,默認是 0,如果忽略末端口

8、號,默認是 65535,如 果第二個端口號大于第一個,則他們進行交換。這個選項可以使用 -sport 的別名;-destionation-port!port:port:目標端口或端口范圍指定。這個選項可以使用 -dport 別名來代替;-tcp-flags!mask comp:匹配指定的 TCP 標記。第一個參數(shù)是要檢查的標記,一個用逗號分開的列表,第二個 參數(shù)是用逗號分開的標記表,是必須設置的。標記如:SYN (同步、 ACK (應答、 FIN (結(jié) 束、 RST (重設、 URG (緊急、 PSH (送入 ALLNONE 。命令 iptables -A FORWARD -p tcp -tc

9、p-flags SYN, ACK, FIN, RST SYN只匹配那 些設置了 SYN 標記而沒有設置 ACK 、 FIN 和 RST 標記的包。udp :當指定 -p icmp且未指定其他匹配的擴展時,則裝載這些擴展。-icmp-type!typename:這個選項允許指定 ICMP 類型,可以是一個數(shù)值型的 ICMP 類型,或者是某個由命令 iptables -p icmp -h所顯示的 ICMP 類型名。mac :-mac-source!address:匹配物理地址。 必須是 XX:XX:XX:XX:XX這樣的格式。 注意, 他只對來自以太設備并進入 PREROUTING 、 FORWO

10、RD 和 INPUT 鏈的包有效。limit :這個模塊匹配標志用來對網(wǎng)絡數(shù)據(jù)的通過速率進行標記, 他和 LOG 目標結(jié)合使 用,給出有限的登陸數(shù)。當達到這個極限值時,使用這個擴展包的規(guī)則將進行匹配。 (除非 使用了 ! 標記,他的擴展選項包括:-limit rate :最大平均匹配速率, 可賦的值有 /second、 /minute、 /hour或 /day這樣的單位,默認是 3/hour;-limit-burst number:待匹配包初始個數(shù)的最大值。若前面指定的極限還沒達到這 個數(shù)值,則該數(shù)字加 1。默認值是 5。multiport :這個模塊匹配一組源端口或目標端口,最多可以指定 1

11、5個端口。只能和 -p tcp或者 -p udp連著使用:-source-portport,port:如果源端口是其中一個給定端口,則匹配;-destination-portport,port:如果目標端口是其中一個給定端口,則匹配; -portport,port:若源端口和目的端口相等并與某個給定端口相等,則匹配。owner :此擴展為本地生成包匹配包的創(chuàng)建者,只能用于 OUTPUT 鏈,而且,有一些包 (如 ICMP ping應答還可能沒有所有者,因此永遠不會匹配:-uid-owner userid:如果給出有效的 user id,那么匹配他的進程產(chǎn)生的包; -gid-owner grou

12、pid:如果給出有效的 group id,那么匹配它的進程產(chǎn)生的包; -sid-owner sessionid:根據(jù)給出的會話組成匹配該進程產(chǎn)生的包。REJECT :作為對匹配的包的相應,返回一個錯誤的包,其他情況下和 DROP 相同。此目 標只適用于 INPUT 、 FORWARD 和 OUTPUT 鏈, 以及調(diào)用這些鏈的用戶自定義鏈。 這幾個選項控 制返回的錯誤包的特性:-reject-with type:其中的 type 可以是 icmp-net-unreachable 、icmp-host-unreachable 、 icmp-port- unreachable、 icmp-porto

13、-unreachable 、icmp-net-prohibited 或者 icmp-host- prohibited , 該類型會返回相應的 ICMP 錯誤信息 (默 認是 port-unreachable 。選項 echo-reply 也是允許的;它只能用 于指定 ICMP ping包 的規(guī)則中,生成 ping 的回應。SNAT :這個目標只適用于 nat 表的 POSTROUTING 鏈。它規(guī)定修改包的源地址(此連接 以后所有的包都會被影響,停止對規(guī)則的檢查:-to-source :port-port:可以指定一個單一的新 IP 地址,一個 IP 地址 范圍,也可以附加一個端口范圍(只能

14、在指定 -p tcp或者 -p udp的規(guī)則里。如果未指定端口范圍,源端口是 512以下的端口惠 被安排為其他的 512以下的端口; 512到 1024之間的端口會被安排為 1024以下 的,其他 端口會被安排為 1024或以上。如果可能,端口不會被修改;-to-destiontion :port-port:可以指定一個單一的新的 IP 地址,一個 IP 地址范圍,也可以附加一個端口范圍(只 能在指定 -p tcp或者 -p udp的規(guī)則里。如果未指定端口范圍,目標端口不會被修改。MASQUERADE :只用于 nat 表的 POSTROUTING 鏈。只能用于動態(tài)獲 取 ip (撥號連接:如

15、果擁有靜態(tài) IP 地址,要用 SNAT 。偽裝相當于給包發(fā)出時所經(jīng)過接口的 IP 地址設置一個 映像,當借口關閉時,連接會終止。這是因 為,當下一次撥號時,未必是相同的接口地址 (以后所有建立的連接都將關閉。他有一個選項:-to-ports :指定使用的源端口范圍,覆蓋默認的 SNAT 源地址選擇。這個選項只 適用于指定了 -p tcp或者 -p udp的規(guī)則。REDIRECT :只適用于 nat 表的 PREROUTING 和 OUTPUT 鏈,以及只調(diào)用他們的用戶定義 鏈。 他修改包的目標 IP 地址來發(fā)送包到機器自身 (本地生成的包被安置為地址 , 包含一個選項:-t

16、o-ports :指定使用的目的端口或端口范圍:不指定的話, 目標端口不會被修改。 只能用于指定了 -p tcp或者 -p udp的規(guī)則。3 包過濾設置舉例:假如有這樣一個局域網(wǎng),內(nèi)部 IP 地址范圍 -254,網(wǎng)關地址 為 ,綁定在 eth0接口上,同時,網(wǎng)關具有外部 Internet 地址為 ,綁 定在 eth1接口上, 防火墻就位于網(wǎng) 關上, 通過它的設置, 對流經(jīng)防火墻的網(wǎng)絡包進行過濾 處理。同時,在局域網(wǎng)內(nèi)部有一臺 WWW 服務器,他的內(nèi)部地址為 ,他被設置為 可以 接受外部的網(wǎng)絡用戶訪問。首先清空所

17、有的規(guī)則鏈, 并設置規(guī)則鏈的默認策略為 DROP , 即丟棄所有的網(wǎng)絡數(shù)據(jù)包。 iptables -Fiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP新增用戶者自定義規(guī)則鏈 bad_tcp_packets、 allowed 和 icmp_packets。iptables -N bad_tcp_packetsiptables -N allowediptables -N icmp_packets下面定義 bad_tcp_packets規(guī)則鏈的規(guī)則:將要求重導向的網(wǎng)絡連接記錄起來,然后 將報文丟棄(防止本地機器

18、被其他主機作為入侵跳板,侵入別的主機:iptables -A bad_tcp_packets -p TCP ! -syn -m state -state NEW -j LOG -log-level INFO -log-prefix New not syn:iptables -A bad_tcp_packets -p TCP ! -syn -m state -state NEW -j DROP下面定義 allowed 規(guī)則鏈的規(guī)則:允許要求連接的網(wǎng)絡數(shù)據(jù)包或相應包進入,將其與 網(wǎng)絡數(shù)據(jù)包丟棄:iptables -A allowed -p TCP -syn -j ACCEPTiptables -A

19、 allwoed -p TCP -m state -state ESTABLLSHED,RELATED -J ACCEPT IPTABLES -A allowed -p TCP -j DROP下面定義 icmp_packets規(guī)則鏈的規(guī)則:允許 ping 網(wǎng)絡數(shù)據(jù)包進入,將其余的網(wǎng)絡數(shù) 據(jù)包丟棄:iptables -A icmp_packets -p ICMP -s 0/0 -icmp-type 8 -j ACCEPTiptables -A icmp_packets -p ICMP -s 0/0 -icmp-type 11 -j ACCEPTINPUT 鏈,過濾要到達防火墻的網(wǎng)絡數(shù)據(jù)包。進入防

20、火墻主機的 TCP 網(wǎng)絡數(shù)據(jù)包必須先進行 bad_tcp_packets過濾:iptables -A INPUT -p TCP -j bad_tcp_packets從 WAN 進入防火墻主機的 ICMP 網(wǎng)絡數(shù)據(jù)包,必須先進行 icmp_packets過濾,這是為 了避免黑客傳送不完整的 IP 網(wǎng)絡數(shù)據(jù)包, 系統(tǒng)會相應 ICMP 網(wǎng)絡數(shù)據(jù)包, 以通知對方, 導致 主機位置被偵測出來:iptables -A INPUT -p ICMP -i eth1 -j icmp_packets從 LAN 進入防火墻主機的全部單播和廣播的網(wǎng)絡數(shù)據(jù)包,均會放行:iptables -A INPUT -p ALL

21、-i eth0 -d -j ACCEPTiptables -A INPUT -p ALL -i eth0 -d 55 -j ACCEPT從 LAN 進入防火墻主機的 DHCP 網(wǎng)絡數(shù)據(jù)包,予以放行,只有當防火墻擔任 DHCP 時才 使用:iptables -A INPUT -p UDP -i eth0 -dport 67 -sport 68 -j ACCEPT從 WAN 進入防火墻主機的所有網(wǎng)絡數(shù)據(jù)包,檢查是否為響應網(wǎng)絡數(shù)據(jù)包,若是則予以 放行:iptables -A INPUT -p ALL -d -m state -stat

22、e ESTABLISHED,RELATED -j ACCEPT限制過濾規(guī)則的檢測頻率為每分鐘平均流量三個網(wǎng)絡數(shù)據(jù)包(超過上限的網(wǎng)絡數(shù)據(jù) 包將暫停檢測, 并將瞬間流量設定為一次最多處理三個網(wǎng)絡數(shù)據(jù)包 (超過上限的網(wǎng)絡數(shù)據(jù)包 將丟棄不予處理,這類網(wǎng)絡數(shù)據(jù)包通常是黑客用來進行拒絕服務攻擊:iptables -A INPUT -m limit -limit 3/minute -limit-burst 3 -j LOG -log-level INFO -log-prefix IPT INPUT packet died:FORWAD 鏈,過濾要通過防火墻的網(wǎng)絡數(shù)據(jù)包通過防火墻的 TCP 網(wǎng)絡數(shù)據(jù)包必須先進

23、行 bad_tcp_pcakets過濾:iptables -A FORWAD -P TCP -J bad_tcp_packets從 LAN 要到 WAN 的網(wǎng)絡數(shù)據(jù)包均放行:iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT從 WAN 到 LAN 的網(wǎng)絡數(shù)據(jù)包僅放行應答網(wǎng)絡數(shù)據(jù)包:iptables -A FORWARD -i eth1 -o eth0 -m state -state ESTABLISHED,RELATED -j ACCEPT允許來自 WAN 的 PING 網(wǎng)絡數(shù)據(jù)包,遞送到局域網(wǎng)內(nèi)的 WWW 服務器:iptables -A FORWARD

24、 -p ICMP -i eth1 -o eth0 -d -j icmp_packets 允許來自 WAN 的 HTTP,HTTPS 網(wǎng)絡數(shù)據(jù)包,遞送到局域網(wǎng)的 WEB 服務器:iptables -A FORWARD -p TCP -i eth1 -o eth0 -d -m multiport -dport 80,443 -j allowed限制過濾規(guī)則的檢測頻率為每分鐘平均流量 3各網(wǎng)絡數(shù)據(jù)包(超過上限的網(wǎng)絡數(shù)據(jù)包 將暫停檢測 , 并將瞬間流量設定為一次最多處理 3個數(shù)據(jù)包 (超過上限的網(wǎng)絡數(shù)據(jù)包將被 丟棄不予處理,這類網(wǎng)絡數(shù)據(jù)包通常是黑客用來進

25、行拒絕服務攻擊:iptables -A FORWARD -m limit -limit 3/minute -limit-burst 3 -j LOG -log-level DEBUG -log-prefix IPT FORWARD packet died:OUTPUT 鏈,過濾從防火墻送出的網(wǎng)絡數(shù)據(jù)包。從防火墻送出的 TCP 網(wǎng)絡數(shù)據(jù)包必須先進行 bad_tcp_packets過濾:iptables -A OUTPUT -p TCP -j bad_tcp_packets對于過濾通過的 TCP 包和其他類型的包,均會放行:iptables -A OUTPUT -p ALL -s 127.0.0.

26、1 -j ACCEPTiptables -A OUTPUT -p ALL -s -j ACCEPTiptables -A OUTPUT -p ALL -s -j ACCEPT限制過濾規(guī)則的檢測頻率為每分鐘平均流量 3各網(wǎng)絡數(shù)據(jù)包(超過上限的網(wǎng)絡數(shù)據(jù)包 將暫停檢測 , 并將瞬間流量設定為一次最多處理 3個數(shù)據(jù)包 (超過上限的網(wǎng)絡數(shù)據(jù)包將被 丟棄不予處理,這類網(wǎng)絡數(shù)據(jù)包通常是黑客用來進行拒絕服務攻擊:iptables -A OUTPUT -m limit -limit 3/minute -limit-burst 3 -j LOG -log-level D

27、EBUG -log-prefix IPT OUTPUT packet died:4.NAT 配置1 目的 NAT(DNATDNAT 在外部數(shù)據(jù)包進入防火墻后且路由之前進行,他把該數(shù)據(jù)包的目的地址改為內(nèi)部 局域網(wǎng)的地址,然后路由該數(shù)據(jù)包進入到局域網(wǎng)內(nèi)部主機。舉例:iptables -t nat -A PREROUTING -t tcp -d -dport 80 -i eth1 -j DNAT -to :80說明:可以路由到達防火墻的訪問 80端口(即 WWW 服務器的數(shù)據(jù)包的目的地址改為 。2 源 NAT(SNATSNAT 主要用來

28、更改從防火墻發(fā)出的數(shù)據(jù)包的源地址,使得來自局域網(wǎng)的私有地址通過 防火墻后, 更改為防火墻具有的外部地址, 以便數(shù)據(jù)接收方接收數(shù)據(jù)后, 能夠找到正確的回 復地址。舉例:iptables -t nat -A POSTROUTING -s /24 -o eth0 -j SNAT -to 說明:更改所有來自 /24的數(shù)據(jù)包的源 IP 地址為 注意:系統(tǒng)在經(jīng)過路由及過濾等處理后,直到數(shù)據(jù)包要送出時,才進行 SNAT ,有一種 SANT 的特殊情況是 IP 偽裝,通常建議在用撥號上網(wǎng)時使用,也就是在合法 IP 地址不固定 的情

29、況下使用。舉例:iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE說明:這樣可以保證局域網(wǎng)內(nèi)部的用戶能夠所有通過撥號服務器連接到 INTERNET 。 5. 緩存代理 squid1 安裝包squid-2.5.STABLE1-22 主要配置文件/etc/squid/squid.conf內(nèi)容:http_port:指定了 squid 監(jiān)聽客戶請求的端口, 默認值是 3128。 要使用代理, 建議這 個端口值和運行 squid 的機器 ip 地址一起使用;舉例:http_port :3128說明:squid 綁定在 ip 地址

30、 上,端口為 3128。cache_mgr:當代理頁面發(fā)生錯誤時,代理服務器將向這個配置項登記的用戶發(fā)送郵件 消息,將它配置為管理員的實際郵件地址;舉例:cache_mgr shuke說明:當代理頁面發(fā)生錯誤,給 shuke發(fā)送消息。http_access:允許 HTTP 訪問,這個是主要的訪問控制列表。默認拒絕所有的訪問。 舉例:http_access allow all說明:接受所有訪問。cache_dir:定義磁盤緩存空間,以存儲訪問過的頁面或其他資源的拷貝。格式:cache_dir Type Directory-Name Fs-specific-data opti

31、ons說明:Type :存儲類型,一般設置為 ufs ;Directory-Name :代表緩存的位置,默認的設置是 cache_dir ufs /var/spool/squid 100 16 256,其中, 100代表緩存空間最大為 100M ; 16到 256代表緩存目錄下的一級和二 級目錄數(shù)目。啟動命令:/etc/rc.d/init.d/squid start客戶端需要進行的設置:IE 瀏覽器選項 -局域網(wǎng)設置 -選中代理服務器和對本地地址不使用代理服務器,填寫代 理的 IP 地址和端口號。3 squid.conf的 13個配置選項:NETWORK OPTIONS (有關的網(wǎng)絡選項 :O

32、PTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM (作用于鄰居選擇算法 的有關選項 :OPTIONS WHICH AFFECT THE CACHE SIZE (定義 cache 大小的有關選項:LOGFILE PATHNAMES AND CACHE DIRECTORIES (定義日志文件的路徑及 cache 的目錄 OPTIONS FOR EXTERNAL SUPPORT PROGRAMS (外部支持程序選項OPTIONS FOR TUNING THE CACHE (調(diào)整 cache 的選項TIMEOUTS (超時ACCESS CONTR

33、OLS (訪問控制ADMINISTRATIVE PARAMETERS (管理參數(shù)OPTIONS FOR THE CACHE REGISTRATION SERVICE (cache 注冊服務選項HTTPD-ACCELERATOR OPTIONS (HTTPD 加速選項MISCELLANEOUS (雜項DELAY POOL PARAMETERS (延時池參數(shù)網(wǎng)絡選項:tcp_incoming_address指定監(jiān)聽來自客戶或其他 squid 代理服務器的綁定 ip 地址; tcp_outgoing_address指定向遠程服務器或其他 squid 代理服務器發(fā)起連接的 ip 地址udp_incom

34、ing_address為 ICP 套接字指定接收來自其他 squid 代理服務器的包的 ip 地址 udp_outgoing_address為 ICP 套接字指定向其他 squid 代理服務器發(fā)送包的 ip 地址;缺省為沒有綁定任何 ip 地址。 該綁定地址可以用 ip 指定,也可以用完整的域名指定。 交換空間設定選項:cache_swap_low (percent, 0-100cache_swap_high (percent, 0-100說明:squid 使用大量的交換空間來存儲對象。 那么, 過了一定的時間以后, 該交換 空 間就會用完,所以還必須定期的按照某種指標來將低于某個水平線的對象

35、清除。 squid 使用 所謂的“最近最少使用算法”(LRU 來做這一工作。當已使用 的交換空間達到cache_swap_high時, squid 就根據(jù) LRU 所計算的得到每個對象的值將低于某個水平線的對 象清除。這種清除工作一直進行直 到已用空間達到 cache_swap_low。這兩個值用百分比表 示, 如果你所使用的交換空間很大的話, 建議你減少這兩個值得差距, 因為這時一個百分點 就 可能是幾百兆空間,這勢必影響 squid 的性能。缺省為:cache_swap_low 90cache_swap_high 95maximum_object_size說明:大于該值得對象將不被存儲。如

36、果你想要提高訪問速度,就請降低該值;如果 你想最大限度地節(jié)約帶寬,降低成本,請增加該值。單位為 K ,缺省值為:maximum_object_size 4096 KB有關日志的選項:cache_access_log:說明:指定客戶請求記錄日志的完整路徑(包括文件的名稱及所在的目錄,該請求 可以 是來自一般用戶的 HTTP 請求或來自鄰居的 ICP 請求。缺省值為:cache_access_log /var/log/squid/access.log,如果你不需要該日志,可以用以下語句取消:cache_access_log none;cache_store_log說明:指定對象存儲記錄日志的完整路

37、徑(包括文件的名稱及所在的目錄。該記錄 表明 哪些對象被寫到交換空間,哪些對象被從交換空間清除。缺省路徑為:cache_log /var/log/squid/cache.log, 如果你不需要該日志, 可以用以下語句取消:cache_store_log none ;cache_log:說明:指定 squid 一般信息日志的完整路徑(包括文件的名稱及所在的目錄。缺省 路徑為:cache_log /var/log/squid/cache.log;cache_swap_log:說明:該選項指明每個交換空間的“swap.log”日志的完整路徑 (包括文件的名 稱及 所在的目錄。該日志文件包含了存儲在交

38、換空間里的對象的元數(shù)據(jù)(metadata 。通常, 系統(tǒng)將該文件自動保存在第一個“cache_dir”說 定義的頂級目錄里, 但是你也可以指定其 他的路徑。如果你定義了多個“cache_dir”,則相應的日志文件可能是這樣的:cache_swap_log.00cache_swap_log.01cache_swap_log.02后面的數(shù)字擴展名與指定的多個“cache_dir”一一對應。需要注意的是, 最好不要刪 除這類日志文件,否則 squid 將不能正常工作;pid_filename:說明:指定記錄 squid 進程號的日志的完整路徑(包括文件的名稱及所在的目錄。 缺省路徑為pid_file

39、name /var/run/squid.pid,如果你不需要該文件,可以用以下語句取消: pid_filename none;debug_options:說明:控制作日志時記錄信息的多寡。 可以從兩個方面控制:section 控制從幾個方面 作記錄; level 控制每個方面的記錄的詳細程度。推薦的方式(也是缺省方式是:debug_options ALL,1,即,對每個方面都作記錄,但詳細程度為 1(最低 ;log_fqdn on|off:說明:控制在 access.log 中對用戶地址的記錄方式。 打開該選項時, squid 記錄客戶 的完整域名,取消該選項時, squid 記錄客戶的 ip

40、 地址。注意,如果打開該選項會增加系 統(tǒng)的 負擔,因為 squid 還得進行客戶 ip 的 DNS 查詢。缺省值為:log_fqdn off。有關外部支持程序的選項:ftp_user:說明:設置登錄匿名 ftp 服務器時的提供的電子郵件地址, 登錄匿名 ftp 服務器時要 求 用你的電子郵件地址作為登錄口令(更多的信息請參看本書的相關章節(jié)。需要注意的是, 有的匿名 ftp 服務器對這一點要求很苛刻,有的甚至會檢查你的電子 郵件的有效性。缺省 值為:ftp_user Squid;ftp_list_width:說明:設置 ftp 列表的寬度,如果設得太小將不能的瀏覽到長文件名。缺省值為: ftp_

41、list_width 32;cache_dns_program:說明:指定 DNS 查詢程序的完整路徑(包括文件的名稱及所在的目錄。缺省路徑為: cache_dns_program /usr/lib/squid/dnsserver;dns_children:說明:設置 DNS 查詢程序的進程數(shù)。 對于大型的登錄服務器系統(tǒng), 建議該值至少為 10。 最大值可以是 32,缺省設置為 5個。注意,如果你任意的降低該值,可能會使系統(tǒng)性能急 劇降低,因為 squid 主進程要等待域名查詢的結(jié)果。沒有必要 減少該值,因為 DNS 查詢進 程并不會消耗太多的系統(tǒng)的資源;dns_nameservers:說明:

42、指定一個 DNS 服務器列表,強制 squid 使用該列表中的 DNS 服務器而非使用 /etc/resolv.conf文件中定義的 DNS 服務器。你可以這樣指定多個 DNS 服務器:dns_nameservers 缺省設置為:dns_nameservers none;unlinkd_program:說明:指定文件刪除進程的完整路徑。缺省設置為:unlinkd_program/usr/lib/squid/unlinkd;pinger_program:說明:指定 ping 進程的完整路徑。 該進程被 squid 利用來測量與其他鄰居的路由距離。 該選項只

43、在你啟用了該功能時有用。缺省為:pinger_program /usr/lib/squid/pinger;authenticate_program:說明:指定用來進行用戶認證的外部程序的完整路徑。 squid 的用戶認證功能我們將在 后面的章節(jié)講述。缺省設置為不認證。用戶訪問控制選項:acl :說明:定義訪問控制列表。定義語法為:acl aclname acltype string1 .acl aclname acltype file .當使用文件時,該文件的格式為每行包含一個條目。acltype 可以是 src dst srcdomain dstdomain url_pattern urlp

44、ath_pattern time port proto method browser user 中的一種。分別說明如下:src 指明源地址??梢杂靡韵碌姆椒ㄖ付?acl aclname src ip-address/netmask . (客戶 ip 地址 acl aclname src addr1-addr2/netmask . (地址范圍 dst 指明目標地址。語法為:acl aclname dst ip-address/netmask . (即客戶請求的服務器的 ip 地址 srcdomain 指明客戶所屬的域。語法為:acl aclname srcdomain . squid將根據(jù)客戶

45、ip 反向查詢 DNS 。dstdomain 指明請求服務器所屬的域。語法為:acl aclname dstdomain . 由客戶請求的 URL 決定。注意, 如果用戶使用服務器 ip 而非完整的域名時, squid 將進行反向的 DNS 解析來確 定 其完整域名,如果失敗就記錄為“none”。time 指明訪問時間。語法如下:acl aclname time day-abbrevs h1:m1-h2hh:mm-hhday-abbrevs :S - SundayM - MondayT - TuesdayW - WednesdayH - ThursdayF - FridayA - Saturd

46、ayh1:m1 必須小于 h2:m2,表達示為 hh:mm-hh。port 指定訪問端口??梢灾付ǘ鄠€端口,比如:acl aclname port 80 70 21 .acl aclname port 0-1024 . (指定一個端口范圍proto 指定使用協(xié)議。可以指定多個協(xié)議:acl aclname proto HTTP FTP .method 指定請求方法。比如:acl aclname method GET POST .各類超時設置選項:negative_ttl time-units:說明:設置消極存儲對象的生存時間。所謂的消極存儲對象,就是諸如“連接失敗” 及 404 Not Foun

47、d等一類錯誤信息。缺省設置為 5分鐘;舉例:negative_ttl 5 minutespositive_dns_ttl time-units:說明:設置緩存成功的 DNS 查詢結(jié)果的生存時間。缺省為 6小時;舉例:positive_dns_ttl 6 hoursnegative_dns_ttl time-units:說明:設置緩存失敗的 DNS 查詢結(jié)果的生存時間。缺省為 5分鐘;舉例:negative_dns_ttl 5 minutesconnect_timeout time-units:說明:設置 squid 等待連接完成的超時值。缺省值為 2分鐘;舉例:connect_timeout

48、120 secondsread_timeout time-units:說明:如果在指定的時間內(nèi) squid 尚未從被請求的服務器讀入任何數(shù)據(jù),則 squid 將 終止該客戶請求。缺省值為 15分鐘;舉例:read_timeout 15 minutesrequest_timeout:說明:設置在建立與客戶的連接后, squid 將花多長時間等待客戶發(fā)出 HTTP 請求。缺 省值為 30秒。舉例:request_timeout 30 seconds;client_lifetime time-units:說明:設置客戶在與 squid 建立連接后,可以將該連接保持多長時間;注意,因為客戶建立的每個連

49、接都會消耗一定的系統(tǒng)資源,所以如果你是為一個大型 網(wǎng)絡 提供代理服務的話, 一定要正確地修改該值。 因為如果同一時間的連接數(shù)量太大的話, 可能會消耗大量的系統(tǒng)資源,從而導致服務器宕機。缺省值為 1天,該值太大 了,建議根 據(jù)你自己的情況適當減小該值。舉例:client_lifetime 1 dayhalf_closed_clients on/off:說明:有時候由于用戶的不正常操作, 可能會使與 squid 的 TCP 連接處于半關閉狀 態(tài), 這時候,該 TCP 連接的發(fā)送端已經(jīng)關閉,而接收端正常工作。缺省地, squid 將一直保持這 種處于半關閉狀態(tài)的 TCP 連接,直到返回套接字的讀寫錯

50、誤 才將其關閉。如果將該值設為 off ,則一旦從客戶端返回“no more data to read”的信息, squid 就立即關閉該連接;舉例:half_closed_clients onpconn_timeout:說明:設置 squid 在與其他服務器和代理建立連接后, 該連接閑置多長時間后被關閉。 缺省值為 120秒;舉例:pconn_timeout 120 secondsident_timeout:說明:設置 squid 等待用戶認證請求的時間。缺省值為 10秒;舉例:ident_timeout 10 secondsshutdown_lifetime time-units:說明:當

51、收到 SIGTERM 或者 SIGHUP 信號后 , squid將進入一種 shutdown pending的 模式, 等待所有活動的套接字關閉。 在過了 shutdown_lifetime所定義的時間后, 所有活動 的用戶都將收到一個超時信息。缺省值為 30秒;舉例:shutdown_lifetime 30 seconds管理參數(shù)選項:cache_mgr:說明 :設置管理員郵件地址。缺省為管理員;舉例:cache_mgr rootcache_effective_user / cache_effective_group:說明:如果用 root 啟動 squid , squid 將變成這兩條語句

52、指定的用戶和用戶 組。缺省 變?yōu)?squid 用戶和 squid 用戶組。 注意這里指定的用戶和用戶組必須真是存在于 /etc/passwd中。如果用非 root 帳號啟動 squid,則 squid 將保持改用戶及用戶組運行,這時候,你不 能指定小于 1024地 http_port;舉例:cache_effective_user squidcache_effective_group squidvisible_hostname:說明:定義在返回給用戶的出錯信息中的主機名;舉例:visible_hostname unique_hostname:說明:如果你有一個

53、代理服務器陣列,并且你為每個代理服務器指定了同樣的“visible_hostname”,同時你必須為它們指定不同的“unique_hostname”來避免 “forwarding loops ”(傳輸循環(huán)發(fā)生。其它雜項:1. dns_testnames說明:設置進行 DNS 查詢測試 , 如果第一個站點解析成功則立即結(jié)束 DNS 查詢測試。如 果你不愿意進行 DNS 查詢測試,就不要去掉缺省的設置;舉例:#dns_testnames logfile_rotate:說明:通常, squid 會定期的將日志文件更名并打包。比如正在使用的日志文件為 access.log,squid 會將其更名并打包為 access.log.1.gz ;過了一定時間后, squid 又會將 access.log.1.gz 更名為 access.log.2.gz 并將當前的日志文件更名并打包為 acces

溫馨提示

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

最新文檔

評論

0/150

提交評論