使用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. HTML5 Web Storage

    Web Storage是HTML5 API提供一个新的重要的特性: 最新的Web Storage草案中提到,在web客户端可用html5 API,以Key-Value形式来进行数据持久存储: 目前主要 ...

  2. 芯航线FPGA学习套件之多通道串行ADDA(TLV1544,TLC5620)模块测试手册

    芯航线FPGA学习套件之多通道串行ADDA模块测试手册   本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的ADDA模块的测试方法:   连接开发板,如下所示: 2.将ADDA V1.1模块与开 ...

  3. 普华永道高级JAVA面试记录

    最近在考虑换个工作 原因?咱能不逗吗? 一面感觉发挥不错  二面之后累觉不爱  基本上浪费了半天的工资(好多钱啊~~~) PWD上海地址在浦东软件园  工作环境说实话没我现在工作的环境好,不过里面的人 ...

  4. Thinkphp单字母快捷键

    在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同UR ...

  5. Android DiskLruCache 源码解析 硬盘缓存的绝佳方案

    一.概述 依旧是整理东西,所以近期的博客涉及的东西可能会比较老一点,会分析一些经典的框架,我觉得可能也是每个优秀的开发者必须掌握的东西:那么对于Disk Cache,DiskLruCache可以算佼佼 ...

  6. async和await浅析

    要理解async和await的用法,首先要了解Task相关知识,这里不做说明,因为这不是本文的重点. 如果你已经对Task很了解,那么如何使用async和await,在此主要总结了以下三点: 只有在a ...

  7. 解决 .so文件64与32不兼容问题

    http://blog.csdn.net/vhawk/article/details/49964475 android64位机子兼容32位.so库文件 2016-11-25 19:39 5416人阅读 ...

  8. [问题2014A11] 复旦高等代数 I(14级)每周一题(第十三教学周)

    [问题2014A11]  设 \(n\) 阶方阵 \(A,B\) 满足: \((A+B)^2=A+B\), \(\mathrm{r}(A+B)=\mathrm{r}(A)+\mathrm{r}(B)\ ...

  9. C#中的多线程 - 基础知识

    原文:http://www.albahari.com/threading/ 文章来源:http://blog.gkarch.com/threading/part1.html 1简介及概念 C# 支持通 ...

  10. 根据多年经验整理的《互联网MySQL开发规范》

    一.基础规范 使用 INNODB 存储引擎 表字符集使用 UTF8  所有表都需要添加注释 单表数据量建议控制在 5000W 以内 不在数据库中存储图⽚.文件等大数据 禁止在线上做数据库压力测试 禁⽌ ...