Home linux网络专题 Linux网络安全 LINUX iptable应用手册(一)
LINUX iptable应用手册(一)

LINUX iptable应用手册(一)

来源:南方Linux (2006-06-20 14:37:29)

 

防火牆(Firewall)、网址转换(NAT)、数据包(package)记錄、流量统计,这些功能全是Linux核心裡的Netfilter子系統所提供的,而iptables是控管Netfilter的唯一工具程式。iptables的介面很可能是Linux有史以來最精緻的,它使得Linux成為最有彈性的網路過濾系統。iptables將許多组繁复的规则集成组织成容易控管的形式,以便管理员可以进行分组测试,或关闭、啟动某组规则集。iptable能够为Unix、Linux和BSD个人工作站创建一个防火墙,也可以为一个子网创建防火墙以保护其它的系统平台。iptable只读取数据包头,不会给信息流增加负担,也无需进行验证。要想获得更加好的的安全性,可以将其和一个代理服务器(比如sqiud)相结合。每当有人紧急要求你开放或关闭特定通讯端口(为了让某种重要的网路通讯能通过防火牆,或是阻挡某种攻擊),或是请你在防火牆设置某种功能,本文将能协助你尽速解決问题。本文以直接的语法和务实的范例,帮助你记忆iptables的各种用法,並提供一些适当的意见,让你的防火牆尽可能保持安全。我们将iptables的选项分成「防火牆」、「流量统计」、「NAT」三类,以适合实务查询的方式编排,帮助管理员在最短时间內找到相关选项的语法和說明。操作范例如下:让我们来一个简单的iptables命令:iptables -t nat -A PREROUTING -i ethl -p tcp - -dport 80-j DNAT - - to -destination 192.168.1.3:8080(表1)是解释这个iptables命令的意义。▓ 概念Linux核心的包处理流程中,共设置了五个(鱼钩)拦截点(hook points),分别是PREROUTING、INPUT、FORWARD、POSTROUTING以及OUTPUT。內建链结只能作用在这些拦截点;你可以针对个別拦截点设置一系列处理规则,每条规则各代表一次影响(或监测)包处理流程的机会。*************************************▓ 诀窍我们常看到很多說明文件有着『...nat表格的PREROUTING串链...』这樣的說法,隐喻著链结是属于表格。然而,链结与表格两者之间並沒有统属关系,最多只有隐讳的关联性而已。链结(chains)的真正含意是「包(package)径路上的拦截点」而表格(tables)则是象征「处理效果」。然而,为了措词上的方便,本文仍免不了出现『...某表格的某链结...』之类的說法请读者注意。*************************************※ 图1、2、3分別展示了表格与链结的三种有效组合,以及各种组合所象征的包处理流程。其中《图l》是包经过「网址转换系统」(NAT)的流程,相关链结是作用於nat表格。※ 图2: 是包流经「包过滤系统」的流程,相关链结是作用于filter(过滤)表格。※ 图3: 是包流经「包内容调整系统」的流程,相关链结是作用于mangle表格。表2》說明五种拦截点(链结)的作用,以及各拦截适合处理的包类型。注解: 混杂模式(promiscuous mode):Ethernet网卡的一种特殊作业模式,在此模式下,即使目的地MAC位址不是指向自己的Ethernet包,也会被收下来。Ethernet网卡通常是在非混杂模式下作业,也就是只接受MAC指向自己的Ethernet包。*************************************诀窍好奇的读者,可从核心原始程式的/usr/include/linux/netfilter_ipv4.h标头档查出各拦截点的定义;它们的名称类似NF-IP_FORWARD、NF_IP_LOCAL_{IN,OUT}、和NF_IP_{PRE,POST}_ROUTING�

Tags: linux  iptable  应用  用手  手册  



Shares:Google书签Yahoo书签雅虎收藏夹365Key网摘新浪ViVi百度收藏天极网摘diglog和讯网摘POCO网摘YouNote网摘博拉网天下图摘 spurl blogmarksBlinkListredditdiggDel.icio.us