一、傳統代理
(一)需求分析
局域網內,客戶機訪問自家的Web服務器,通過Squid代理服務器訪問Web服務器,再由Squid反饋給客戶機;在Squid主機上,構建Squid為客戶機訪問網站提供代理服務,但禁止通過代理下載超過10MB大小的文件,在客戶機上,指定Squid主機作為Web訪問代理

(二)配置
1、在Squid服務器上的配置:
1 ~]#vim /etc/squid.conf 2 添加 3 reply_body_max_size 10 MB #允許下載的最大文件大小為10MB,注意10和MB中間有空格 4 http_access allow all #訪問策略:允許所有主機訪問Squid服務器 5 注意:這兩個參數的順序不能改變,reply要在上面 6 ~]#service squid restart 7 ~]#iptables -I INPUT -p tcp --dport 3128 -j ACCEPT # squid服務器的防火牆要設置允許訪問3128端口 8 ~]#service iptables save
2、客戶機上的設置
(1)windows客戶機下的設置
如圖:打開瀏覽器,進入Internet選項→連接→局域網設置

(2)linux客戶機下的設置
如果有firefox的話,也可以像windows下IE那樣設置,如果是elinks、ftp、Wget的話,需要修改linux主機的環境變量
1 ~]#vim /etc/profile 2 添加 3 HTTP_PROXY=https://192.168.10.55:3128 #設置瀏覽器訪問的代理地址 4 FTP_PROXY=https://192.168.10.55:3128 #設置ftp訪問時的代理地址 5 NO_PROXY=https://192.168.1.,182.168.2. #意思是1網段和2網段的訪問地址不需要代理 6 export HTTP_PROXY NO_PROXY #把這三個變量設為全局變量 7 ~]#source /etc/profile #使環境變量配置文件生效
(三)、效果驗證
查看Squid服務器日志
~]# vim /etc/usr/local/squid/var/logs/access.log
或者查看Web服務器的日志
二、透明代理
(一)需求分析
Linux網關提供透明代理服務,局域網通過代理訪問Internet中的網站,因此在客戶機上不需要制定代理服務器,只需要設置默認網關就行。

(二)配置
1、配置Squid代理服務
1 ~]#vim /etc/squid.conf 2 修改 3 http_port 192.168.10.55:3128 transparent (后面的單詞代表支持透明代理,因為這個代理服務器又是網關服務器,所以有倆網卡,因此要把ip地址和端口詳細寫好) 4 http_access allow all (允許所有人訪問) 5 ~]#service squid reload 6 ~]#iptables -t nat -I PREROUTING -i eth0 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 # 設置重定向,把通過網關服務器的80端口請求重定向為3128端口請求,因為squid沒有80端口,不重定向的話數據包會被丟棄 7 ~]#service iptables save
2、客戶機上的設置
只需要把網關設置為192.168.10.55(網關服務器)即可
