首先查看RHEL-C的squid有沒有安裝(系統(tǒng)默認已裝)
rpm -q squid
進入squid配置文件
vi /etc/squid/squid.conf
搜索http_port 3128,將3128端口號改為8080
搜索acl our_networks,定義acl,名稱our_networks,設為允許,將源地址改為主機所在的網(wǎng)段192.168.10.0/24。否則默認只允許本地回環(huán)口訪問。
保存后退出,然后啟動squid。在啟動之前,必須保證squid有完整的域名
vi /etc/hosts
接下來對squid服務器進行初始化,目的是在squid服務器工作目錄中建立緩存子目錄。
squid -z
查看squid子目錄,可以發(fā)現(xiàn)多了16個子目錄
*****************************************************
squid子目錄大小涉及到squid服務器性能問題,默認情況下一級子目錄16個,二級子目錄256個??梢栽趕quid.conf中修改每個目錄容量大?。?/p>
cache_dir ufs /var/spool/squid 100 16 256
其中/var/spool/squid代表工作路徑,目錄最大容量100M,一級子目錄16個,二級子目錄256個。
另外可以修改緩沖內(nèi)存大小,建議設置為物理內(nèi)存三分之一,例:
chche_mem 8 MB
*****************************************************
開啟squid服務
service squid start
查看8080端口是否開啟
這時回到windows主機上,設置IE瀏覽器的“internet選項”-“連接”-“局域網(wǎng)設置”,將代理服務器IP和端口填進去
這時候訪問外網(wǎng)地址http://198.2.3.1,就可以成功訪問了(模擬外網(wǎng)的linux主機要記得開啟httpd服務)。
二、透明代理服務器配置
前面有說過,透明代理只能在網(wǎng)關上配置。因此這次需要修改RHEL-B的squid.conf文件。先將RHEL-B原先的NAT刪除,使得windows PC和RHEL-B均不能訪問外網(wǎng),仍然引用之前那個拓撲:
和之前一樣,首先修改允許訪問的網(wǎng)段
找到http端口號位置,在后面加個transparent,就代表代理服務器時以透明模式運行的。
接下來對squid服務器進行初始化
squid -z
重啟squid服務
service squid reload
查看3128端口有沒有開啟
netstat -ntl
訪問外網(wǎng)地址
http://198.2.3.1
,就可以成功訪問了(注意清空之前的cookie,而且網(wǎng)關的httpd服務不能開啟,否則80端口會被占用)。
*****************************************************
如果網(wǎng)關做了NAT,而靜態(tài)透明代理需要在SNAT之前執(zhí)行的話,需要輸入以下iptables命令:
iptables -t nat -A PREOUTING -s 192.168.10.0/24 -p tcp -dport 80 -j REDIRECT–to-ports 3128