UFW防火墙需先安装启用并设默认拒绝入站、允许出站策略,再按需开放端口、添加IP黑名单、配置接口与状态规则,最后验证调试确保生效。

如果您在Linux系统中需要启用基础防火墙保护,但尚未激活UFW(Uncomplicated Firewall),则可能面临未授权入站流量直接访问服务的风险。以下是开启UFW防火墙并配置端口开放与黑名单规则的多种方法:
一、启用UFW服务并设置默认策略
启用UFW前需确保其已安装,启用后默认拒绝所有入站连接、允许所有出站连接,这是保障系统初始安全性的关键基础配置。
1、执行安装命令(如尚未安装):sudo apt-get install ufw
2、启用UFW防火墙:sudo ufw enable
3、设置默认入站策略为拒绝:sudo ufw default deny incoming
4、确认默认出站策略为允许(通常已预设):sudo ufw default allow outgoing
二、开放指定端口或服务
开放端口是使外部客户端能访问本机服务(如SSH、HTTP)的必要操作,支持按端口号、协议类型或服务名配置。
1、允许SSH服务(端口22,默认TCP):sudo ufw allow ssh
2、开放HTTP端口(80/TCP):sudo ufw allow 80/tcp
3、开放HTTPS端口(443/TCP):sudo ufw allow 443/tcp
4、开放UDP端口53(DNS服务):sudo ufw allow 53/udp
5、开放端口范围(如2000–2010的TCP端口):sudo ufw allow 2000:2010/tcp
三、添加IP地址或网段黑名单规则
黑名单规则用于显式拒绝特定来源IP或子网的全部入站连接,适用于已知恶意地址或测试隔离场景。
1、拒绝单个IPv4地址(如192.168.10.5)的所有入站连接:sudo ufw deny from 192.168.10.5
2、拒绝整个C类子网(192.168.5.0/24):sudo ufw deny from 192.168.5.0/24
3、拒绝某IP通过特定端口(如192.168.1.100访问22端口):sudo ufw deny from 192.168.1.100 to any port 22
4、拒绝某IP的TCP与UDP双协议访问:sudo ufw deny proto tcp from 192.168.2.200; sudo ufw deny proto udp from 192.168.2.200
四、基于接口或连接状态的精细控制
该方法适用于需区分网络接口可信度(如仅允许eth0接收SSH,禁止wlan0)或限制连接状态的高级场景。
1、仅允许来自eth0接口的SSH连接:sudo ufw allow in on eth0 to any port 22
2、拒绝所有新连接请求(保留已建立会话):sudo ufw deny proto tcp to any port any state new
3、允许本地回环通信(保障系统内部服务正常):sudo ufw allow in on lo
4、拒绝非本地回环接口上的ICMP请求(禁ping):sudo ufw deny proto icmp from any to any not dest 127.0.0.1
五、验证与调试规则配置
规则生效前必须验证语法正确性及实际匹配效果,避免因误配导致服务不可达或防护失效。
1、查看当前启用的规则列表(含编号):sudo ufw status numbered
2、查看含详细参数的规则(协议、接口、源/目标):sudo ufw status verbose
3、测试某IP是否被某规则匹配(模拟检查):sudo ufw status | grep "192.168.1.100"
4、在不重启UFW前提下重载全部规则(适用于修改后):sudo ufw reload










