squid本质及正向代理的实例分析

这期内容当中小编将会给大家带来有关squid本质及正向代理的实例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了淮安区免费建站欢迎大家使用!

一、squid简介

Squid Cache (简称为 Squid )是 HTTP 代理服务器 软件。Squid用途广泛的,可以作为 缓存服务器 , 代理用户向web服务器请求数据并进行缓存, 可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网。 还也可以用在局域网中,使局域网用户通过代理上网。

Squid将数据元缓存在内存中,同时也缓存 DNS查寻的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持 访问控制。由于使用了ICP,Squid能够实现重叠的代理阵列,从而最大限度的节约带宽。

Squid由一个主要的服务程序Squid,一个DNS查询程序 dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当Squid启动以后,它可以派生出指定数目的 dnsserver进程,而每一个dnsserver进程都可以执行单独的DNS查询,这样一来就大大减少了服务器等待DNS查询的时间。

Squid的另一个优越性在于它使用 访问控制清单(ACL)和访问权限清单(ARL)。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的Internet非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。

二、squid应用

    squid即可以作为正向代理服务器也可以作为反向代理服务器。更多关于代理服务器分类,请参考博文: 系统原理分析架构-三--代理服务器简介及分类 (2014-10-15 19:54)


 

    注:本来此文是讲解squid作为反向代理的页面缓存功能的,但是由于squid常用的还有正向代理功能,因此也一并讲解,后续文章中也会以这种思路进行讲解,这样通过对比更能加深对整个squid的理解。


 

1、squid正向代理服务器

    举个简单的例子,假若公司内网机器正常来说都不让访问外网。但是由于工作需要,为研发同事配备了一台统一能够访问外网查看资料的机器。这样每次大家有需要上外网则需要争抢唯一一台外网主机。这种情况在大多数公司存在。聪明的程序员肯定不肯罢休,怎么也要把自己机器捣鼓出能上外网。这时候squid正向代理就能派上用场了。

注:正向代理还包括透明代理,本专题。

2、使用squid正向代理访问外网:

(1)环境:

假设windows机器不能访问外网,能访问内网。(windows7)

有一台linux服务器,能访问外网,且windows机器能够与该机器互相访问。(centos 6.5 mini版,ip:192.168.10.36)

(2)node36上安装squid:

#  yum install squid #安装squid

#  vim /etc/sysctl.conf#开启路由转发功能

net.ipv4.ip_forward设置为1

squid本质及正向代理的实例分析

#  vi /etc/sysconfig/network

squid本质及正向代理的实例分析

#  sysctl -p#路由强制生效

# service network restart

配置squid:

#  vim /etc/squid/squid.conf

#http_port指令告诉squid在哪个端口侦听HTTP请求。默认端口是3128

squid本质及正向代理的实例分析

#缓存目录的设置,可以设置多个缓存目录,语法为: <目录所在>

squid本质及正向代理的实例分析

#设置acl访问控制表

以允许192.168.10.0/24网段内所有客户机访问代理服务器为示例:

配置文件中添加acl my_allow_net src 192.168.10.0/24

squid本质及正向代理的实例分析

配置文件中添加acl my_allow_net src 192.168.10.0/24

(注:该记录一定要添在deny all之前,应该配置文件读到deny all则后面的配置文件就不生效)

squid本质及正向代理的实例分析


 


 

# squid -k parse

假如你看不到输出,配置文件有效,你能继续后面的步骤。然而,如果配置文件包含错误,squid会告诉你

# squid -z #初始化缓存空间

squid本质及正向代理的实例分析

# /etc/init.d/squid restart#重启squid生效,起送squid时间比较长,耐心等待

squid本质及正向代理的实例分析


 


 

(3)windows下测试代理服务器:

squid本质及正向代理的实例分析

浏览器访问baidu.com

squid本质及正向代理的实例分析

后台日志:

tailf /var/log/squid/access.log

squid本质及正向代理的实例分析

普通正向代理成功。

3、高级功能配置项

#停止squid
最安全的停止squid的方法是使用squid -k shutdown命令:
# squid -k shutdown      


       

#重配置运行中的squid进程,重配置运行中的squid最好的方法是使用squid -k reconfigure命令:
# squid -k reconfigure      


       


       

#禁止来自某些IP地址的访问,在squid配置文件中添加以下acl名称及访问规则,并重新加载配置文件
acl deny_net src 192.168.20.6/32
http_access deny deny_net       


       

#禁止在某些时段访问
acl Working_times MTWHF 08:00-17:00
http_access allow Working_times 
http_access deny !Working_times 

# 禁止某个代理客户建立过多连接 
acl MaxConnLimit maxconn 4 
http_access deny MaxConnLimit       

4、关于squid的透明代理

透明代理业属于正向代理的一种,不同的是普通代理需要在客户端(浏览器局域网代理服务器)设置代理IP和PORT,而透明代理再通过 NAT功能,将特定的数据请求映射到代理服务器上。

ex:#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT --to-ports 3128

上述就是小编为大家分享的squid本质及正向代理的实例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网页题目:squid本质及正向代理的实例分析
文章来源:http://azwzsj.com/article/pcjddi.html