使用 iptables 的第一步是启动 iptables 服务。这可以使用以下命令进行:
service iptables start |
警告 | ||
---|---|---|
你应该使用以下命令关闭 ip6tables 服务才能使用 iptables 服务:
|
要使 iptables 在系统引导时默认启动,你必须使用 chkconfig 来改变服务的运行级别状态。
chkconfig --level 345 iptables on |
iptables 的语法被分成几个层次。主要层次为“链”(chain)。“链”指定处理分组的状态。其用法为:
iptables -A chain -j target |
-A 在现存的规则集合内后补一条规则。chain 是规则所在“链”的名称。iptables 中有三个内建的链(即影响每一个在网络中经过的分组的链):INPUT、OUTPUT、和 FORWARD。这些链是永久性的,不能被删除。-j target 选项指定 iptables 应该“跳”(jump)到规则集中的哪条规则。内建的目标有:ACCEPT、DROP、和 REJECT。
-N 选项可以被用来创建新链(又称用户定义链)。创建新链在定制详尽或复杂规则方面很有用。
在一开始就建立的某些基本政策为建构更详细的用户定义的规则奠定了基础。iptables 使用政策(policy, -P)来创建默认规则。对安全敏感的管理员通常想采取放弃所有分组的政策,只逐一允许指定分组。以下规则阻塞网络上所有的出入分组。
iptables -P INPUT DROP iptables -P OUTPUT DROP |
此外,还推荐你拒绝所有转发分组(forwarded packets) — 要从防火墙被选路发送到它的目标节点的网络交通 — 以便限制内部客户对互联网的无心暴露。要达到这个目的,使用以下规则:
iptables -P FORWARD DROP |
设置了政策链后,为你的特定网络和安全需要创建新规则。以下各节概述了一些你在建构 iptables 防火墙时可能要实现的规则。