在安装ufw前,建议先更新系统的软件包列表,确保获取最新版本的防火墙工具:
sudo apt update
使用apt包管理器安装ufw(Ubuntu默认的防火墙工具):
sudo apt install ufw
安装完成后,ufw默认处于禁用状态,需手动启用。
输入以下命令启用ufw,并设置其在系统启动时自动开启:
sudo ufw enable
启用时,系统会提示“Command may disrupt existing ssh connections. Proceed with operation (y|n)?”,输入y并回车确认(若未提前配置SSH规则,可能导致远程连接中断,需谨慎)。
启用成功后,会显示“Firewall is active and enabled on system startup”。
为提升安全性,建议设置默认拒绝所有入站连接(仅允许明确允许的流量),同时允许所有出站连接(本机主动发起的流量):
sudo ufw default deny incoming # 默认拒绝所有入站流量
sudo ufw default allow outgoing # 默认允许所有出站流量
根据实际需求开放特定端口或服务(如HTTP、HTTPS、SSH等),常用命令如下:
sudo ufw allow 80/tcp
允许UDP协议的53端口(DNS):sudo ufw allow 53/udp
/etc/services中定义):sudo ufw allow ssh
允许HTTPS服务(443端口):sudo ufw allow https
192.168.1.100访问所有本机端口:sudo ufw allow from 192.168.1.100
允许IP地址段192.168.1.0/24访问所有本机端口:sudo ufw allow from 192.168.1.0/24
sudo ufw status
输出示例:Status: active
Default: deny (incoming), allow (outgoing), disabled (routed)
sudo ufw status verbose
输出示例:Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6)
若需删除已添加的规则,可通过以下方式操作:
sudo ufw delete allow 22/tcp
sudo ufw status numbered
输出示例:Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
删除编号为1的规则(22/tcp):sudo ufw delete 1
sudo ufw logging on
日志文件默认存储在/var/log/ufw.log。以上步骤覆盖了ufw防火墙的核心安装与配置流程,可根据实际需求调整规则,确保系统安全的同时不影响正常业务访问。