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

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

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
H. GNU General Public License
0. Preamble
1. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
2. How to Apply These Terms to Your New Programs
I. 示例脚本的代码
I.1. rc.firewall脚本代码
I.2. rc.DMZ.firewall脚本代码
I.3. rc.UTIN.firewall脚本代码
I.4. rc.DHCP.firewall脚本代码
I.5. rc.flush-iptables脚本代码
I.6. rc.test-iptables脚本代码
List of Tables
3-1. 以本地为目标(就是我们自己的机子了)的包
3-2. 以本地为源的包
3-3. 被转发的包
4-1. 数据包在用户空间的状态
4-2. 内部状态
6-1. Tables
6-2. Commands
6-3. Options
6-4. Generic matches
6-5. TCP matches
6-6. UDP matches
6-7. ICMP matches
6-8. Limit match options
6-9. MAC match options
6-10. Mark match options
6-11. Multiport match options
6-12. Owner match options
6-13. State matches
6-14. TOS matches
6-15. TTL matches
6-16. DNAT target
6-17. LOG target options
6-18. MARK target options
6-19. MASQUERADE target
6-20. REDIRECT target
6-21. REJECT target
6-22. SNAT target
6-23. TOS target
6-24. TTL target
6-25. ULOG target
C-1. ICMP类型

译者序

译者sllscn是中国Linux公社里的“Linux 新鲜社员”,一个Linux爱好者,在实际工作中使用iptables构造防火墙时,发现有关iptables的中文资料太少,故而不得已参考英文版的材料。为了今后参考的方便,也为了广大使用者,不怕自己的英文水平太差,翻着字典翻译了本文。翻译只为了能看懂,达不到“好看”,勿怪!

第一章序言部分除了第三小节介绍的术语要看看,其他都没什么。第二章对想要亲自编译iptables的兄弟们是有些帮助的。第三、第四两章能够使我们理解、掌控iptables工作方式和流程。第五章和第六章是iptables命令使用方法的周详介绍。第七章和第八章是实例讲解,对我们编写自己的规则很有指导意义的,强烈建议您看一看。附录里有一些资源链接是很好的,相信您一定会喜欢。

因为术语的缘故,目录部分有一些未翻译,但正文的内容都翻译了。附录F是本文的更新历史,附录G是GNU Free Documentation License,附录H是GNU General Public License,他们对理解 iptables没有什么作用,故未翻译。

在阅读本文时,您可能会发现有重复的地方,这不是原作者的水平不高,反而恰恰是他为我们考虑的结果。您能够把这篇文章的任何一章抽出来阅读,而无需反复地参照其他章节。在此,再次向作者表示敬意!

因译者水平有限,对原文的理解不敢确保完全正确,如有意见或建议,能够联系译者slcl@sohu.com

郑重声明:翻译得到了原文作者Oskar Andreasson的许可。对于本文(不是原文),可自由使用、修改、传播、转载,但对以盈利为目的使用,保留任何权利。


关于作者

我的局域网里有很多“年老的”电脑,他们也想连接到Internet上,还要确保安全。做到这一点, iptables是的ipchains的一个很好的升级。使用ipchains您能够通过丢弃任何“目的端口不是特定端口” 的包来建立一个安全的网络。但这将导致一些服务出现问题,比如被动FTP,更有在IRC中流出的DCC。他们在服务器上分配端口,并告知客户端,然后再让客户连接。 但是,iptables的代码中也有一些小毛病,在某些方面我发现这些代码并没有为作为完整的产品发布做好准备,但我仍然建议使用ipchains或更老的 ipfwadm 的人们进行升级,除非他们对正在使用的代码满意,或他们足以满足他们的需要。


如何阅读

本文介绍了iptables,以便您能够领会iptables的出色,文中不包含iptables或Netfilter在安全面的 bug。假如您发现iptables(或其组成部分)任何bug或特别的行为,请联系Netfilter mailing lists ,他们会告诉您那是否是bug或如何解决。iptables或Netfilter中几乎没有安全面的bug,当然偶尔也会出些问题,他们能在Netfilter主页中找到。

文中用到的脚本不能解决Netfilter内部的bug,给出他们,只是为了演示如何构造规则,以便我们能解决碰到的数据流管理问题。但本文没有包括象“如何关闭HTTP端口,因为Apache 1.2.12偶尔会被攻击” 这样的问题。本指南会告诉您如何通过iptables关闭HTTP端口,但不是因为Apache偶尔会被攻击。

本文适合于初学者,但也尽可能完善。因为有太多的targets或matches,所以没有完全收录。假如您需要这方面的信息,能够访问Netfilter主页。


必备知识

阅读本文,要具备一些基础知识,如Linux/Unix,shell脚本编写,内核编译,最好更有一些简单的内核知识。

我尝试着尽可能使读者无需这些知识也能完全弄懂这篇文章,但要理解扩展部分是不行的。所以还是要有点基础的:)


本文约定

以下的约定会在文中用到:

  • 代码和命令输出使用定宽字体,命令用粗体。

    [blueflux@work1 neigh]$ ls
    
    default  eth0  lo
    
    [blueflux@work1 neigh]$
    
         
  • 任何的命令和程式名都用粗体。

  • 任何的系统部件,如硬件、内核部件、loopback使用斜体

  • 电脑文本输出用 这种字体

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