CentOS 系统中 iptables 配置文件具体位置及设置方法详解?
- 虚拟主机
- 2025-11-01
- 4748
CentOS 系统中 Iptables 配置文件详解
Iptables 简介
Iptables 是 Linux 系统中用于实现网络防火墙功能的工具,它允许用户根据一定的规则对进出网络的数据包进行过滤、转发或修改,在 CentOS 系统中,Iptables 是默认的防火墙解决方案。
Iptables 配置文件结构
Iptables 配置文件主要分为以下几个部分:

- 规则链(Chain)
- 规则(Rule)
- 规则匹配条件(Match)
- 规则动作(Action)
下面将详细介绍这些部分。
规则链(Chain)
规则链是 Iptables 配置文件中的基本单元,它包含了多个规则,Iptables 中主要有以下几种规则链:
- INPUT:处理进入本机的数据包
- OUTPUT:处理从本机发出的数据包
- FORWARD:处理转发数据包
- PREROUTING:处理目标地址转换(NAT)之前的数据包
- POSTROUTING:处理目标地址转换(NAT)之后的数据包
规则(Rule)

规则是规则链中的具体操作,它由匹配条件和动作组成,匹配条件用于判断数据包是否符合规则,动作则是对符合条件的数据包进行处理。
规则匹配条件(Match)
匹配条件用于筛选数据包,常见的匹配条件有:
- -s:指定源地址
- -d:指定目标地址
- -p:指定协议类型(如 TCP、UDP、ICMP 等)
- -i:指定输入接口
- -o:指定输出接口
- -j:指定动作
规则动作(Action)
动作是对匹配到的数据包进行处理的方式,常见的动作有:

- ACCEPT:允许数据包通过
- DROP:丢弃数据包
- REJECT:拒绝数据包,并返回错误信息
- LOG:记录数据包信息
- MASQUERADE:进行地址转换(NAT)
- REDIRECT:重定向数据包
Iptables 配置文件示例
以下是一个简单的 Iptables 配置文件示例:
# 清除所有现有规则 iptables -F iptables -X # 设置默认策略 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # 允许本机访问 22 端口(SSH) iptables -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT # 允许本机访问 80 端口(HTTP) iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT # 允许本机访问 443 端口(HTTPS) iptables -A INPUT -p tcp -s 0/0 --dport 443 -j ACCEPT # 允许本机访问本机所有端口 iptables -A INPUT -i lo -j ACCEPT # 允许本机访问其他主机 iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # 允许其他主机访问本机 22 端口(SSH) iptables -A INPUT -p tcp -d 192.168.1.100 --dport 22 -j ACCEPT
FAQs
-
问题:如何查看 Iptables 的当前规则?
解答:可以使用以下命令查看 Iptables 的当前规则:
iptables -L -
问题:如何删除 Iptables 的某个规则?
解答:可以使用以下命令删除 Iptables 的某个规则,rule_num 是要删除的规则编号:
iptables -D INPUT rule_num