squid代理服务器基本配置(二)

Squid透明代理

透明代理是 NAT 和代理的完美结合,之所以称为透明,是因为在这种工作方式下用户感觉不到代理服务器的存在,不需要在浏览器或其他客户端工具(如网络快车等)中作任何设置,客户机只需要将默认网关设置为Linux 服务器的IP地址即可。当客户机访问 Internet ,请求数据包经过 Linux 服务器转发时, Linux 服务器上的iptables 将客户机的 HTTP 请求重定向到 Squid 代理服务器,由代理服务器代替客户机访问外部信息资源,再将获取的数据传回客户机。

在使用RedHat EnterpriseLinux 5系统光盘上自带的squid软件包安装时,squid默认是向外转发包的,所有的包都会被拒绝。此时只需要修改一下配置文件/etc/squid/squid.conf中的“http_access deny all”改为“http_access allow all”即可实现squid的代理局域网用户连接Internet了。squid的基本配置请参考本人关于squid服务安装及其基本配置的博客。

首先安装一下DHCP服务为局域网内的用户分配IP地址。

215841852.jpg

215922819.jpg

220034249.jpg

修改过服务配置文件之后需要重新启动该服务:service dhcpd restart

220046750.jpg

安装Squid

220136585.jpg

220140953.jpg

因为Squid只能代理tcp,mail,httpd等协议,不能够代理DNS。所以为了使局域网用户的DNS能够通过正常解析,所以使用SNAT来实现,主要借助于Linux中iptables工具。

220237314.jpg

220332955.jpg

220403687.jpg

220431352.jpg

220434817.jpg

220438931.jpg

220442799.jpg

iptables -t nat -A PREROUTING –s 192.168.2.0/24 –ptcp –dport 80 -j REDIRECT –to-port 3128

使用iptables创建一个表格nat添加到PREROUTING中,凡是来自192.168.2.0网段的使用tcp协议的访问目标是80端口的数据包,都将重定向到3128端口。这样在局域网用户访问httpd时,数据包发送到Linux服务器时,就将其目标端口重定向到3128端口。

220524482.jpg

 

测试是否实现透明代理:

220540236.jpg

220603409.jpg

访问控制应用实例:

1、禁止 IP 地址为 192.168.2.99 的客户机上网。

acl_badclientip1src 192.168.2.99

http_access deny badclientip1

2、禁止 192.168.2.0 这个子网里所有的客户机上网。

acl badclientnet1 src 192.168.2.0/255.255.255.0

http_access deny badclientnet1

3、禁止用户访问 IP 地址为 115.239.210.26 的网站。

acl badsrvip1 dst 115.239.210.26

http_access deny badsrvip1

 

4、禁止用户访问域名为 www.163.com的网站。

acl baddomain1 dstdomain -i www.163.com

http_access deny baddomain1

5、禁止用户访问域名包含有 163.com 的网站。

acl badurl1 url_regex -i 163.com

http_access deny badurl1

6、禁止用户访问域名包含有 sex 关键字的 URL 。

acl badurl2 url_regex -i sex

http_access deny badurl2

7、限制IP地址为 192.168.16.200 的客户机并发最大连接数为 5 。

acl clientip1 src 192.168.16.200

acl conn5 maxconn 5

http_access deny client1 conn1

8、禁止192.168.2.0这个子网里所有的客户机在周一到周五的 9:00 到 18:00上网。

acl clientnet1 src 192.168.2.0/255.255.255.0

acl worktime time MTWHF 9:00-18:00

http_access deny clientnet1 worktime

9、禁止客户机下载 * .mp3 、 * .exe 、 * .zip和 *. rar 类型的文件。

acl badfile1 urlpath_regex -i \.mp3$ \.exe$ \.zip$ \. rar $

http_access deny badfile1

10、禁止 QQ 通过 Squid 代理上网。

acl qq url_regex -i tencent.com   

http_access deny qq

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值