使用Squid配置透明代理

环境:CentOS 6.4 + squid-3.1.10-20.el6_5.3.x86_64

1.检查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 3128
http_port 3128 transparent
在配置文件的最下方添加这条语句,否则squid不能启动!
visible_hostname localhost 4.启动squid
service squid restart 5.为透明代理配置iptables,设置转发
编写脚本squid.sh:
#!/bin/bash
echo "" > /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 -j DNAT --to 8.8.8.8
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.10.0/ --dport -j REDIRECT --to-ports
给脚本加权限:chmod 777 squid.sh
执行脚本:./squid.sh 6.将iptables的配置进行保存,并重启iptables
service iptables save
service iptables restart 7.测试squid透明代理
客户端IP:192.168.10.13
网关:192.168.10.209
DNS服务器: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 denysites
web2.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 test
http_access deny denyfiles
http_access deny denysites
http_access allow localnet
注意:假如test和localnet都是允许访问的本地主机ip列表,那么localnet中ip就不能访问“denyfiles和denysites”中的网站,而test中ip就可以正常访问。
注意他们http_access的顺序。因为在test之前并没有进行拒绝访问的控制,而在localnet之前已经进行了拒绝访问的控制,所以test中的ip地址不受到“denyfiles和denysites”的限制,而localnet中的ip受到限制,不能访问“denyfiles和denysites”中的网站。
 

使用squid配置透明代理并对上网行为进行控制的更多相关文章

  1. squid配置透明代理

    搞了半个月的squid普通代理和透明代理最终差点儿相同了!! squid配置透明代理主要有两步.见图: 第一个基本的步骤:设置client默认网关,让默认网关指向squid代理server water ...

  2. Linux 系统通过 Squid 配置实现代理上网

    本文转载自:https://help.aliyun.com/knowledge_detail/41342.html Squid 介绍 Squid 是一个缓存 Internet 数据的软件,其接收用户的 ...

  3. ss-redir 的 iptables 配置(透明代理)

    透明代理指对客户端透明,客户端不需要进行任何设置就使用了网管设置的代理规则 创建 /etc/ss-redir.json 本地监听 7777 运行ss-redir -v -c /etc/ss-redir ...

  4. squid透明代理+iptables防火墙,多网卡详细配置

    squid透明代理+iptables防火墙详细配置 看到很多人都在不停地问iptables+squid做透明代理的问题,鄙人不才,斗胆在此做统一解答.如有任何纰漏还望各位批评指教. ========= ...

  5. squid 透明代理配置

    阿铭在教程中已经介绍过squid的安装和配置,http://study.lishiming.net/chapter22.html 教程中只介绍了初级的正向代理和反向代理,这篇文档将要介绍透明代理如何配 ...

  6. CentOS7安装部署squid服务(透明代理+反向代理)

    一.squid服务介绍 Squid是一个高性能的代理缓存服务器,Squid支持FTP.gopher.HTTPS和HTTP协议.和一般的代理缓存软件不同,Squid用一个单独的.非模块化的.I/O驱动的 ...

  7. CentOS 7 Squid代理服务器正向代理-透明代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 透明代理:提供与传统代理相同的功 ...

  8. 用Squid实现反向代理

    Last-Modified: 告诉反向代理页面什么时间被修改 Expires: 告诉反向代理页面什么时间应该从缓冲区中删除 Cache-Control: 告诉反向代理页面是否应该被缓冲 Pragma: ...

  9. 详细解析用Squid实现反向代理的方法

    代理服务器是使 用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,使内部网主机免受 外部网主机的攻击.但是,如果想让互联网 ...

随机推荐

  1. ES6最具魔力的特性——生成器

    ES6生成器(Generators)简介 我们从一个示例开始: function* quips(name) { yield "你好 " + name + "!" ...

  2. 设置irb和ri

    设置irb和ri 输入ruby -v查看是否能够显示ruby版本 现在可以 配置irb了. irb是交互式Ruby 的命令行工具,即输入一句就立即执行并给出结果. 默认的irb不够强大,现在给它配置一 ...

  3. easyui datagrid将表头的checkbox不显示(隐藏)

    <script type="text/javascript"> $(function(){ $("#dg").datagrid({ url:&quo ...

  4. C#,JS获取mac地址

    js: function MacInfo() { var locator = new ActiveXObject("WbemScripting.SWbemLocator"); va ...

  5. PDO处理大批量数据的入库

    <?php //最东端 东经135度2分30秒 //最西端 东经73度40分 //最南端 北纬3度52分 //最北端 北纬53度33分 //转换为度的单位$dbName = 'txhl';//数 ...

  6. spring schedule

    spring-scheduler.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?><bean ...

  7. Deep Learning Papers Reading Roadmap

    Deep Learning Papers Reading Roadmap https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadm ...

  8. rest版的webservice

    为了学习app做打算 今天就自学了下webservice,rest应该是其中一种 还有种就是soap,目前就先举个rest的demo吧 准备ws的jar和spring的jar,如何要连接数据的话就自行 ...

  9. velocity常用语句速查表

    velocity常用语句 * 变量定义 #set($directoryRoot = "www" ) * #if($!list.size() != 0) //判断list不为空 #f ...

  10. 使用 Jasmine 进行测试驱动的 JavaScript 开发

    Jasmine 为 JavaScript 提供了 TDD (测试驱动开发)的框架,对于前端软件开发提供了良好的质量保证,这里对 Jasmine 的配置和使用做一个说明. 目前,Jasmine 的最新版 ...