Iptables(8) | System Manager's Manual | Iptables(8) |
iptables - IP包过滤器管理
iptables -ADC 指定链的规则 [-A
添加 -D 删除 -C 修改]
iptables - RI
iptables -D chain rule num[option]
iptables -LFZ 链名 [选项]
iptables -[NX] 指定链
iptables -P chain target[options]
iptables -E old-chain-name new-chain-name
Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。
可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。 每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处 理与之相匹配的包。这被称作'target'(目标),也可以跳向同一个表内的用 户定义的链。
防火墙的规则指定所检查包的特征,和目标。如果包不匹配,将送往该链中 下一条规则检查;如果匹配,那么下一条规则由目标值确定.该目标值可以是 用户定义的链名,或是某个专用值,如ACCEPT[通过], DROP[删除], QUEUE[排队],或者 RETURN[返回]。
ACCEPT
表示让这个包通过。
DROP
表示将这个包丢弃。
QUEUE
表示把这个包传递到用户空间。
RETURN
表示停止这条链的匹配,到前一个链的规则重新开始。如果到达了一个内建的
链(的末端),或者遇到内建链的规则是
RETURN,包的命运将由链准则指定的
目标决定。
当前有三个表(哪个表是当前表取决于内核配置选项和当前模块)。
这些表如下:
这些可被iptables识别的选项可以区分不同的种类。
这些选项指定执行明确的动作:若指令行下没有其他规定,该行只能指定一个选项. 对于长格式的命令和选项名,所用字母长度只要保证iptables能从其他选项中区 分出该指令就行了。
以下参数构成规则详述,如用于add、delete、replace、append 和 check命令。
还可以指定下列附加选项:
iptables能够使用一些与模块匹配的扩展包。以下就是含于基本包内的 扩展包,而且他们大多数都可以通过在前面加上!来表示相反的意思。
当 --protocol tcp 被指定,且其他匹配的扩展未被指定时,这些扩展被装载。它提供以下选项:
当protocol udp 被指定,且其他匹配的扩展未被指定时,这些扩展被装载,它提供以下选项:
当protocol icmp被指定,且其他匹配的扩展未被指定时,该扩展被装载。它提供以下选项:
这个模块匹配标志用一个标记桶过滤器一一定速度进行匹配,它和LOG 目标结合使用来给出有限的登陆数.当达到这个极限值时,使用这个扩展 包的规则将进行匹配.(除非使用了 ”!”标记)
这个模块和与netfilter过滤器标记字段匹配(就可以在下面设置为使用MARK标记)。
此模块试为本地生成包匹配包创建者的不同特征。 只能用于OUTPUT链,而且即使这样一些包(如ICMP ping应答)还 可能没有所有者,因此永远不会匹配。
此模块,当与连接跟踪结合使用时,允许访问包的连接跟踪状态。
此模块没有可选项,不过它试着匹配那些奇怪的、不常见的包。处在实验中。
此模块匹配IP包首部的8位tos(服务类型)字段(也就是说,包含在优先位中)。
iptables可以使用扩展目标模块:以下都包含在标准版中。
为匹配的包开启内核记录。当在规则中设置了这一选项后,linux内核会通 过printk()打印一些关于全部匹配包的信息(诸如IP包头字段等)。
用来设置包的netfilter标记值。只适用于mangle表。
作为对匹配的包的响应,返回一个错误的包:其他情况下和DROP相同。 此目标只适用于INPUT、FORWARD和OUTPUT链,和调用这些链的用 户自定义链。这几个选项控制返回的错误包的特性:
用来设置IP包的首部八位tos。只能用于mangle表。
这是一个试验示范目标,可用于转换IP首部字段中的源地址和目标地址, 再传送该包,并只适用于INPUT、FORWARD和OUTPUT链,以及只调用它们的用户自定义链 。
这个目标只适用于nat表的POSTROUTING链。它规定修改包的源地 址(此连接以后所有的包都会被影响),停止对规则的检查,它包含选项:
只用于nat表的POSTROUTING链。只能用于动态获取IP(拨号)连接:如果你拥有静态IP 地址,你要用SNAT。伪装相当于给包发出时所经过接口的IP地址设置一个映像,当接口关 闭连接会终止。这是因为当下一次拨号时未必是相同的接口地址(以后所有建立的连接都将 关闭)。它有一个选项:
只适用于nat表的PREROUTING和OUTPUT链,和只调用它们的用户自定义链。它修改包的 目标IP地址来发送包到机器自身(本地生成的包被安置为地址127.0.0.1)。它包含一 个选项:
不同的错误信息会打印成标准错误:退出代码0表示正确。类似于不对的或者滥用的命令 行参数错误会返回错误代码2,其他错误返回代码为1。
检查还未完成。
与ipchains的兼容性
This iptables is very similar to ipchains by Rusty Russell. The
main difference
is that the chains INPUT and OUTPUT are only traversed for packets coming
into
the local host and originating from the local host respectively. Hence every
pack only passes through one of the three chains; previously a forwarded
packet
would pass through all three. The other main difference is that -I refers to
input interface; -o refers to the output interface, and both are available
for
packets entering the FORWARD chain. iptables is a pure packet filter when
using
the default filter' table, with optional extension modules. This should
simplify much of the previous confusion over the combination of IP
masquerading
and packet filtering seen previously. So the following options are handled
differently: -j MASQ -M -S -M -L There are several other chaines in iptables
iptables和Rusty
Russell的ipchains非常相似。主要区别是INPUT
链只用于进入本
地主机的包,而OUTPUT只用于自本地主机生成的包。因此每个包只经过三个链的
一个;以前转发的包会经过所有三个链。其他主要区别是
-i 引用进入接口;-o引
用输出接口,两者都适用于进入FORWARD链的包。当和可选扩展模块一起使用
默认过滤器表时,iptables是一个纯粹的包过滤器。这能大大减少以前对IP伪装和
包过滤结合使用的混淆,所以以下选项作了不同的处理:
-j MASQ -M -S -M -L
在iptables中有几个不同的链。
iptables-HOWTO有详细的iptables用法,对netfilter-hacking-HOWTO也有详细的本质说明。
Rusty Russell wrote iptables, in early consultation with Michael
Neuling. Marc Boucher made Rusty abandon ipnatctl by lobbying for a generic
packet
selection framework in iptables, then wrote the mangle table, the owner
match,
the mark stuff, and ranaround doing cool stuff everywhere. James Morris wrote
the TOS target, and tos match. Jozsef Kadlecsik wrote the REJECT target. The
Netfilter Core Team is: Marc Boucher, Rusty Russell.
杨鹏·NetSnake <netsnake@963.net>
2003.11.20
http://cmpp.linuxforum.net
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
iptables 中文手册 |