Ubuntu防火墙(UFW)更新规则步骤
在更新规则前,需先确认现有规则,避免误操作影响系统访问。使用以下命令查看:
sudo ufw status
(显示规则概览,如端口开放情况);sudo ufw status verbose
(包含默认策略、规则优先级等详细信息);sudo ufw status numbered
(为每条规则分配编号,便于后续删除或修改)。根据需求添加允许或拒绝特定流量规则,常见场景如下:
sudo ufw allow [port]/[protocol]
(如sudo ufw allow 80/tcp
允许HTTP服务,sudo ufw allow 443/tcp
允许HTTPS服务);sudo ufw allow [service_name]
(如sudo ufw allow ssh
允许SSH连接,sudo ufw allow http
允许HTTP服务,基于/etc/services
文件的服务名称);sudo ufw allow from [ip_address]
(如sudo ufw allow from 192.168.1.100
允许该IP所有流量,sudo ufw allow from 192.168.1.0/24
允许子网所有流量);sudo ufw deny [port]/[protocol]
(如sudo ufw deny 22/tcp
拒绝SSH端口)或sudo ufw deny from [ip_address]
(如sudo ufw deny from 10.0.0.5
拒绝该IP访问)。若需移除错误或不需要的规则,可通过以下方式:
sudo ufw delete [rule_description]
(如sudo ufw delete allow 80/tcp
删除允许80端口的TCP规则);sudo ufw status numbered
查看规则编号,再用sudo ufw delete [number]
删除(如sudo ufw delete 3
删除第3条规则)。添加或删除规则后,需重载配置使更改生效,不影响当前连接:
sudo ufw reload
(重新加载所有规则,保持现有连接不断开);sudo systemctl restart ufw
(完全停止并重启UFW服务,适用于规则冲突等特殊情况)。重载后,通过以下命令确认规则是否正确应用:
sudo ufw status
或sudo ufw status verbose
,检查目标规则是否存在;nmap
工具测试端口是否开放(如sudo nmap -p 80 localhost
,若显示“open”则表示端口开放);nmap
测试特定IP是否被阻止(如sudo nmap -p 22 192.168.1.100
,若显示“filtered”则表示端口被防火墙拦截)。