使用squid配置透明代理并对上网行为进行控制
来源:互联网 发布:linux perl 编辑:程序博客网 时间:2024/06/05 15:24
原文地址:http://www.cnblogs.com/Skyar/p/3858915.html
使用Squid配置透明代理
环境:CentOS 6.4 + squid-3.1.10-20.el6_5.3.x86_641.检查squid是否默认安装,没有安装先安装rpm -qa squid假如查找不到,就安装squid:yum install squid
2.配置虚拟机的网络,一个网卡是内网,另一个是外网内网:eth0 ip:192.168.10.209 netmask:255.255.255.0 gateway:192.168.10.1外网:eth1 ip:10.10.10.100 netmask:255.255.255.0 gateway:10.10.10.1修改完之后重启网卡 service network restart如果配置完之后发现不能上网,注意用route命令查看下默认路由。将默认路由设置成外网eth1。配置DNS服务器,将/etc/resolv.conf中设置nameserver 8.8.8.8
3.配置squid及透明模式备份squid的配置文件cp /etc/squid/squid.conf /etc/squid/squid.conf.bak修改squid的配置文件:vim /etc/squid/squid.conf根据自己的需要添加对应的IP,端口如果你要使用透明模式,在端口后面添加关键字“transparent”# Squid normally listens to port 3128http_port 3128 transparent在配置文件的最下方添加这条语句,否则squid不能启动!visible_hostname localhost
4.启动squidservice squid restart
5.为透明代理配置iptables,设置转发编写脚本squid.sh:
#!/bin/bash echo "1" > /proc/sys/net/ipv4/ip_forward modprobe iptable_nat /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE #将对squid代理服务器DNS的请求转到8.8.8.8上 iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 8.8.8.8 iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.10.0/24 --dport 80 -j REDIRECT --to-ports 3128
给脚本加权限:chmod 777 squid.sh执行脚本:./squid.sh
6.将iptables的配置进行保存,并重启iptablesservice iptables saveservice iptables restart
7.测试squid透明代理客户端IP:192.168.10.13网关:192.168.10.209DNS服务器:192.168.10.209将客户端的网关和DNS服务器设置成squid透明代理服务器的地址。打开浏览器进行网页的访问。
使用Squid对上网行为进行控制
修改Squid的配置文件/etc/squid/squid.conf
在默认的ACL规则之后添加自定义的ACL
#禁止下载的文件类型acl denyfiles urlpath_regex -i \.mp3$ \.avi$ \.zip$ \.rar$ \.exe$ \.iso$#禁止访问的网站列表acl denysites url_regex -i "/etc/squid/denysites"
禁止访问的网站列表
[root@localhost squid]#cat denysitesweb2.qq.com
在/etc/squid/squid.conf文件中添加与acl对应的http_access在“#INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS”中进行添加。如果没有提示就在“允许访问ip地址“之前进行添加。
http_access allow testhttp_access deny denyfileshttp_access deny denysiteshttp_access allow localnet
注意:假如test和localnet都是允许访问的本地主机ip列表,那么localnet中ip就不能访问“denyfiles和denysites”中的网站,而test中ip就可以正常访问。
注意他们http_access的顺序。因为在test之前并没有进行拒绝访问的控制,而在localnet之前已经进行了拒绝访问的控制,所以test中的ip地址不受到“denyfiles和denysites”的限制,而localnet中的ip受到限制,不能访问“denyfiles和denysites”中的网站。
阅读全文
0 0
- 使用squid配置透明代理并对上网行为进行控制
- squid配置透明代理
- squid透明代理配置
- squid简易配置透明代理
- 成功使用squid+iptables配置透明代理 (zt)
- Squid:下载、安装,配置代理上网
- iptables+squid透明代理+防火墙终极配置
- iptables+squid透明代理+防火墙终极配置
- Squid透明代理安装与配置
- iptable+SQUID 透明代理验证mac地址上网.
- iptables+NAT+squid 透明代理上网实现方案
- iptables+NAT+squid 透明代理上网实现方案
- iptables限制MACIP绑定上网+Squid 透明代理How to
- Linux 上网代理 Squid 的使用
- 使用squid搭建https透明代理
- 使用CentOS7配置Squid代理
- 使用CentOS7配置Squid代理
- 使用CentOS7配置Squid代理
- R语言链接MySQL的两种方法
- Leaders make mistakes
- 利用JDBC获得INSERT插入后生成的主键ID
- 4.9 leetcode -9 best-time-to-buy-and-sell-stock
- JQuery 1.9版本以上的浏览器判断方法
- 使用squid配置透明代理并对上网行为进行控制
- Android开发辅助工具类 Utils 汇总
- ECharts.js学习(一) 简单入门
- 彻底理解javascript的回调函数(推荐)
- Java并发编程的暗自努力(五)Java内存模型
- SSM整合实现增删改查
- 错误提示是因为没有引入javax.servlet.http.HttpServletRequest所在的包,编译错误。 项目–>右键–>properties–>Java build bath–>Lib
- BZOJ 4325: NOIP2015 斗地主 爆搜
- hdu 2189 完全背包