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