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