iptables 规则参数

时间:2025-05-12 07:21:41

本文只是记录常用的命令行规则,如果想了解和学习 iptables,请移步《IPtables》

每一条匹配规则都可以使用 ! 进行取反。如 ! --dport 22 表示所有目标端口不为 22 的请求

下表为链和表的对应关系

Chain Table
PREROUTING raw表,mangle表,nat
INPUT mangle表,filter表,nat
FORWARD mangle表,filter
OUTPUT raw表,mangle表,nat表,filter
POSTROUTING mangle表,nat

默认规则

名称 作用
-s 匹配源 IP。书写形式可以是 ip ip,ip,ip 10.0.0.0/8
-d 匹配目标 IP。用法和 -s 一致
-p 匹配协议。-p tcp 。具体支持哪些协议,可以查看 /etc/protocols。默认为 all
-i 匹配流入网卡
-o 匹配流出网卡

拓展规则

使用拓展规则,必须要加载对应的模块。因此,使用拓展模块时要配合 -m <module_name> 使用。-m默认值-p <protocol> 指定的值。

实际使用时,一条命令可以多次使用 -m 来实现复杂的匹配规则

还可以支持其他模块,这里仅列举了一部分。

tcp

名称 作用 前置条件
--dport 匹配目标端口。--dport <port> --dport <startport>-<endport> -p <protocol> 一起使用
--sport 匹配源端口。--sport <port> --sport <startport>-<endport> -p <protocol> 一起使用

iprange

指定连续的 ip 地址

名称 作用
--src-range --src-range 192.168.2.2-192.168.2.10
--dst-range 用法相同

multiport

名称 作用
--sports 匹配目标端口。--sports port --sports port,port,port
--dports 匹配源端口。--dports port --dports port,port,port

time

名称 作用
--timestart 匹配开始时间。--timestart 08:00
--timestop 匹配结束时间。--timestop 18:00
--days --days Mon,Tue,Wed,Thu,Fri
--weekdays --weekdays 4,5,6
--monthdays --monthdays 10,15,25

comment

设置注释 --comment "Allow SSH"