CentOS 与 Ubuntu 防火墙管理指南

CentOS 防火墙管理

CentOS 主要使用 firewalld 作为默认防火墙,早期版本(如 CentOS 6)则使用 iptables。这里以 CentOS 7/8 为例介绍 firewalld 的管理方法。

关闭防火墙

1
2
3
4
5
6
7
8
# 停止 firewalld 服务
systemctl stop firewalld

# 禁用 firewalld 开机自启
systemctl disable firewalld

# 验证防火墙状态
systemctl status firewalld

启动和管理防火墙

1
2
3
4
5
6
7
8
# 启动 firewalld
systemctl start firewalld

# 设为开机自启
systemctl enable firewalld

# 重新加载防火墙规则
firewall-cmd --reload

常见 firewalld 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看防火墙状态
firewall-cmd --state

# 查看开放的端口
firewall-cmd --list-ports

# 开放指定端口(如 80)
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

# 关闭指定端口(如 80)
firewall-cmd --remove-port=80/tcp --permanent
firewall-cmd --reload

Ubuntu 防火墙管理

Ubuntu 主要使用 ufw(Uncomplicated Firewall)作为默认防火墙。

关闭防火墙

1
2
3
4
5
# 关闭 ufw 防火墙
ufw disable

# 查看防火墙状态
ufw status

启动和管理防火墙

1
2
3
4
5
6
7
8
9
10
11
# 启用 ufw 防火墙
ufw enable

# 允许特定端口(如 22)
ufw allow 22/tcp

# 禁止特定端口(如 3306)
ufw deny 3306/tcp

# 删除规则(如 22 端口)
ufw delete allow 22/tcp

其他 ufw 命令

1
2
3
4
5
6
7
8
9
10
# 查看当前规则
ufw status verbose

# 允许所有 HTTP 和 HTTPS 访问
ufw allow 80/tcp
ufw allow 443/tcp

# 禁止所有入站连接,仅允许出站
ufw default deny incoming
ufw default allow outgoing