iptables用于在Linux内核中设置,维护和检查IPv4数据包筛选器规则表。可以定义几个不同的表。每个表包含许多内置链,也可能包含用户定义的链。
每个链都是可以匹配一组数据包的规则列表。每个规则都指定如何处理匹配的数据包。这称为“目标”,可以是到同一表中用户定义的链的跳转。
我将如何理解连锁店的概念?
链条是固定的规则列表吗?
如何定义/指定和使用链条?例如,
-A, --append chain rule-specification
将一个或多个规则附加到所选链的末尾。当源名称和/或目标名称解析为多个地址时,将为每种可能的地址组合添加一条规则。
在以下命令中是INPUT
链的名称?我可以随意给它起一个名字吗?这个链条是否有两个规则?谢谢。
iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP
iptables链只是按顺序处理的规则列表。它们可以是固定内置的人(一个INPUT
,OUTPUT
,FORWARD
在默认的filter
表,在例如在一些其他nat
表),然后可以从别人调用,或者用户定义的,。
正如-A
(append),-I
(insert)和-D
(delete)命令所暗示的那样,链中的规则是可以自由编辑的,它们不是固定的。
在以下命令中是
INPUT
链的名称?
是的。
我可以随意给它起一个名字吗?
并不是这样,它是内置的链,其中包含用于进入系统的数据包的规则(用于主机上运行的进程)。默认filter
表中的其他两个是OUTPUT
(显然来自系统的FORWARD
数据包)和(路由数据包)。
该手册页iptables(8)
有表及其内置链(下的说明TABLES
)。
当然,您可以将输入数据包的任何规则放在任意用户定义的链中,然后只需添加一条规则以INPUT
引用该链即可。(例如,iptables -A INPUT -j mychain
将跳转到mychain
那里并处理任何规则。)
这个链条是否有两个规则?
我们不知道。这两个命令将两个规则附加到链中。但是在运行这些命令之前可能已经有其他命令了。
如果您iptables -F INPUT
在这两个命令之前拥有第一个命令,那么结果将是仅剩下这两个规则。
另请参阅:如何遍历iptables表和链,其中包含指向您无需了解的所有内容的链接,例如https://stuffphilwrites.com/2014/09/iptables-processing-flowchart/。(您可能想忽略raw
和mangle
表,因此经常需要它们。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句