squid代理
一、squid正向代理设置
1、安装squid
[root@daixuan ~]# yum install -y squid
2、编辑squid配置文件
[root@daixuan ~]# vim /etc/squid/squid.conf
cache_dir ufs /var/spool/squid 1024 16 256 //注释去掉,设置缓存目录,大小为1024MB
cache_mem 28 MB //添加一行,设置缓存占用内存的大小
refresh_pattern \.(jpg|png|gif|js|css|mp3|mp4) 1440 20% 2880 ignore-reload //添加一行
[root@daixuan ~]# squid -k check //检测配置文件有没有语法错误
3、启动squid服务
[root@daixuan ~]# /etc/init.d/squid restart
[root@daixuan squid]# netstat -lnp | grep squid
tcp 0 0 :::3128 :::* LISTEN 5906/(squid)
4、设置IE浏览器使用squid代理访问
工具-Internet选项-连接-局域网设置-勾选为LAN使用代理服务器-高级(HTTP:192.168.101.230,端口:3128)
5、Linux上使用curl使用代理访问网址
[root@daixuan 00]# curl -x127.0.0.1:3128 www.baidu.com -I
HTTP/1.0 200 OK
6、拒绝所有站点,设置黑白名单
[root@daixuan ~]# vim /etc/squid/squid.conf
acl http proto HTTP
acl good_domain dstdomain .baidu.com //设置baidu为白名单,其他所有网站为黑名单
http_access allow good_domain
http_access deny !good_domain
[root@daixuan 00]# squid -k reconfigure //重新加载squid的配置文件
重启squid服务,测试百度可以打开,其他所有网页直接报错,且不能打开。
[root@daixuan 00]# curl -x 127.0.0.1:3128 www.baidu.com -I
HTTP/1.0 200 OK
[root@daixuan 00]# curl -x 127.0.0.1:3128 www.qq.com -I
HTTP/1.0 403 Forbidden
7、接受所有站点,拒绝黑名单
acl http proto HTTP
acl bad_domain dstdomain .baidu.com
http_access allow !bad_domain //允许除了百度的其他所有站点
http_access deny bad_domain //拒绝百度
[root@daixuan 00]# curl -x 127.0.0.1:3128 www.baidu.com -I
HTTP/1.0 403 Forbidden //百度被拒绝访问
二、squid反向代理设置
[root@daixuan ~]# vim /etc/squid/squid.conf
注释掉黑白名单设置
#acl http proto HTTP
#acl bad_domain dstdomain .baidu.com
#http_access allow !bad_domain
#http_access deny bad_domain
http_port 80 accel vhost vport
cache_peer 111.13.100.92 parent 80 0 originserver name=a
cache_peer_domain a www.baidu.com
保存重启squid服务,则百度可以访问通过代理访问,其他网站不能通过代理访问。