實驗需求:搭建squid代理服務器,使內網主機192.168.100.1能夠訪問公網web服務器1.1.1.1
192.168.100.254/24
eth0(內網接口)
內網客戶端主機192.168.100.1-------------squid代理服務器-------------- 公網web服務器1.1.1.1
eth1(公網接口)
1.1.1.254/8
一.搭建squid代理服務器
1.安裝提供代理服務的軟件包
# yum -y install squid
2.修改主配置文件
# vim /etc/squid/squid.conf
……
59 #http_access deny all
60 http_access allow all //允許所有用戶使用
……
66 cache_mem 8 MB
67 minimum_object_size 0 KB //小於多少KB數據不要緩存,0爲不限制
68 maximum_object_size 4096 KB //大於4MB數據不要緩存
69 cache_swap_low 90
70 cache_swap_high 95 //磁盤使用量超過95%開始刪除舊緩存,直到90%爲止
71 # Uncomment and adjust the following to add a disk cache directory.
72 cache_dir ufs /var/spool/squid 100 16 256
……
3.啓動服務
# service squid start
# chkconfig squid on
4.啓動公網服務器1.1.1.1web服務,並製作測試網頁
5.配置客戶端並測試I
在瀏覽器裏指定代理服務器的ip地址(192.168.100.254)和端口號(3128)
客戶端訪問公網網址服務器
http://1.1.1.1/網頁文件名,若能訪問則測試成功
二.將上述實驗修改爲透明代理(必須在客戶端的網關主機上搭建)
(客戶端不用在瀏覽器裏指定代理服務器的ip地址和端口號,就可以直接訪問公網上的網站服務器)
1.修改squid服務的代理方式爲透明代理
vim /etc/squid/squid.conf
63 http_port 3128 transparent
service squid restart
2.在代理服務器上配置防火牆規則,把本機接收到的訪問目標端口是80和443的請求轉給本機的3128端口。
# iptables -t nat -A PREROUTING -s 192.168.100.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# iptables -t nat -A PREROUTING -s 192.168.100.0/24 -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 312
# service iptables save
3.客戶端添加網關並測試
# route add default gw 192.168.100.254
客戶端取消瀏覽器的代理設置
直接反問http://1.1.1.1/網頁文件名,若能訪問則測試成功