Iptables
iptables 命令参数
iptables 是从上到下匹配规则的链表,上面规则的优先级最高,所以可以使用 -I 参数加在头部。
也可以使用 -A 参数添加一个在尾部兜底的规则。
1 | # INPUT规则链默认策略改为拒绝 |
1 | # INPUT规则链设置环回地址放行 |
1 | # INPUT规则链删除第一个规则 |
1 | # 永久保存当前的iptables规则 |
Firewalld
Nftables
规则记录
1 |
|
1 | nft -f /etc/nftables.conf |
table
表(table)是 nftables 规则集的最高级别的组织单位。一个表可以包含多个链和规则。表的名字和协议族(如 inet)一起定义。chain
链(chain)是表中的一个组件,用于组织具体的防火墙规则。链可以有不同的类型,定义在不同的钩子点。rule
规则(rule)是链中的具体指令,定义了数据包在进入、转发或输出时的处理方式。hook
钩子(hook)是指内核处理数据包的不同阶段。常见的钩子包括:input:处理进入系统的数据包。
forward:处理被转发的数据包。
output:处理系统发出的数据包。priority
优先级(priority)决定了规则的应用顺序。优先级数值越小,规则越先匹配。policy
策略(policy)是链的默认行为。常见的策略包括:accept:接受数据包。
drop:丢弃数据包。flush ruleset
清空规则集(flush ruleset)命令会清除当前加载的所有规则。这是为了确保加载新的规则集前没有遗留的规则干扰。iif 和 oif
iif:输入接口(input interface),指定数据包进入的网络接口。
oif:输出接口(output interface),指定数据包离开的网络接口。ct state
连接追踪状态(connection tracking state),用于匹配数据包的连接状态。常见的状态包括:established:表示连接已经建立。
related:表示与已建立的连接相关的数据包。icmp
ICMP协议(Internet Control Message Protocol),用于网络设备间传递控制消息,如ping命令。tcp dport
TCP目标端口(TCP destination port),指定数据包的目标端口号。log
日志记录(log)指令用于记录匹配的数据包信息,通常用于调试和监控。可以使用 prefix 参数为日志添加前缀。inet
inet协议族是指既支持IPv4也支持IPv6的数据包处理。

