失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > CentOS下Privoxy和Iptables 实现透明代理 修改http-header

CentOS下Privoxy和Iptables 实现透明代理 修改http-header

时间:2020-09-22 11:29:27

相关推荐

CentOS下Privoxy和Iptables 实现透明代理 修改http-header

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

三、配置透明代理

修改服务端口,将服务器开在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是谁了。

如果觉得《CentOS下Privoxy和Iptables 实现透明代理 修改http-header》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。