1、安装:squid rpm包

[root@localhost ~]# yum install -y squid

2、安装完后,可以查看squid版本:
[root@localhost ~]# squid -v

3、编辑squid.conf配置文件

vim /etc/squid/squid.conf

主要的参数如下:

http_port 3128
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

acl SSL_ports port 443
acl Safe_ports port 80 8080   #http
acl Safe_ports port 21     #ftp
acl Safe_ports port 443   #https
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow all
cache_dir aufs /data/cache 1024 16 256
cache_mem 128 MB
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern \.(jpg|png|gif|mp3|css|xml) 1440 50% 2880 ignore-reload
refresh_pattern . 0 20% 4320

注:1、标示红色有的squid版本中没有,需要添加,LAN客户端才能使用代理,否则浏览器访问任何站点报:The requested URL could not be retrieved/ TCP_DENIED/403,代理服务端curl访问正常

    2、生产环境:cache_dir aufs /data/cache 1024 16 256中的/data/cahce放在一个磁盘比较大的空间里 面.

4、创建缓存目录和初始化:

mkdir /data/cache                  #/data/cache自定义

squid -z                #初始化

5、检查语法和配置文件加载:

squid -k check             #简写squid -kche

squid -k reconfigure          #简写squid -krec

6、启动squid服务
/etc/init.d/squid start

7、开机启动:

chkconfig squid on

8、限制某些域名访问

acl CONNECT method CONNECT
白名单:在其下面添加四行:
acl http proto HTTP
acl good_domain dstdomain .baidu.com .163.com
http_access allow http good_domain
http_access deny http !good_domain
注:白名单域名为 ”.baidu.com .163.com” ,这里的 . 表示万能匹配,前面可以是任何字符,只能访问白名单域名,其它域名访问不了

acl CONNECT method CONNECT
黑名单:在其下面添加四行:

acl http proto HTTP

acl bad_domain dstdomain .sina.com .souhu.com

http_access allow http !bad_domain

http_access deny http bad_domain

注:除了sina、souhu网站不能访问,其它网站都能访问


总结:squid代理服务端,可以使用 curl -xlocalhost:3128 http://www.qq.com -I测试代理是否成功

           tcpdump -nn port 3128      #抓取通过3128端口的数据包


日志分析:http://www.open-open.com/lib/view/open1422368109361.html

                http://www.cnblogs.com/mchina/p/centos-squid-proxy-server.html

                 http://blog.csdn.net/suiyuan19840208/article/details/31786909