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.com

visible_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