防火墙是保护服务器安全的重要工具,但如果配置不当,可能会阻止合法流量,导致服务无法访问。以下是快速掌握端口放行和防火墙策略优化的指南,帮助你在3分钟内解决问题。

1. 检查防火墙状态
首先,确认防火墙是否正在运行,并查看当前规则。
UFW(Ubuntu/Debian)
-
检查状态:
sudo ufw status-
如果显示
Status: inactive,表示防火墙未启用。 -
如果显示
Status: active,表示防火墙已启用,并列出当前规则。
-
-
启用/禁用防火墙:
-
启用:
sudo ufw enable
-
禁用:
sudo ufw disable
-
Firewalld(CentOS/RHEL/Fedora)
-
检查状态:
sudo firewall-cmd --state
-
如果显示
running,表示防火墙已启用。
-
-
查看当前规则:
sudo firewall-cmd --list-all
2. 放行端口
根据服务需求,放行相应的端口。
UFW
-
放行单个端口(如80端口):
sudo ufw allow 80/tcp
-
放行端口范围(如8000-9000):
sudo ufw allow 8000:9000/tcp
-
放行服务(如HTTP):
sudo ufw allow http -
删除规则:
sudo ufw delete allow 80/tcp
Firewalld
-
放行单个端口(如80端口):
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
-
放行服务(如HTTP):
sudo firewall-cmd --zone=public --add-service=http --permanent
-
重新加载防火墙规则:
sudo firewall-cmd --reload
-
删除规则:
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent sudo firewall-cmd --reload
3. 优化防火墙策略
为了确保安全性和功能性,优化防火墙策略是关键。
基本原则
-
最小权限原则:
-
只放行必要的端口和服务。
-
避免使用
ufw allow from any或firewall-cmd --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" accept'这样的宽松规则。
-
-
限制来源IP:
-
只允许特定IP访问某些端口。例如:
-
UFW:
sudo ufw allow from 192.168.1.100 to any port 22
-
Firewalld:
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' --permanent sudo firewall-cmd --reload
-
-
-
启用日志记录:
-
记录被拒绝的连接,便于排查问题。
-
UFW:
sudo ufw logging on -
Firewalld:
sudo firewall-cmd --set-log-denied=all --permanent sudo firewall-cmd --reload
-
-
高级策略
-
设置默认策略:
-
默认拒绝所有入站流量,只允许出站流量。
-
UFW:
sudo ufw default deny incoming sudo ufw default allow outgoing
-
Firewalld:
sudo firewall-cmd --set-default-zone=drop sudo firewall-cmd --zone
按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。
提交工单
-
-