iptables是用于配置Linux系统中的防火墙规则的命令行工具。其命令格式和常用参数的意思如下:
iptables [选项] <链名> <规则规范>
常用选项:
-A
:添加规则到指定链的末尾。-D
:从指定链中删除规则。-I
:插入规则到指定链的开头。-L
:列出指定链的规则。-F
:清除指定链中的所有规则。-P
:设置指定链的默认策略。-s
:指定源IP地址/网络。-d
:指定目标IP地址/网络。-p
:指定协议。-j
:指定要执行的动作(ACCEPT、DROP、REJECT等)。
iptables支持以下几种表:
-
filter表:默认表,用于过滤数据包。在INPUT、OUTPUT和FORWARD链中使用,可以根据源IP地址、目标IP地址、端口号等条件过滤或处理数据包。
-
nat表:用于网络地址转换(NAT),主要用于修改数据包的源IP地址和目标IP地址。在PREROUTING、POSTROUTING和OUTPUT链中使用。
-
mangle表:用于修改数据包的特定字段,如TTL(Time to Live)值、标记(mark)等。可以在PREROUTING、INPUT、FORWARD、OUTPUT和POSTROUTING链中使用。
-
raw表:用于处理原始数据包,通常不进行连接跟踪或状态检查。可以在PREROUTING、OUTPUT和NOTRACK链中使用。
-
security表:用于进行强制访问控制(MAC)过滤。只在有SELinux的系统中使用。
-
raw和mangle表的子表:raw和mangle表都支持使用子表进行更细粒度的操作和规则设置。
每个表都包含多个预定义的链,如filter表包含INPUT、OUTPUT和FORWARD链。用户也可以创建自定义的链,并将其插入到某个表中,以实现更灵活的规则管理。
根据具体的需求和网络配置,选择适当的表来进行配置和管理规则,以实现对数据包的过滤、修改、转发等操作。
常用链名:
INPUT
:用于处理进入本机的数据包。OUTPUT
:用于处理从本机发出的数据包。FORWARD
:用于处理经过本机转发的数据包。PREROUTING
:用于在数据包路由之前进行处理。POSTROUTING
:用于在数据包路由之后进行处理。
规则规范:
规则规范用于指定要匹配的条件和要执行的动作,例如:
-i
:指定输入接口。-o
:指定输出接口。--dport
:指定目标端口。--sport
:指定源端口。-m state --state
:指定匹配数据包的状态。-j
:指定要执行的动作,如ACCEPT、DROP、REJECT等。
数据处理时,表的顺序:
R->M->N->F
以上仅为iptables命令的基本格式和常用参数的简要说明,实际使用中可以根据需要灵活组合和配置规则。
标签:iptables,规则,指定,常用命令,IP地址,OUTPUT,数据包 From: https://www.cnblogs.com/chenkanglu/p/17775268.html