码迷,mamicode.com
首页 > 其他好文 > 详细

Squid代理服务

时间:2018-04-11 16:04:50      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:squid   代理服务器   

知识部分
代理服务器工作原理:当客户机通过代理请求web页面时,指定的代理服务器首先检查本地的缓存。如果缓存中存在客户机所请求的页面,代理服务器会将页面直接反馈到客户机;如果没有,代理服务器会将请求发送给web服务器,web服务器响应后,代理服务器会将响应的页面保存到本地缓存中,然后发给客户机。由于web请求实际有代理服务器来代替完成,从而起到了隐藏客户机的IP地址的作用。
代理服务器分为传统代理和透明代理,现在一般以透明代理使用居多。传统代理拥有的功能透明代理都有。两者的区别在于透明代理无需在客户机上指定代理服务器的地址、端口,而是透过防火墙策略将web访问重定向,交给代理服务器处理,整个过程客户机并不需要参与,对于客户机的用户来说是“透明”的。需要注意,使用透明代理,dns请求是优先发给dns服务器的。

操作部分
拓扑:

技术分享图片
技术分享图片
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、第一条限定下载文件的大小;第二条限定最大缓存块。
技术分享图片

Squid代理服务

标签:squid   代理服务器   

原文地址:http://blog.51cto.com/13434336/2096882

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!