方法1:使用命令行(最常用)
启用UFW:
# 检查状态
sudo ufw status
# 启用防火墙
sudo ufw enable
# 启用并设置默认策略(推荐)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
禁用UFW:
# 临时禁用
sudo ufw disable
# 完全停止并禁用(重启后也保持禁用)
sudo systemctl stop ufw
sudo systemctl disable ufw
常用命令:
# 查看详细状态
sudo ufw status verbose
# 查看编号规则
sudo ufw status numbered
# 允许特定端口
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
# 删除规则
sudo ufw delete allow 22/tcp
# 或按编号删除
sudo ufw delete 1
# 重置所有规则
sudo ufw reset
方法2:使用图形界面工具(GUI)
1. GUFW(推荐GUI工具)
# 安装
sudo apt update
sudo apt install gufw
# 启动
gufw
GUFW提供直观界面,可以:
- 点击开关启用/禁用
- 预设配置(家庭、办公、公共)
- 图形化添加/删除规则
- 查看实时状态
2. 使用系统设置(Ubuntu桌面版)
打开
Settings(设置)
进入
Privacy & Security(隐私与安全)
点击
Firewall(防火墙)
使用开关按钮控制状态
实用技巧和注意事项
自动启动配置:
# 检查是否开机启动
sudo systemctl is-enabled ufw
# 设置开机启动
sudo systemctl enable ufw
# 禁止开机启动
sudo systemctl disable ufw
避免锁定自己的SSH连接:
# 在启用前先允许SSH
sudo ufw allow ssh
# 或
sudo ufw allow 22/tcp
# 然后再启用
sudo ufw enable
查看日志:
# 查看实时日志
sudo tail -f /var/log/ufw.log
# 启用详细日志
sudo ufw logging on
配置文件位置:
- 主配置:
/etc/default/ufw
- 规则配置:
/etc/ufw/
- 应用配置:
/etc/ufw/applications.d/
快速启用/禁用脚本
创建脚本 firewall-control.sh:
#!/bin/bash
case "$1" in
"on")
echo "启用UFW防火墙..."
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw enable
;;
"off")
echo "禁用UFW防火墙..."
sudo ufw disable
;;
"status")
sudo ufw status verbose
;;
*)
echo "用法: $0 {on|off|status}"
;;
esac
授予执行权限:
chmod +x firewall-control.sh
使用方式:
./firewall-control.sh on # 启用
./firewall-control.sh off # 禁用
./firewall-control.sh status # 查看状态
推荐的安全实践
启用前先配置规则:避免锁定重要服务
使用应用规则:
sudo ufw allow 'Nginx Full'
限制特定IP:
sudo ufw allow from 192.168.1.100
定期检查日志:监控异常连接尝试
测试规则:在非生产环境先测试
选择哪种方法取决于你的使用场景:
- 命令行:适合服务器、远程管理、自动化脚本
- 图形界面:适合桌面用户、不熟悉命令行的用户