最近常在网上看.到很多朋友架设透明代理碰到问题,在此拿一个常见的问题和大家.讨论。 杀毒
这个常见问题是:
1.IPtables(netf.ilter)以配置好,Squid也配置好了;. --------------彩票
2.不通过Squi.d可以正常访问网页; 建材
3.或者清空iptables规则,..在客户端配置代理也能访问; .
4.一旦同时启用iptables,Squid,同时把80的流.量转发到代理端口时就出现问.题,网页无法访问;而其他的应用正常. 投资
为什么?.其实我想可能.是很多朋友对IPtables还没有个透彻的理解,下面就和大家一起讨论一下: 服务器
一、iptable.s和netfilter的区别 <性病>
iptables使用来.配置netfilter的工具,只是一个人机界面,真正工作时是netfilter在.根据规则来对流量进行过滤。 乙肝
二、流量.如何通过netfilter? 杀毒
不同的流量,由于其目标.地址的不同,其穿过的netfi.lter链也是不同的,基本上可以分为下面三种情况: ( 游戏 )
1.输入流:目标.地址为本机的数据包 .
2.输出流:.源地址为本机的数据包 服务器
3..转发流:目标和源均不是本机,但需要本机的转发 域名
输入流的链路径:
线路->;.接口->;mangle.PREROUTING->;nat.PREROUTING->;[routing]->.;mangle.INPUT->;fil.ter.INPUT->;[本地处理] 电脑
输出流的链路径:
应用程序->;[routing]->;mangle.OUTPUT->;nat.OUT.PUT->;filter.OUT.PUT->;ma.ngle.POSTROUTING->;nat.POSTROUTING->;接口->;线路 ( 游戏 )
转发流的链路径:
线.路->;接口->;mangle..PREROUTING->;nat.PREROUTING-.>;[routing]->;mangle.FORWARD->;filter.FORWARD->;mangle.POSTR.OUTING->;nat.POSTROUTING->;接口->;线路 女人
[routing]指本地地路由决策。. 电影
以上为..
www.netfilter.or.g网站对IP数据包如何流过linux路由器地描述,由于本人对以前版本地IPchain及IPfw了解不多,因此这里仅限于对netfilter/iptables的讨论。 .
从上面的路径链可以看到,三种数据流穿过的规.则链是有区别的。下面就让我们讨论一下.iptables应该如何配合squid.
三、直接转发与.使用SQUID的区别 建材
不管是直.接转发,还是通过NAT接入.internet,数据包都是在第三层进行处理,此时数据流是转发流,不会穿过filter.INPUT和filter.O.UTPUT链。 .
而squid是在应用层来完成代理工作的,它将介入internet信息的访问过程,分别和内部客户机、外.部服务器建立数据连接,因此数.据流将是输入流和输出流也必将穿越filter.INPUT和filter.OUTPUT链。因此,要让Squid正常.为客户提供.代理服务,我们必须在INPUT和OUTPUT链中增加相应设.置。而很多时候我们都把INPUT和OUTPUT链的缺省规则设置为DROP。 .
这就是出现以上故障现象的主要原.因。 电脑
看到.这里我想.大多数朋友应该知道如何来配置INPUT和OUTPUT规则链了。实际上在这个链中只要具备了满足如下规则的条目,就可以达到我们的目的。 婚庆
1..允许内部机器到本机代理端口的连接; 电子
2.允许本机到外部.世界的连接。 学习
典.型的,在常用配置中(缺省的链策略为DROP)增加规则如下:. (广告)
iptable.s -A INPUT -i $INTERNAL -p tcp -.-dport 3128 -j ACCEPT 外贸
iptables -A INPUT -o. $I.NTERNAL .-m state --state RELATIVE,ESTABLISHED -j ACCEPT .
iptables -A INPUT -i $I.NTERNAL -m s.tate --state RELATIVE,ESTABLISHED. -j ACCEPT .
iptables -A OUTPUT -o $EXTERNAL -m stat.e --state .NEW,RELATIVE.,ESTABLISHED -j ACCEPT .
以上为本人查阅相关资料并分析和总结.所得,如有错误的地方,欢.迎大家指正。 美容