iptables防火墙用于管理包过滤和NAT规则。IPTables附带所有的Linux发行版。了解如何设置和配置iptables将有助于您有效地管理您的Linux防火墙。
iptables工具用于管理Linux防火墙规则。首先,iptables可能看起来很复杂(甚至令人困惑)。但是,一旦你了解了iptables的工作原理以及它的结构,阅读和编写iptables防火墙规则将很容易。
本文是正在进行的iptables教程系列的一部分。这是该系列的第一篇文章。
本文解释了iptables的结构,并解释了关于iptables表,链和规则的基础知识。
在高级别的iptables上可能包含多个表。表可能包含多个链。链可以是内置的或用户定义的。链可能包含多个规则。规则是为数据包定义的。
所以,结构是:iptables – > Tables – > Chains – > Rules。这在下图中定义。
图:IPTables表,链和规则结构
只是重新迭代,表是一堆链,链是一堆防火墙规则。
I. IPTABLES表和链
IPTables有以下4个内置表格。
1.过滤表
过滤器是iptables的默认表。所以,如果你没有定义你自己的表格,你将会使用过滤表格。Iptables的过滤表具有以下内置链。
-
INPUT链 – 进入防火墙。对于进入本地服务器的数据包。
-
OUTPUT链 – 从防火墙传出。对于在本地生成并从本地服务器发出的数据包。
-
FORWARD链 – 本地服务器上的另一个NIC的数据包。对于通过本地服务器路由的数据包。
2. NAT表
Iptable的NAT表具有以下内置链。
-
PREROUTING链 – 在路由之前修改数据包。即分组转换在分组进入系统之后立即发生(并且在路由之前)。这有助于将数据包的目标IP地址转换为与本地服务器上路由匹配的内容。这用于DNAT(目标NAT)。
-
POSTROUTING链 – 修改路由后的数据包。即数据包在离开系统时发生数据包转换。这有助于将数据包的源IP地址转换为可能与desintation服务器上的路由匹配的内容。这用于SNAT(源NAT)。
-
OUTPUT链 – 防火墙上本地生成的数据包的NAT。
3.打桌子
iptables的Mangle表用于专门的数据包更改。这会改变TCP报头中的QOS位。曼格表有以下内置链条。
-
PREROUTING链
-
OUTPUT链
-
FORWARD链
-
INPUT链
-
POSTROUTING链
4.原始表格
Iptable的Raw表是用于配置的。原始表格具有以下内置链条。
-
PREROUTING链
-
OUTPUT链
下图显示了iptables中的三个重要表格。
图:IPTables内置表格
II。IPTABLES规则
以下是要记住iptables规则的关键点。
-
规则包含一个标准和一个目标。
-
如果条件匹配,则转到目标中指定的规则(或)执行目标中提到的特殊值。
-
如果标准没有配合,则转到下一个规则。
目标值
以下是您可以在目标中指定的可能的特殊值。
-
接受 – 防火墙将接受数据包。
-
DROP – 防火墙将丢弃数据包。
-
QUEUE – 防火墙将数据包传递给用户空间。
-
返回 – 防火墙将停止执行此数据包的当前链中的下一组规则。该控件将返回到调用链。
如果您执行iptables -list(或)service iptables status,则会看到系统上的所有可用防火墙规则。以下iptable示例显示在此系统上没有定义防火墙规则。如您所见,它显示默认输入表,默认输入链,前向链和输出链。
# iptables -t filter --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
执行以下操作来查看mangle表。
#iptables -t mangle --list
执行以下操作查看nat表。
#iptables -t nat --list
执行以下操作查看原始表格。
#iptables -t raw --list
注意:如果您不指定-t选项,它将显示默认过滤器表。所以,以下两个命令都是相同的。
#iptables -t filter --list #iptables --list
下面的iptable示例显示在过滤器表的输入,转发和输出链中定义了一些规则。
# iptables --list Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
iptables -list命令输出中的规则包含以下字段:
-
num – 特定链中的规则号
-
目标 – 我们上面讨论的特殊目标变量
-
prot – 协议。tcp,udp,icmp等,
-
opt – 特定规则的特殊选项。
-
源 – 数据包的源IP地址
-
目的地 – 数据包的目的地IP地址
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/15963.html