CentOS 系统中 Iptables 的配置与使用指南

Iptables 简介
Iptables 是 Linux 系统中用于实现网络包过滤的工具,它能够根据预设的规则对进出系统的数据包进行筛选,从而保护系统免受未授权访问和攻击,在 CentOS 系统中,Iptables 是默认的网络防火墙。
Iptables 配置基本命令
查看当前规则
iptables -L
清空规则
iptables -F
保存规则
iptables-save > /etc/sysconfig/iptables
恢复规则
iptables-restore < /etc/sysconfig/iptables
Iptables 规则配置
允许特定端口访问

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
允许特定 IP 访问
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
阻止特定端口访问
iptables -A INPUT -p tcp --dport 22 -j DROP
阻止特定 IP 访问
iptables -A INPUT -s 192.168.1.101 -j DROP
设置默认策略
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
Iptables 表和链
Iptables 由多个表(table)和链(chain)组成,表用于分类不同的安全规则,链则定义了数据包流动的路径。
表
filter:默认表,用于实现包过滤功能。nat:用于网络地址转换。mangle:用于修改数据包的头部信息。raw:用于配置数据包的过滤策略。
链
INPUT:进入系统的数据包。OUTPUT:离开系统的数据包。FORWARD:转发数据包。
Iptables 规则优先级

Iptables 规则的执行顺序是从上到下,一旦匹配到符合条件的规则,则不再继续向下执行,在配置规则时,需要确保规则的优先级正确。
Iptables 配置实例
以下是一个简单的 Iptables 配置实例,用于允许来自特定 IP 的 SSH 访问,并阻止所有其他访问:
# 清空默认规则 iptables -F iptables -X iptables -t nat -F iptables -t nat -X # 设置默认策略 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # 允许来自特定 IP 的 SSH 访问 iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT # 允许来自特定 IP 的 HTTP 访问 iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT # 保存规则 iptables-save > /etc/sysconfig/iptables
FAQs
Q1:如何查看 Iptables 的当前规则? A1:使用命令 iptables -L 可以查看 Iptables 的当前规则。
Q2:如何保存 Iptables 的规则到文件中? A2:使用命令 iptables-save > /etc/sysconfig/iptables 可以将 Iptables 的规则保存到文件中。

