Squid反向代理部署
架构如下图:代理服务器有双网卡,eth0接内网,eth1接外网
内网IP:192.168.1.0/24
外网IP:1.1.1.0/24
eth0:192.168.1.254
web_a 192.168.1.1 ----------| Squid代理 |-------------- internet_pc(1.1.1.1)
eth1:1.1.1.254
1.源码包安装
#wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz #下载
#tar zxvf squid-3.0.STABLE25.tar.gz #解压
#cd squid-3.0.STABLE25
#./configure --prefix=/usr/local/squid / #配置
--enable-arp-acl /
--enable-linux-netfilter /
--enable-pthreads /
--enable-err-language="Simplify_Chinese" /
--enable-default-err-language="Simplify_Chinese" /
--enable-underscores /
--disable-internal-dns /
--enable-pf-transparent /
--enable-referer-log /
--enable-internal-dns #做多个网站反向代理时使用,允许使用内部dns
#make #编译
#make install #安装
2.配置squid.conf
#vim /etc/squid/squid.conf
http_port3128 vhost vport #squid默认监听的端口号
cache_mem 1024MB #默认缓存容量8MB 只能缓存静态
maximum_object_size_in_memory2 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log squid #访问日志文件,默认开启
cache_swap_low80 #缓存内容大小控制,占用到97%时,内容将被清空20%
cache_swap_high97
cache_store_lognone #不记录store.log
maximum_object_size 4096 KB #允许缓存数据的最大值。不设置时,不限制
reply_body_max_size 0 allow all #(0不限制)允许通过代理服务器访问的最大目标对象
http_access allow all #默认拒绝所有主机,设为允许所有
access_log /var/log/squid/access.logsquid #设置访问日志
cache_log /var/log/squid/cache.log #设置缓存日志
cache_store_log/var/log/squid/store.log #设置网页缓存日志
[email protected] #设置管理员邮箱地址
acl QUERY urlpath_regex .php .jsp .asp .pl.cgi #设置不缓存url类型(空格隔开)
cache deny QUERY
cache_effective_user squid #一般不能以root运行
cache_effective_group squid
cache_peer 192.168.1.1 parent 80 0 no-queryno-digest originserve
cache_peer_domain www www.davewang.comvisible_hostname www.davewang.com #手动指定主机名时必须与物理接口绑定
3.检查配置并初始化缓存cache目录
#/usr/local/squid/sbin/squid -k pares #检查配置是否正确
#/usr/local/squid/sbin/squid -zX #初始化cache目录
4.启动squid服务
#/usr/local/squid/sbin/squid start #启动
另外:
#/usr/local/squid/sbin/squid restart #停止squid
#/usr/local/squid/sbin/squid -k shutdown #使用新配置启动
#/usr/local/squid/sbin/squid -k reconfigure #重载配置
5.加入内部DNS解析
#vi /etc/hosts
1.1.1.254 www.davewang.com
6.启动web服务器并创建测试页
# service httpd start
# cat /var/www/html/index.html #创建测试页
www.squid.com
7.客户端测试
#elinks --dump http://192.168.1.1
www.squid.com
查看web服务器的日志,你会发现来访代理服务器的IP 192.168.1.254