手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Iptables 指南 1.1.19(中文版)(三)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

Table 6-19. MASQUERADE target

Option--to-ports
Exampleiptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 1024-31000
Explanation在指定TCP或UDP的前提下,配置外出包能使用的端口,方式是单个端口,如--to-ports 1025,或是端口范围,如--to- ports 1024-3000。注意,在指定范围时要使用连字号。这改变了SNAT中缺省的端口选择,详情请查看 SNAT target

6.5.7. MIRROR target

这个target是实验性的,他只是个演示而已,不建议您使用他,因为他可能引起循环,除此之外,还可能引起严重的DoS。这个target的作用是颠倒IP头中的源目地址,然后再转发包。这会引起很有趣的事,一个骇客最后攻破的可能就是他自己的机子。看来,使用这个target至少能够使我们的机子更强壮:) 我们假如对机子A的80端口使用了MIRROR,会发生什么呢?假设有来自yahoo.com的机子B 想要访问A的HTTP服务,那他得到的将是yahoo的主页,因为请求是来自yahoo的。

注意,MIRROR只能用在INPUT FORWARDPREROUTING链和被他们调用的自定义链中。还要注意,假如外出的包是因 MIRROR target发出的,则他们是不会被filter、nat或mangle表内的链处理的,这可能引起循环或其他问题。比如,一台机子向另一台配置了MIRRORTTL值为255的机子发送一个会被认为是欺骗的数据包,同时这台机子也欺骗自己的数据包,以使他被认为似乎是来自第三个使用了MIRROR 的机子。这样,那个包就会不间断地往来很多次,直到TTL为0。假如两台机子之间只有一个路由器,这个包就会往返240-255次。对骇客来说,这是不坏的情况,因为他只要发送一个1500字节的数据(也就是个包),就能够消耗您的连接的380K字节。对于骇客或叫做脚本小子(不管我们把他们称作什么)来说,这可是很理想的情况。


6.5.8. QUEUE target

这个target为用户空间的程式或应用软件管理包队列。他是和iptables之外的程式或工具协同使用的,包括网络计数工具,高级的数据包代理或过滤应用,等等。讨论程式的编码已超出了本文的范围。即使讨论,也要花很多时间,而且在这样一篇文章之内也无法说清有关Netfilter和iptables的编程。具体的信息请查看Netfilter Hacking HOW-TO。


6.5.9. REDIRECT target

在防火墙所在的机子内部转发包或流到另一个端口。比如,我们能够把任何去往端口HTTP的包REDIRECT到HTTP proxy(例如squid),当然这都发生在我们自己的主机内部。本地生成的包都会被映射到127.0.0.1。换句话说,这个target把要转发的包的目的地址改写为我们自己机子的IP。我们在做透明代理(LAN内的机子根本无需知道代理的存在就能够正常上网)时,这个target可是起了很大作用的。

注意,他只能用在nat表的PREROUTING、OUTPUT链和被他们调用的自定义链里。 REDIRECT只有一个选项:

Table 6-20. REDIRECT target

Option--to-ports
Exampleiptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
Explanation在指定TCP或UDP协议的前提下,定义目的端口,方式如下:

1、不使用这个选项,目的端口不会被改变。

2、指定一个端口,如--to-ports 8080

3、指定端口范围,如--to-ports 8080-8090


6.5.10. REJECT target

REJECTDROP基本相同,区别在于他除了阻塞包之外,还向发送者返回错误信息。现在,此target还只能用在INPUT、FORWARD、OUTPUT和他们的子链里,而且包含 REJECT的链也只能被他们调用,否则不能发挥作用。他只有一个选项,是用来控制返回的错误信息的种类的。虽然有很多种类,但假如您有TCP/IP方面的基础知识,就很容易理解他们。

Table 6-21. REJECT target

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

Option--reject-with
Exampleiptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset
Explanation告诉REJECT target应向发送者返回什么样的信息。一旦包满足了设定的条件,就要发送相应的信息,然后再象DROP相同无情地抛弃那些包。可用的信息类型有:1、icmp-net-unreachable 2、icmp-host-unreachable 3、 icmp-port-unreachable 4、icmp-proto-unreachable 5、icmp-net-prohibited 6、icmp-host-prohibited 。其中缺省的是port-unreachable。您能够在附录ICMP类型中看到更多的信息。更有一个类型——echo-reply,他只能和匹配 ICMP ping包的规则联用。最后一个类型是tcp-reset,(显然,只能用于TCP协议)他的作用是告诉REJECT返回一个TCP RST包(这个包以文雅的方式关闭TCP连接,有关他的周详信息在RFC 793 - Transmission Control Protocol里)给发送者。正如iptables的 man page中说的,tcp-reset主要用来阻塞身份识别探针(即113/tcp,当向被破坏的邮件主机发送邮件时,探针常被用到,否则他不会接受您的信)。
Google