本篇适合零基础小白,手把手带你在 CentOS/Ubuntu、Windows、macOS 等常见系统上配置防火墙,不再因为端口问题而卡壳!
📖 目录
- 防火墙简介
- 防火墙命令总览
- 一centosfirewalld配置
- 二ubuntuufw配置
- 三windows-防火墙配置
- 四macos-防火墙配置
- 💡-实战建议
- 📚-附录常用端口参考表
- ❤️-结语
防火墙简介
防火墙是操作系统中的“安全大门”,负责管理网络进出流量。常见作用:
- 阻止不必要的端口通信,降低安全风险
- 开放特定端口,保障 Web、SSH、FTP 等服务可用
- 限制或屏蔽恶意 IP
- 防御端口扫描、爆破等网络攻击
防火墙命令总览
系统 | 默认防火墙 | 常用管理工具 |
---|---|---|
CentOS 7+/RHEL | firewalld | firewall-cmd |
Ubuntu/Debian | UFW | ufw |
Windows | Windows Defender | GUI + netsh advfirewall |
macOS | PF(Packet Filter) | GUI + pfctl |
一、CentOS(firewalld)配置
- 查看状态
#查看防护墙状态
sudo systemctl status firewalld
- 启动/停止/开机自启
sudo systemctl start firewalld # 启动
sudo systemctl stop firewalld # 停止
sudo systemctl enable firewalld # 开机自启
sudo systemctl disable firewalld # 关闭开机自启
- 开放端口(以 80 端口为例)
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --reload #重新加载防火墙配置
- firewall-cmd:这是Linux防火墙管理工具firewalld的命令行前端。
- –add-port=80/tcp:这个选项用于指定要开放的端口及其协议(这里是TCP协议上的80端口)。
- –permanent:指定此规则应被添加到永久配置中,这意味着即使系统重启后规则依然有效。
- 查看所有开放端口
sudo firewall-cmd --list-ports
- 关闭端口(以 80 为例)
sudo firewall-cmd --remove-port=80/tcp --permanent
sudo firewall-cmd --reload
- –remove-port=80/tcp:这个选项用于指定要开放的端口及其协议(这里是TCP协议上的80端口)。
📷 图示:CentOS firewalld 开放/关闭端口示意图


二、Ubuntu(UFW)配置
- 查看状态
sudo ufw status verbose
- 启用/禁用
sudo ufw enable # 启用防火墙
sudo ufw disable # 禁用防火墙
- 开放端口(以 22 为例)
sudo ufw allow 22/tcp
- 删除规则(关闭 22)
sudo ufw delete allow 22/tcp
📷 图示:Ubuntu UFW 状态与规则管理界面
三、Windows 防火墙配置
1.图形界面操作
- 打开 控制面板 → 系统和安全 → Windows Defender 防火墙
- 点击 高级设置 → 选择 入站规则 或 出站规则
- 点击 新建规则 → 选择 端口 → 填写端口号 → 选择 允许连接 或 阻止连接
📷 图示:Windows 防火墙开启关闭
📷 图示:Windows 防火墙入站规则创建流程
2.命令行操作(管理员 CMD/PowerShell)
- 查看所有规则
netsh advfirewall firewall show rule name=all
- 开放端口(如 80)
netsh advfirewall firewall add rule name="Allow80" dir=in action=allow protocol=TCP localport=80
- 删除规则
netsh advfirewall firewall delete rule name="Allow80"
四、macOS 防火墙配置
1.图形界面操作
- 打开 系统偏好设置 → 安全性与隐私
- 切换到 防火墙 标签,点击 解锁 → 开启防火墙
- 点击 防火墙选项,添加或删除允许/阻止的应用
📷 图示:macOS 防火墙设置界面
2.命令行操作(PF)
- 编辑配置文件:
sudo vi /etc/pf.conf
# 添加:pass in proto tcp from any to any port 8080
- 加载规则并启用:
sudo pfctl -f /etc/pf.conf
sudo pfctl -e
- 查看状态:
sudo pfctl -s all
- 禁用防火墙:
sudo pfctl -d
💡 实战建议
- 开发环境:开放 22 (SSH)、80 (HTTP)、443 (HTTPS)
- 渗透测试:临时停用防火墙,灵活测试(注意安全)
- 生产环境:最小化开放端口、启用日志记录、防止端口扫描
📚 附录:常用端口参考表
端口 | 服务 | 用途 |
---|---|---|
22 | SSH | 远程管理 |
80 | HTTP | 网站访问 |
443 | HTTPS | 安全网站访问 |
3306 | MySQL | 数据库服务 |
3389 | RDP | Windows 远程桌面 |
21 | FTP | 文件传输 |
❤️ 结语
防火墙配置是运维、安全、开发必备技能。掌握以上命令与流程,让你轻松搞定端口管理,远离“无法访问”的烦恼!
📢 如果你觉得有用,点个【关注】,留言告诉我你的防火墙问题,我来帮你解答!