天天看點

Squid代理伺服器

首先安裝squid-2.6.STABLE21-6.el5軟體包,以rpm方式即可。

作為應用層的代理服務軟體,squid主要提供緩存加速,應用層過濾控制的功能。

代理的基本類型

(一)傳統代理

必須在客戶機端手動設定代理伺服器的位址和端口,而且通路網頁的域名解析請求也會發給指定的代理伺服器。

實際應用中傳統代理多見于Internet環境,而透明代理多見于區域網路環境。

(二)透明代理

與傳統代理服務和功能相同,但是,客戶機端不需要指定代理伺服器的位址和端口,也可使用代理服務。使用透明代理時,域名解析請求會優先發給DNS伺服器。

Squid配置檔案常用的配置項

http_port 3128 :預設端口為3128,也可以在端口前面加IP。

cache_mem 64 MB :指定用于緩存的記憶體空間大小,應為4的倍數,建議設為實際記憶體的1/4到1/3,具體根據伺服器的性能和負載而定。

maximum_object_size 4096 KB :允許儲存到緩存空間的最大對象大小,一般以KB為機關,超過大小限制将不會被緩存,而是直接轉發給使用者。

reply_body_max_size 10240000 allow all :允許使用者下載下傳的最大檔案大小,以位元組(byte)為機關,預設為0,表示不進行限制。其中,all為預設的通路控制清單,針對任意位址的使用者。

cache_dir ufs /var/spool/squid 100 16 256 :指定緩存資料所存放的目錄,容量,子目錄個數等相關參數。

access_log /var/log/squid/access.log squid :指定代理服務的日志檔案位置及記錄格式(squid)。

visible_hostname localhost.localdomain :指定代理伺服器本機的可見主機名。

dns_testnames www.baidu.com www.sina.com www.163.com :用來執行DNS解析測試,以確定squid伺服器自身的DNS查詢功能正常。

建構傳統代理伺服器:

1.修改squid.conf配置檔案

[root@server ~]#vim /etc/squid/squid.conf

http_port 3128

visible_hostname localhost.localdomain

reply_body_max_size 10240000 allow all

http_access allow all                    //放在http_access deny all之前

2.初始化并啟動squid服務

[root@server ~]#service squid start

[root@server ~]#squid -z             //-z選項用來初始化緩存目錄

[root@server ~]#squid -D             //啟動squid服務,-D選項表示不進行DNS測試

[root@server ~]#service squid reload

3.在客戶機中指定代理

IE:"Internet選項"--"區域網路LAN設定"

Firefox:"首選項"--"進階"--"網絡連接配接"

建構透明代理伺服器:

1.配置squid支援透明代理

http_port 192.168.1.1:3128 transparent

2.設定iptables重定向政策

[root@server ~]#iptables -t nat -A PREROUTING -i 入站網卡 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to 3128

3.去除手動代理

繼續閱讀