博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
squid-透明代理
阅读量:5279 次
发布时间:2019-06-14

本文共 1599 字,大约阅读时间需要 5 分钟。

squid-透明代理
透明(transparent)代理:
先把上面做的正向代理的客户端配置部分去掉(firefox和IE的配置)
第一步:
在squid服务器上打开路由转发功能
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 ----因为要使用iptables写NAT表的规则,所以要打开ip_forward
# sysctl -p
第二步:修改配置文件
# vim /etc/squid/squid.conf --在正向代理的配置基础上再加上下面一句的配置
http_port 3128 intercept
# /etc/init.d/squid restart
第三步:配置iptables
client squid 公司路由器
vmnet1 eth0
192.168.1.128 192.168.1.1 172.16.2.9--> 172.16.1.1 公网IP
|
|
|
client网关指向192.168.1.1--
clientDNS指向8.8.8.8 ---------------------------------->外网DNS
# iptables -t nat -A POSTROUTING -p udp --dport 53 -o br0 -j SNAT --to-source 172.16.1.40
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i vmnet1 -j REDIRECT --to-port 3128
# iptables -t nat -A POSTROUTING -p tcp --dport 443 -o br0 -j SNAT --to-source 172.16.1.40
由上面的分析,需要在squid服务器上写上一句snat,让DNS能正常访问外网
# iptables -t nat -A POSTROUTING -p udp --dport 53 -o eth0 -j SNAT --to-source 172.16.2.9
这样的话,内网客户端的DNS OK了,但是http的80端口的访问如果也做一个SNAT的话,如下的规则:
# iptables -t nat -A POSTROUTING -p tcp --dport 80 -o eth0 -j SNAT --to-source 172.16.2.9
那么这就做的是完全的通过iptables来上外网;与squid无关
所以应该换成下面一句规则,把80端口的访问都重定向到3128端口
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i vmnet1 -j REDIRECT --to-port 3128
还有443的端口问题,这里如果也重定向到3128,会出现访问https网站报ssl错误。因为https不能缓存,所以我们这里把443用iptables直接SNAT转发出去(也就是说443与squid无关)
# iptables -t nat -A POSTROUTING -p tcp --dport 443 -o eth0 -j SNAT --to-source 172.16.2.9
第四步:客户端验证
省略
总结:
--上面所做的透明代理其实和上次iptables所讲的几乎一样,唯一不同的就是把80端口的SNAT换成了端口的转换,把它交给3128的squid来上网
--但就上面这样做,并没有看出比使用iptables上网有什么优势
--squid共享上网的优势就在于使用acl访问控制,缓存,资源控制等

转载于:https://www.cnblogs.com/skyzy/p/9201314.html

你可能感兴趣的文章
rotate the clock
查看>>
bugku 变量
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
CF461B Appleman and Tree
查看>>
CF219D Choosing Capital for Treeland
查看>>
杂七杂八的小笔记本
查看>>
51Nod1353 树
查看>>
CF1215E Marbles
查看>>
BZOJ2339 HNOI2011卡农(动态规划+组合数学)
查看>>
octave基本操作
查看>>
axure学习点
查看>>
WPF文本框只允许输入数字[转]
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>
使用XML传递数据
查看>>
TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)
查看>>
0925 韩顺平java视频
查看>>
iOS-程序启动原理和UIApplication
查看>>