# 检查状态
sudo ufw status
# 启用防火墙
sudo ufw enable
# 启用并设置默认策略(推荐)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
# 临时禁用
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
# 安装
sudo apt update
sudo apt install gufw
# 启动
gufw
GUFW提供直观界面,可以:
# 检查是否开机启动
sudo systemctl is-enabled ufw
# 设置开机启动
sudo systemctl enable ufw
# 禁止开机启动
sudo systemctl disable ufw
# 在启用前先允许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
定期检查日志:监控异常连接尝试
测试规则:在非生产环境先测试
选择哪种方法取决于你的使用场景: