温馨提示×

centos怎么配置iptables

小樊
53
2026-08-29 09:41:31
栏目: 智能运维

下面以 CentOS 7/8(使用 firewalld,但也可切换为 iptables) 为例,给你一个从基础到常用配置的完整说明。


一、确认系统防火墙方式

1️⃣ 查看当前使用的防火墙

systemctl status firewalld
systemctl status iptables
  • CentOS 7/8 默认:firewalld
  • 如果想用 iptables,需要先关闭 firewalld

二、切换为 iptables(CentOS 7/8)

1️⃣ 关闭 firewalld

systemctl stop firewalld
systemctl disable firewalld

2️⃣ 安装 iptables 服务

yum install -y iptables-services

3️⃣ 启动并设置开机自启

systemctl start iptables
systemctl enable iptables

三、iptables 基础操作

1️⃣ 查看当前规则

iptables -L -n -v

2️⃣ 清空所有规则(谨慎)

iptables -F
iptables -X
iptables -Z

四、常用 iptables 配置示例

✅ 1. 允许本地回环

iptables -A INPUT -i lo -j ACCEPT

✅ 2. 允许已建立连接

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

✅ 3. 开放 SSH(22端口)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

⚠️ 一定要先开放 SSH,否则可能断连


✅ 4. 开放 HTTP / HTTPS

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

✅ 5. 允许 ping

iptables -A INPUT -p icmp -j ACCEPT

五、设置默认策略(重要)

推荐安全策略

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

含义:

  • INPUT:默认拒绝
  • FORWARD:拒绝转发
  • OUTPUT:允许出站

六、保存 iptables 规则(否则重启丢失)

CentOS 7/8

service iptables save

/usr/libexec/iptables/iptables.init save

规则保存在:

/etc/sysconfig/iptables

七、完整示例(安全基础模板)

iptables -F
iptables -X

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

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

service iptables save

八、端口转发(NAT)示例(可选)

将 8080 转发到 80

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

九、常见问题

❓ 规则不生效?

  • 是否保存规则
  • firewalld 是否还在运行
  • 是否被云服务器安全组拦截

❓ CentOS 8 装不上 iptables-services?

yum install -y epel-release
yum install -y iptables-services

如果你愿意,可以告诉我:

  • CentOS 版本
  • 服务器用途(Web / 数据库 / 内网)
  • 是否有公网 IP

我可以帮你定制一套 最小安全 iptables 规则

0