最近到.很多朋友假设透明代理碰到问题,一个常见的问题是.: 学习
1.IPtable.s(netfilt.er)以配置好,Squid也配置好了; (广告)
2.不通过Sq.uid可以正常访问网页; 鲜花
3.或者清空i.ptables规则,在客户端配置代理也.能访问; .
4.一旦同时启用iptables,Squi.d,同时把80的流量转发到代理端口时就出现问题,网页无法访问;而其他的应用正常.. 教育
为什么?其实我想可能.是很多朋友对IPtabl.es还没有个透彻的理解,下面就和大家一起讨论一下: --------------彩票
一、iptables和ne.tfilter的区别 教育
iptables使用来配置netfilter的工具,只是一个人机界面,真正工作时是netfilter在根据规则来对流量进行过..滤。 (广告)
二、流量如何通过netfilte.r? 鲜花
不同的.流量,由于其目标地址的不同,其穿过的netfilter链也是不同的,基本上可以分为下面三.种情况: .
1.输入流:目标地.址为本机的数据包 婚庆
2..输出流:源地址为本机的数据包 电脑
3..转发流:目标和源均不是本机,但需要本机的转发 健康
输入流的链路径:
线路->;接口->;mangle.PREROUTING->;na.t.PREROUTING->;[routi.ng]->;mangle.INPUT-.>;filter.INPUT->;[本地处理] 杀毒
输出流的链路径:
应用程序->;[routing]->;mangle..OUTPUT->;nat.OUTPUT->;filter.OUTPUT->;mangle.POSTROUTING->;na.t.POSTRO.UTING->;接口->;线路 电子
转发流的链路径:
线路->;接口->;mangle.PREROUTING->;nat.PREROUTING->.;[ro.uting]->;mangle.FORWARD->;fi.lter.FORWARD->;mangle.POSTROUTING->;nat.POSTROUTING.->;接口->;线路 <性病>
[r.outing]指本地地路由决策。 虚拟主机
以上.为
www.netfilte.r.org网站对IP数据包如何流过linux路由器地描述,由于本人对以前版本地IPch.ain及IPfw了解不多,因此这里仅限于对netfilter/iptables的讨论。 --- 印刷
从上面的路径链可以.看到.,三种数据流穿过的规则链是有区别的。下面就让我们讨论一下iptables应该如何配合squid. 乙肝
三、直接.转发与使用SQUID的区别
不管是直接转发,还是通过NAT接入internet,数据包都是在第三层.进行处理,此时数据流是.转发流,不会穿过filter.INPUT和filte.r.OUTPUT链。 电影
而squid是在应用层来完成代理工作的,它将介入int.ernet信息的.访问过程,分别和内部客户机、外部.服务器建立数据连接,因此数据流将是输入流和输出流也必将穿越filter.INPUT和filter.OUTPUT.链。因此,要让Squid正常为客户提供代理服务,我们必须在INPUT和OUTPUT链中增加相应设置。而很多时候我们都把INPUT和OUTPUT链的缺省规则设置为DROP.。 [成人用品]
这就是出现以上.故障现象的主要原因。 [成人用品]
看到这里我想大多数朋友应该知道如何来配置INPUT和OUTPUT规则链了。实际上在这个链中只要具备.了满足如下规则的条目,就可以达到我们的目.的。 乙肝
1.允许内部机器到本.机代理端口的连接; ( 游戏 )
2.允许本.机到外部世界的连接。 婚庆
典型的,在常用配置中(缺.省的链.策略为DROP)增加规则如下: 汽车
iptables -A INPUT -i $INTERNAL -p tcp --dport 3128 -j AC.CE.PT 健康
iptables -A INPUT -o $INTERNAL -m .state --state R.ELA.TIVE,ESTABLISHED -j ACCEPT --------------彩票
iptabl.es -A INPUT -i $INTERNAL -m stat.e --state RELATIVE,.ESTABLISHED -j ACCEPT 杀毒
ip.tables -A OU.TP.UT -o $EXTERNAL -m state --state NEW,RELATIVE,ESTABLISHED -j ACCEPT .
以上为本人查阅相关资料并分析和总结所.得,如有.错误的地方,欢迎大家指正。.