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
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/45732.html
