操作部分
拓扑:
1、首先在web服务器上开启httpd服务,并为80端口(网站)开启例外,允许入站连接。
2、挂载squid的安装盘,解压到/usr/src下,进入/usr/src/squid-.tar.gz中。
3、配置squid。
##各配置项含义:
--prefix:安装目录
--sysconfdir:配置文件目录
--enable-arp-acl:设置通过MAC地质管理防止arp欺骗
--enable-linux-netfilter:使用内和过滤
--enable-linux-tproxy:支持透明模式
--enable-err-language:错误信息显示语言的类型
--enable-underscore:允许url中使用下划线
--enable-poll:poll模式,性能优化
--enable-gnuregex:使用GNU正则表达式
4、make编译和make install安装
5、优化执行路径,并创建squid用户,设置属主:属组。
6、在/etc/init.d/下编辑一个squid的服务脚本,用来控制squid服务(vim /etc/init.d/squid)。
7、为该squid服务脚本添加执行权限,并添加为系统服务。
8、编辑squid的配置文件,vim /etc/squid.conf
##这里需注意visible_hostname为主机名选项,需要填写squid服务器的主机名。最后一行前面本身有“#”,直接删除“#”即可。http_access allow all需要添加在deny all前面,先生效。
9、在本次试验中,我们将squid服务器作为代理服务器的同时,也将其作为网管使用。通过修改/etc/sysctl.conf,开启路由功能。将“net.ipv4.ip_forward = 0”改为“= 1”,执行sysctl -p使配置生效。
10、配置防火墙重定向。该策略可以将80端口的请求转给3128端口
11、配置SNAT实现内网接入internet互联网。
12、配置iptables策略允许3128端口的入站连接。
13、启动squid服务。下面前三个都需要依次敲。最后一个为查看squid的进程,确认是否启动。
14、地址配置,内网客户机192.168.1.2并配置网关为192.168.1.1;外网网站202.1.1.2;squid的eth0网卡192.168.1.1,eth1网卡202.1.1.1。
15、测试。使用内网的客户机登陆202.1.1.2网站。成功登陆网站。
16、验证网页请求是否经过代理服务器。在网站服务器上查看接入的日志。可以看到请求地址为202.1.1.1,也就是squid的外网网卡地址,而不是客户机。
17、另外,squid代理还提供了ACL控制列表。通过修改/etc/squid.conf文件进行ACL访问控制列表的定义。首先将上面做的允许所有的配置删除或者改为注释。
18、定义ACL,如下图
选项解析:
acl safeport port 80 443:定义端口为80、443
acl mylan src 192.168.1.0/24:定义源地址池为192.168.1.0网段
acl mediafile urlpath_regex -i .mp4$ .avi$:定义以mp4、avi结尾的url路径
acl working time MWTHF 08:30-16:00定义squid工作时间
http access allow 允许以上定义项
19、第一条限定下载文件的大小;第二条限定最大缓存块。
原文地址:http://blog.51cto.com/13434336/2096882