温馨提示×

如何配置CentOS iptables

小樊
42
2026-08-03 00:26:11
栏目: 智能运维

下面以 CentOS 6 / 7(iptables 方式) 为主,说明如何配置 iptables

⚠️ CentOS 8 以后默认使用 nftables,iptables 已被弃用,如需 iptables 兼容方式,请使用 iptables-legacy 或 firewalld。


一、检查 iptables 是否已安装并运行

1. 查看是否安装

rpm -qa | grep iptables

2. 查看当前规则

iptables -L -n -v

二、CentOS 6 配置 iptables(最常见)

1. 启动 iptables 服务

service iptables start
chkconfig iptables on

2. 编辑规则文件

vi /etc/sysconfig/iptables

示例规则(允许 SSH、HTTP、HTTPS):

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# 允许回环
-A INPUT -i lo -j ACCEPT

# 允许已建立连接
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH
-A INPUT -p tcp --dport 22 -j ACCEPT

# HTTP / HTTPS
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# ICMP(ping)
-A INPUT -p icmp -j ACCEPT

COMMIT

3. 重启生效

service iptables restart

三、CentOS 7 使用 iptables(关闭 firewalld)

1. 停止并禁用 firewalld

systemctl stop firewalld
systemctl disable firewalld

2. 安装 iptables 服务

yum install -y iptables-services

3. 启动 iptables

systemctl start iptables
systemctl enable iptables

4. 配置规则

vi /etc/sysconfig/iptables

内容与 CentOS 6 类似。


四、临时添加 iptables 规则(不推荐长期使用)

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save

或:

iptables-save > /etc/sysconfig/iptables

五、常用 iptables 命令

查看规则

iptables -L -n --line-numbers

删除规则

iptables -D INPUT 3

清空规则(慎用)

iptables -F
iptables -X

六、典型生产环境建议

✅ 默认策略:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

✅ 一定要先放行 SSH 端口,防止被锁在服务器外
✅ 使用 iptables-save 保存规则
✅ 生产环境推荐用 firewalldnftables


七、CentOS 8 / Stream 是否还能用 iptables?

可以,但:

update-alternatives --config iptables

选择 iptables-legacy


如果你愿意,我可以:

  • 帮你写 完整可用的 iptables 规则
  • 给你 firewalld 对应配置
  • 或根据你的 服务器用途(Web / DB / 内网)定制规则

只需告诉我你的 CentOS 版本和使用场景

0