以下是关于 ufw(Uncomplicated Firewall)的详细笔记,涵盖安装、配置、规则管理及常用命令:
1. 安装与启停- 安装apt install ufw -y # 在每台节点上安装ufw,比默认防火墙更简单易用
- 启动与开机自启systemctl start ufw # 启动服务systemctl enable ufw # 设置开机自启ufw enable # 必须执行此命令以激活防火墙(会重置现有规则)
2. 规则管理开放端口/IP- 允许特定IP访问指定端口:ufw allow from <源IP> to any port <端口号> # 示例:ufw allow from 192.168.1.100 to any port 22
- 开放常用服务端口(如SSH、HTTP):ufw allow 22/tcp # 允许SSH(TCP)ufw allow 80/tcp # 允许HTTPufw allow 443/tcp # 允许HTTPS
删除规则- 批量删除规则(按编号):for i in {74..46}; do yes | sudo ufw delete $i; done # 删除编号74到46的规则
- 删除单条规则:ufw delete 1 2 3 4 5 # 删除编号1-5的规则(需确认编号)
- 查看规则编号:ufw status numbered # 显示所有规则及其编号
3. 常用操作- 查看状态与规则ufw status # 显示简要状态(是否活跃)ufw status verbose # 显示详细规则
- 重置防火墙ufw reset # 重置所有规则(慎用)
- 日志管理ufw logging on # 启用日志记录ufw logging off # 关闭日志
4. 注意事项- 执行顺序:
安装后必须运行 ufw enable 激活防火墙,否则规则不生效。
修改规则后无需重启服务(ufw 是即时生效的)。
- 规则优先级:
规则按编号顺序匹配,第一条匹配的规则生效。建议通过 ufw status numbered 确认顺序。
- 默认策略:
默认拒绝所有入站流量,允许所有出站流量。可通过以下命令修改:
ufw default deny incoming # 默认拒绝入站ufw default allow outgoing # 默认允许出站 - 删除规则风险:
批量删除(如 for 循环)可能误删关键规则,建议先备份:
ufw status numbered > ufw_rules_backup.txt
5. 示例场景允许内网访问MySQL(3306端口)ufw allow from 192.168.1.0/24 to any port 3306 proto tcp拒绝特定IP访问ufw deny from 203.0.113.45 to any通过以上命令,可以高效管理 ufw 规则,平衡安全性与便利性。建议结合 ufw status 定期检查规则,避免配置错误。