简单的安装为了实验而实验:
[root@server1 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:BA:70:10
inet addr:192.168.1.105 Bcast:192.168.1.255 Mask:255.255.255.0
[root@server1 ~]# setenforce 1
[root@server1 ~]# getenforce
Enforcing
[root@server1 ~]# service iptables restart
[root@server1 ~]# iptables -F
[root@server1 ~]# service iptables save
[root@server1 ~]# rpm -qa |grep squid
[root@server1 ~]# yum install squid*
[root@server1 ~]# rpm -qa |grep squid
squid-2.6.STABLE21-3.el5
[root@server1 ~]# service squid restart
停止 squid: [失败]
init_cache_dir /var/spool/squid... 启动 squid:. [确定]
在做squid的时候要注意主机名的问题,要用完整的域名来做,不然服务启动不了;
[root@server1 ~]# chkconfig --list squid
squid 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
[root@server1 ~]# chkconfig squid on
[root@server1 ~]# chkconfig --list squid
squid 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@server1 ~]#
squid 配置文件在/etc/squid/下面,默认是拒绝所有的;
1、宿主机是192.168.1.6,我们把1.6这个IP地址加到配置文件中测试宿主机能否访问;
在没加之前都是可以访问的,1.6的IE中设置IE的代理
在访问就无法访问了,有错误提示
要让1.6主机访问。那么我们就在squid.conf中配置acl与访问策略http_access
578 acl xp01 src 192.168.1.6
xp01 定义主机名称 src 是来源,因为1.6这个主机要通过squid服务器访问公网; IP 是主机的IP;在定义acl时没有什么顺序 ,但是最好都是写在一起 好区分,
----------------------------------------------------------
637 http_access allow xp01
在定义访问策略时就有顺序区分了 一定要写在第 639 http_access deny all前面 不然就会被禁掉的,
保存 ,重启squid
[root@server1 ~]# service squid restart
停止 squid: [确定]
启动 squid:. [确定]
宿主机在通过IE访问就可以了
2、禁止用户访问域名为www.163.com与www.sohu.com的网站。
还是先定义acl 访问
acl sohuweb dstdomain -i www.sohu.com
acl 163web dstdomain -i www.163.com
然后在定义http_access
640 http_access deny 163web
641 http_access deny sohuweb
642 http_access allow xp01
在IE中访问:
我们可以看到 www.sohu.com www.163.com 都不能访问了 ,而mail.163.com 确能访问;
3、我们在做一条访问策略:禁止用户访问域名包含有163.com的网站。
acl badurl1 url_regex -i 163.com
http_access deny badurl1
现在mail.163也不能访问了
url_regex 表示的是URL规则表达式匹配