天天看点

Squid代理服务器

配置 Squid代理服务器实现基本代理

需要有两个不同网段的地址,并且我是实现10.1.1.0网段访问,192.168.1.0网段的192.168.1.31 的web服务器

检查 IP 地址,安装软件:

[root@localhost ~]# ifconfig

eth0       Link encap:Ethernet   HWaddr 00:0C:29:E6:F5:C8   

           inet addr:10.1.1.4    Bcast:10.255.255.255    Mask:255.0.0.0

eth1       Link encap:Ethernet   HWaddr 00:0C:29:E6:F5:D2   

           inet addr:192.168.1.33   Bcast:192.168.1.33   Mask:255.255.255.0

[root@localhost ~]# rpm -qa |grep squid

[root@localhost ~]#

[root@localhost Server]# rpm -ivh squid-2.6.STABLE21-6.el5.i386.rpm

//软件包在redhat的光盘中的Server文件夹中

------------------

[root@localhost ~]# vim /etc/squid/squid.conf  //确认或添加以下各行配置内容

http_port 3128 //代理服务的端口号

visible_hostname localhost.localdomain

maximum_object_size_in_memory 4096 KB  //  保存到缓存的最大对象大小,单位:KB

reply_body_max_size 10240000 allow all   //  禁止下载超过10M的文件

http_access allow all           //一定放在http_access deny all的前面

启动服务:

[root@localhost ~]# service squid start

真机上使用 HFS 模拟 WEB 服务器  //HFS是一个快速行的列表型网站,非常适合测试,可以直接把文件放到HFS上面尽心下载测试

局域网的PC机配置IE浏览器,要在Internet 属性--->连接--->局域网(LAN)设置--->局域网设置

在代理服务器选项中,勾选 “为LAN使用代理服务器” 输入地址和端口

然后访问 http://192.168.1.31 可以尝试下载文件,看看限制是否成功

并且HFS上面也有访问记录,可以很方便的查看的

查看 Squid 代理的访问日志:

[root@localhost ~]# tail /var/log/squid/access.log 

1293245293.702       9  10.1.1.100  TCP_MISS/200  915  GET  http://192.168.1.31/~img41  -

DIRECT/192.168.1.31 p_w_picpath/gif

------------------------------

配置Squid代理服务器实现透明代理

[root@localhost ~]# vim /etc/squid/squid.conf

http_port 10.1.1.4:3128 transparent     //修改这一行配置

[root@localhost ~]# service squid restart

停止  squid:                        [确定]

启动  squid:                        [确定]

开启路由转发功能:

[root@localhost ~]# vim /etc/sysctl.conf

# Controls IP packet forwarding

net.ipv4.ip_forward = 1

[root@localhost ~]# sysctl -p

添加 iptables 防火墙策略:

[root@localhost ~]# iptables -t nat -I PREROUTING -i eth0 -s 10.0.0.0/8 -p tcp --dport 80 -j

REDIRECT --to-ports 3128 

[root@localhost  ~]#  iptables  -t  nat  -I  POSTROUTING  -s  10.0.0.0/8  -o  eth1  -j  SNAT 

--to-source 192.168.1.33

局域网PC机配置:

要将网关指向10.1.1.4   DNS指向192.168.1.1

浏览器去除 设置代理

然后访问 192.168.1.31 或者公网网址

再次查看 Squid 代理的访问日志:

1293251058.298       62 10.1.1.100 TCP_HIT/200 727 GET http://www.baidu.com/img/arr.gif  -

NONE/- p_w_picpath/gif

1293251058.359         60  10.1.1.100  TCP_MISS/200  4037  GET

http://www.baidu.com/js/bdsug.js? - DIRECT/119.75.217.56 application/javascript

有关SNAT和DNAT就是添加iptables的策略,本人对iptables还不是很熟练,所以请等待日后更新

下一篇: 正则入门

继续阅读