diff --git "a/31\344\275\225\345\230\211\346\200\241/20250416 \357\274\210\344\275\234\344\270\232\357\274\211\351\235\231\346\200\201\350\267\257\347\224\261-\347\273\210\346\236\201\345\244\232\345\261\202\344\272\244\346\215\242\346\234\272/\347\273\210\346\236\201\351\235\231\346\200\201\350\267\257\347\224\261.pkt" "b/31\344\275\225\345\230\211\346\200\241/20250416 \357\274\210\344\275\234\344\270\232\357\274\211\351\235\231\346\200\201\350\267\257\347\224\261-\347\273\210\346\236\201\345\244\232\345\261\202\344\272\244\346\215\242\346\234\272/\347\273\210\346\236\201\351\235\231\346\200\201\350\267\257\347\224\261.pkt" index bd52b4572548466824db1480aabd381c36de64ac..884724ef55576c8963e286de67cc68a4be7920af 100644 Binary files "a/31\344\275\225\345\230\211\346\200\241/20250416 \357\274\210\344\275\234\344\270\232\357\274\211\351\235\231\346\200\201\350\267\257\347\224\261-\347\273\210\346\236\201\345\244\232\345\261\202\344\272\244\346\215\242\346\234\272/\347\273\210\346\236\201\351\235\231\346\200\201\350\267\257\347\224\261.pkt" and "b/31\344\275\225\345\230\211\346\200\241/20250416 \357\274\210\344\275\234\344\270\232\357\274\211\351\235\231\346\200\201\350\267\257\347\224\261-\347\273\210\346\236\201\345\244\232\345\261\202\344\272\244\346\215\242\346\234\272/\347\273\210\346\236\201\351\235\231\346\200\201\350\267\257\347\224\261.pkt" differ diff --git "a/31\344\275\225\345\230\211\346\200\241/20250418 \357\274\210\344\275\234\344\270\232\357\274\211rip\345\212\250\346\200\201\350\267\257\347\224\261\350\256\276\347\275\256/4\350\267\257\347\224\2611\344\272\244\346\215\2421web.pkt" "b/31\344\275\225\345\230\211\346\200\241/20250418 \357\274\210\344\275\234\344\270\232\357\274\211rip\345\212\250\346\200\201\350\267\257\347\224\261\350\256\276\347\275\256/4\350\267\257\347\224\2611\344\272\244\346\215\2421web.pkt" index b195fb600284768d6d19ead5071ae1d2b7bfd0f0..7e669320151a9b259a274b2d179ae546cc2dca08 100644 Binary files "a/31\344\275\225\345\230\211\346\200\241/20250418 \357\274\210\344\275\234\344\270\232\357\274\211rip\345\212\250\346\200\201\350\267\257\347\224\261\350\256\276\347\275\256/4\350\267\257\347\224\2611\344\272\244\346\215\2421web.pkt" and "b/31\344\275\225\345\230\211\346\200\241/20250418 \357\274\210\344\275\234\344\270\232\357\274\211rip\345\212\250\346\200\201\350\267\257\347\224\261\350\256\276\347\275\256/4\350\267\257\347\224\2611\344\272\244\346\215\2421web.pkt" differ diff --git "a/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\211\347\275\221\344\272\222\351\200\232/\344\270\211\347\275\221\344\272\222\351\200\232\347\273\203\344\271\240\357\274\214\347\251\272\347\231\275.pkt" "b/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\211\347\275\221\344\272\222\351\200\232/\344\270\211\347\275\221\344\272\222\351\200\232\347\273\203\344\271\240\357\274\214\347\251\272\347\231\275.pkt" index 61fdc852f83d38604520d5dea47ffee6fd161ab8..4ffde4d316b4fa1553248c8886563b731f43b5d9 100644 Binary files "a/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\211\347\275\221\344\272\222\351\200\232/\344\270\211\347\275\221\344\272\222\351\200\232\347\273\203\344\271\240\357\274\214\347\251\272\347\231\275.pkt" and "b/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\211\347\275\221\344\272\222\351\200\232/\344\270\211\347\275\221\344\272\222\351\200\232\347\273\203\344\271\240\357\274\214\347\251\272\347\231\275.pkt" differ diff --git "a/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\255\351\227\264\345\225\206\344\270\211\347\275\221\344\272\222\351\200\232/\347\251\272\347\231\275\357\274\232\344\270\211\350\267\257\347\224\261\345\231\250.pkt" "b/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\255\351\227\264\345\225\206\344\270\211\347\275\221\344\272\222\351\200\232/\347\251\272\347\231\275\357\274\232\344\270\211\350\267\257\347\224\261\345\231\250.pkt" index 1980f723a22d585394f15e95853228f518311025..ab5d1a0f56cba9efe5daec6324eb77309598e309 100644 Binary files "a/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\255\351\227\264\345\225\206\344\270\211\347\275\221\344\272\222\351\200\232/\347\251\272\347\231\275\357\274\232\344\270\211\350\267\257\347\224\261\345\231\250.pkt" and "b/31\344\275\225\345\230\211\346\200\241/20250422 \357\274\210\344\275\234\344\270\232\357\274\211\344\270\255\351\227\264\345\225\206\344\270\211\347\275\221\344\272\222\351\200\232/\347\251\272\347\231\275\357\274\232\344\270\211\350\267\257\347\224\261\345\231\250.pkt" differ diff --git "a/31\344\275\225\345\230\211\346\200\241/20250612 \351\230\262\347\201\253\345\242\231.md" "b/31\344\275\225\345\230\211\346\200\241/20250612 \351\230\262\347\201\253\345\242\231.md" new file mode 100644 index 0000000000000000000000000000000000000000..c1f26d17ee5d9e81f3f371d87a5c7c32b826b691 --- /dev/null +++ "b/31\344\275\225\345\230\211\346\200\241/20250612 \351\230\262\347\201\253\345\242\231.md" @@ -0,0 +1,109 @@ +```markdown +# UFW 防火墙管理手册 (Debian/Ubuntu) + +## 一、UFW 核心优势 +| 特性 | 传统方案 | UFW 方案 | 优势说明 | +|-------------------|---------------|-------------------|----------------------------| +| 管理复杂度 | 高(iptables) | **低** | 语法简单,降低配置门槛 | +| 规则持久化 | 需手动保存 | **自动保存** | 重启不丢失规则 | +| 底层引擎 | iptables | **nftables** | 兼容新一代内核框架 | + +> 📌 **官方推荐**:Debian/Ubuntu 默认使用 UFW 作为防火墙前端管理工具 + +## 二、快速配置指南 + +### 1. 安装与激活 +```bash +sudo apt update && sudo apt install ufw +sudo ufw enable # 启用防火墙 +sudo systemctl enable ufw # 设置开机自启 +``` + +### 2. 基础规则配置 +```bash +# 设置默认策略(生产环境推荐) +sudo ufw default deny incoming # 拒绝所有入站 +sudo ufw default allow outgoing # 允许所有出站 + +# 开放常用服务 +sudo ufw allow ssh # SSH(22/tcp) +sudo ufw allow 80/tcp # HTTP +sudo ufw allow 443/tcp # HTTPS + +# 限制性规则示例 +sudo ufw allow from 192.168.1.100 to any port 22 # 仅允许特定IP访问SSH +``` + +### 3. 规则管理命令 +| 功能 | 命令示例 | 说明 | +|---------------------|-----------------------------|------------------------| +| 查看规则 | `sudo ufw status numbered` | 带编号显示规则 | +| 删除规则(按编号) | `sudo ufw delete 3` | 删除编号3的规则 | +| 删除规则(按内容) | `sudo ufw delete allow 80` | 删除放行80端口的规则 | +| 规则重载 | `sudo ufw reload` | 不重启应用新规则 | + +## 三、高级配置场景 + +### 1. 端口范围控制 +```bash +sudo ufw allow 8000:8010/tcp # 开放TCP端口范围 +sudo ufw allow 5000:5010/udp # 开放UDP端口范围 +``` + +### 2. 网络段控制 +```bash +sudo ufw allow from 192.168.1.0/24 to any port 3306 # 允许子网访问MySQL +sudo ufw deny from 10.0.0.0/8 to any port 22 # 拒绝整个A类网络SSH访问 +``` + +### 3. 特殊协议控制 +```bash +sudo ufw deny icmp # 禁止ping +sudo ufw allow proto gre from 203.0.113.45 # 允许GRE协议 +``` + +## 四、运维排错技巧 + +### 1. 服务不可达排查流程 +```mermaid +graph TD + A[服务无法访问] --> B{查看UFW状态} + B -->|有拦截规则| C[临时放行测试] + B -->|无拦截规则| D[检查服务监听] + C --> E[确认问题后调整规则] + D --> F[检查网络配置] +``` + +### 2. 日志分析 +```bash +sudo ufw logging on # 启用日志 +sudo tail -f /var/log/ufw.log # 实时查看拦截记录 +``` + +## 五、重要注意事项 +1. **首次启用必做**:确保当前SSH会话IP已被放行,避免被锁定 +2. **规则顺序敏感**:先设置默认策略,再添加例外规则 +3. **生产环境建议**: + ```bash + # 推荐的最小安全配置 + sudo ufw default deny incoming + sudo ufw default allow outgoing + sudo ufw allow from 管理IP to any port 22 + ``` + +## 附:命令速查表 +| 场景 | 命令 | +|--------------------|-------------------------------| +| 允许HTTP | `sudo ufw allow 80/tcp` | +| 拒绝特定IP | `sudo ufw deny from 1.2.3.4` | +| 查看详细规则 | `sudo ufw status verbose` | +| 完全重置防火墙 | `sudo ufw reset` | +``` + +优化说明: +1. 重新组织内容结构,按功能模块划分更清晰 +2. 精简冗余示例,保留最典型场景 +3. 增加可视化流程图和速查表 +4. 强调生产环境最佳实践 +5. 使用更直观的emoji图标提升可读性 +6. 移除非关键的技术细节,聚焦核心功能 \ No newline at end of file