====== 第十章:Proxmox VE防火墙 ====== 原文链接:https://pve.proxmox.com/pve-docs/chapter-firewall.html 最后更新:2026-02-25 ===== 概述 ===== Proxmox VE防火墙提供了强大的网络安全功能,允许您在节点、虚拟机和容器级别实施网络访问控制。 ===== 防火墙架构 ===== === 层级 === * Datacenter级别 - 全局规则 * Node级别 - 节点规则 * VM/CT级别 - 虚拟机/容器规则 === 规则方向 === * IN - 入站 * OUT - 出站 ===== 启用防火墙 ===== === 全局启用 === 在Web界面: 1. 数据中心 → 防火墙 2. 启用防火墙 3. 保存 === 每节点启用 === # /etc/pve/firewall/cluster.fw [OPTIONS] enable: 1 ===== 规则配置 ===== === 基本规则 === * 操作 - ACCEPT/DROP/REJECT * 协议 - TCP/UDP/ICMP * 源/目标端口 * 源/目标IP === 创建规则 === 通过Web界面: 1. 选择防火墙选项卡 2. 点击"添加" 3. 配置规则 4. 保存 === 命令行 === pvesh create /cluster/firewall/rules -pos 1 -action ACCEPT -protocol TCP -dport 22 -comment "SSH" ===== 安全组 ===== === 创建安全组 === pvesh create /cluster/firewall/groups -group web-servers === 添加规则到组 === pvesh create /cluster/firewall/rules -group web-servers -pos 1 -action ACCEPT -protocol TCP -dport 80 === 使用安全组 === 将安全组应用到VM: qm set 100 -firewall 1 -net0 virtio,bridge=vmbr0,firewall=1 ===== 常用规则示例 ===== === 允许SSH === IN ACCEPT -p tcp --dport 22 -log nolog === 允许HTTP/HTTPS === IN ACCEPT -p tcp --dport 80 IN ACCEPT -p tcp --dport 443 === 拒绝Ping === IN DROP -p icmp --icmp-type echo-request === 限制SSH === IN ACCEPT -p tcp --dport 22 -s 10.0.0.0/8 IN DROP -p tcp --dport 22 ===== IPv6支持 ===== === 启用IPv6 === # /etc/pve/firewall/cluster.fw [OPTIONS] enable: 1 ipv6: 1 === IPv6规则 === 与IPv4类似,支持: * TCP/UDP/ICMPv6 * 源/目标地址 * 扩展规则 ===== 日志 ===== === 日志级别 === * nolog - 不记录 * log - 记录 * reject - 记录并拒绝 * drop - 记录并丢弃 === 查看日志 === tail -f /var/log/pve-firewall.log ===== 自动化规则 ===== === Proxmox内置 === * 集群通信 - UDP端口 5404, 5405 * 迁移 - TCP端口 60000-60010 * VNC - 端口 5900-5999 ===== 防护 ===== === DDoS防护 === * 连接限制 * 速率限制 * SYN cookies === 恶意流量 === * 端口扫描检测 * 异常流量检测 ===== 高级配置 ===== === MAC地址过滤 === IN ACCEPT -mac XX:XX:XX:XX:XX:XX === 连接跟踪 === * 状态跟踪 * RELATED/ESTABLISHED * 允许已建立连接 ===== 故障排除 ===== === 常见问题 === * 规则不生效 * 无法连接 * 性能下降 === 诊断 === # 查看规则 iptables -L -n -v # 测试连接 telnet host port # 查看日志 tail -f /var/log/pve-firewall.log ===== 最佳实践 ===== 1. 默认拒绝所有 2. 最小权限原则 3. 记录重要操作 4. 定期审计规则 ===== 配置示例 ===== === 数据中心规则 === # /etc/pve/firewall/cluster.fw [OPTIONS] enable: 1 ebtables: 1 [RULES] IN ACCEPT -p tcp -dport 8006 -s 192.168.1.0/24 === 虚拟机规则 === # /etc/pve/qemu-server/100.fw [INPUT] IN ACCEPT -p tcp -dport 22 IN ACCEPT -p tcp -dport 80 IN ACCEPT -p tcp -dport 443 [FORWARD] IN DROP -log nolog OUT ACCEPT -log nolog