Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务 器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络 安全,到局域网通过代理上网。Squid主要设计用于在Unix和Linux一类系统运行。

有关代理服务器,主要有以下几个特点:
应用层代理
1、针对特定的网络协议进行代理
2、典型应用:HTTP代理和FTP代理
代理服务器作用
1、局域网内主机可以通过网内可以访问的主机去访问外网
2、可以提供缓存,提高访问效率
3、可以实现一定程度的访问控制
squid服务具有的功能
1、提供HTTP和FTP协议的代理
2、缓存代理内容,提高访问速度
3、对客户机进行访问控制(基于目标地址或时间)
squid代理类型
正向代理:为客户端提供代理服务,需要客户端指定IP
反向代理:为服务器提供代理服务,目的为了减轻真实服务器负担
透明代理:特殊的正向代理,不需要客户端做任何设置,代理服务器必须是网关,就相当于路由器和防火墙 
   

 

配置实例:

代理:

拓扑图:

Ip地址配置:

网关配置:

[root@localhost ~]# vim /etc/resolv.conf(dns指向)

[root@localhost ~]# vim /etc/squid/squid.conf(需要改的配置文件)

客户端配置:

测试:

透明代理:

透明代理步骤

1.客户端  dns指向  和网关参数

2.在squid所在的机器上,设置关于dns的nat转换

   iptables -t nat -A POSTROUTING -s 192.168.145.0/24 -p udp --dport 53  -o eth1 -j MASQUERADE

     【编辑 /etc/sysctl.conf 打开数据包转发能力】

3.设置端口重定向

  iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0  -j REDIRECT --to-ports 3128

4.在squid配置中

  加入 transparent

测试:

反向代理:

拓扑图:

[root@localhost ~]# vim /etc/squid/squid.conf(需要改的配置文件)

内部主机:(配置的www服务器)

测试 外部主机访问内部主机: