Linux下目前使用最多的HTTP代理当属Squid了,这边有个需要修改http-header的需要,前提是要做http的透明代理,squid实现透明代理很容易,但修改http-header没找到方法。

Privoxy在修改http-header方面很善长,但透明代理如何实现网上好像还没有成熟的方法。比起修改http-header,透明代理应该实现起来更简单一些,于是研究了一下,下面详细说一说。

一、环境说明:

1.系统:

CentOS 6.5 32位(64位在装privoxy的时候经常报错,直接换成32位)

2.网络:

双网卡

eth0: 10.3.2.30/24 (公网)   eth1:192.168.0.1/24(私网地址,内网网关设这个)

网关10.3.2.254

3.yum install privoxy 直接安装privoxy 默认端口8118

二、配置NAT

sysctl 中设置 net.ipv4.ip_forward = 1

iptalbes 中设置NAT

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE -o eth0

三、配置透明代理

  1. 修改服务端口,将服务器开在192.168.0.1:8118上,修改/etc/privoxy/config文件

2. 修改accept-intercepted-request 为1

3.Iptables 配置,将所有来自私网80端口的数据包重定向到192.168.0.1的8118端口,这是透明代理的关键

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT -to-port 8118

四、更改http-header

更改/etc/privoxy/user.action(这个文件不会随版本更新而改变)

在文件头部(任意位置)增加:

+add-heaer {name:liqunsheng}

/

注意最后的“/”不要丢掉。

五、测试

这样配置就完成了,我们来测试一下

将客户机的IP设置为192.168.0.0/24的地址,网关设为192.168.0.1

浏览器的代理没有任何设置,我们打开网页http://10.2.1.33,

并在10.2.1.33端用wireshark抓包。如图所示:

六、关于透明代理后无法打开http://p.p 网页的说明

我们知道,使用privoxy做浏览器代理,输入http://p.p 能跳到privoxy的管理网页,也是验证代理是否做成功的手段,但是做完透明代理该网页将无法打开,原因是浏览器代理的DNS使用的是代理服务器192.168.0.1的DNS,透明代理使用的是本地DNS,本地DNS当然不知道http://p.p 是谁了。

转载于:https://blog.51cto.com/liqunsheng/1691913

CentOS下Privoxy和Iptables 实现透明代理,修改http-header相关推荐

  1. squid+iptables实现透明代理

    NAT 网络地址转换(网络地址映射) 就是把数据包的源IP或者目标IP进行修改. 作用: 修改源IP,叫源地址映射,一般为了实现让私有网络的机器能够访问互联网 修改目标IP,叫目标地址映射,一般为了实 ...

  2. Centos下jira、confluence利用nginx 代理配置为统一入口

    又一次安装和配置jira和confluence,这个安装如果能准备好安装文件,在Centos还是比较顺利的,基本上没有什么坑,就是翻文档翻半天,这里记录下来,以供需要的人翻阅. 一.安装jira.Co ...

  3. Squid之传统代理和透明代理解析实验步骤

    目录 一:squid概述 1.1:squid代理的作用 二:squid的代理类型 三:squid传统代理的部署 3.1: 项目介绍 3.2:部署过程 3.3:修改配置文件,编写脚本优化服务启动项 3. ...

  4. 学会Squid之传统代理和透明代理一篇就够了!

    文章目录 squid的概念 一:squid概述 1.1:squid代理的作用 1.2:缓存代理概述 1.21:Web代理的工作机制 二:squid的代理类型 三:squid传统代理的部署 3.1: 项 ...

  5. squid代理-----透明代理模式

    目录 一.squid透明代理 二.实验环境 1.squid服务器添加网卡 2.web服务器指定静态路由 3.开启透明代理 4.设置防火墙规则 5.客户机验证 一.squid透明代理 客户端不需要指定代 ...

  6. WAF nginx反向代理和透明代理

    下面看一下实例:反向代理(10.0.13.222)和透明代理(10.0.1.66)站点. 反向代理: Nginx自带反向代理功能,只需在Linux系统上开启相应的端口. 反向代理规则链移植: ipta ...

  7. Linux下透明代理+Privoxy实现页面相关的广告植入

    一. 前言 Linux系统下Privoxy实现广告植入的方式很简单.通常的做法,就是将HTTP流量(端口80,8080等)NAT到Privoxy,然后由Privoxy实现流量的过滤与广告的植入.这种方 ...

  8. CentOS下IPTABLES配置详解

    iptables是与Linux内核集成的IP信息包过滤系统,其自带防火墙功能,我们在配置完服务器的角色功能后,需要修改iptables的配置. 配置CentOS和Ubuntu等linux服务器时需要对 ...

  9. iptables:tproxy做透明代理

    什么是透明代理 客户端向真实服务器发起连接,代理机冒充服务器与客户端建立连接,并以客户端ip与真实服务器建立连接进行代理转发.因此对于客户端与服务器来说,代理机都是透明的. 如何建立透明代理 本地so ...

  10. CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

    自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源. 而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个 ...

最新文章

  1. 【MySQL】MySQL的事务
  2. Vertica数据库
  3. Nginx反向代理WebSocket
  4. 使用jquery处理数据时要注意的问题
  5. 报告解读|远程银行:从扎根网络到加速上云
  6. 《JavaScript高级程序设计》阅读笔记(三):ECMAScript中的引用类型
  7. PowerDesigner 15.1 安装步骤详细图解及破解
  8. 深入探究VC —— 链接器link.exe(4)【转】http://blog.csdn.net/wangningyu/article/details/4849452...
  9. SAP Spartacus breakpoint服务中platformID的注入逻辑
  10. r中如何求变量的对数转换_对数转换以求阳性。
  11. canvas 平滑运动_什么是电视上的运动平滑?人们为什么讨厌它?
  12. android ndk 智能指针,智能指针与弱引用详解
  13. 利用Jmail发送带附件的邮件时乱码的解决方案
  14. opencv︱图片与视频的读入、显示、写出、放缩与基本绘图函数介绍
  15. oracle 常用语句汇总
  16. 如何看待软件测试培训?
  17. oracle 的keep用法及partition
  18. linux如何查看cpu型号
  19. ncre计算机职业英语,NCRE计算机职业英语一级考试样卷.doc
  20. 软件机器人实现一键报税,即使没有开发接口,纳税申报也照样方便、快捷

热门文章

  1. Eclipse基础--java环境变量设置
  2. EMS设置发送连接器和接收连接器邮件大小
  3. 读吴恩达算-EM算法笔记
  4. linux mint 19安装 kvm 软件包
  5. flask-session组件
  6. 【初探IONIC】不会Native可不可以开发APP?
  7. 使用Eclipse创建的第一个javabean,cannot resolved to a type
  8. 13.4 Shelve模块
  9. Google Home其实是个错误
  10. [数据集]新浪微博数据集MicroblogPCU