pve:firewall
这是本文档旧的修订版!
第十章: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 </code === 拒绝Ping === <code> IN DROP -p icmp --icmp-type echo-request </code === 限制SSH === <code> IN ACCEPT -p tcp --dport 22 -s 10.0.0.0/8 IN DROP -p tcp --dport 22 </code ===== IPv6支持 ===== === 启用IPv6 === <code> # /etc/pve/firewall/cluster.fw [OPTIONS] enable: 1 ipv6: 1 </code === IPv6规则 === 与IPv4类似,支持: * TCP/UDP/ICMPv6 * 源/目标地址 * 扩展规则 ===== 日志 ===== === 日志级别 === * nolog - 不记录 * log - 记录 * reject - 记录并拒绝 * drop - 记录并丢弃 === 查看日志 === <code> tail -f /var/log/pve-firewall.log </code ===== 自动化规则 ===== === Proxmox内置 === * 集群通信 - UDP端口 5404, 5405 * 迁移 - TCP端口 60000-60010 * VNC - 端口 5900-5999 ===== 防护 ===== === DDoS防护 === * 连接限制 * 速率限制 * SYN cookies === 恶意流量 === * 端口扫描检测 * 异常流量检测 ===== 高级配置 ===== === MAC地址过滤 === <code> IN ACCEPT -mac XX:XX:XX:XX:XX:XX </code === 连接跟踪 === * 状态跟踪 * RELATED/ESTABLISHED * 允许已建立连接 ===== 故障排除 ===== === 常见问题 === * 规则不生效 * 无法连接 * 性能下降 === 诊断 === <code> # 查看规则 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
pve/firewall.1772070558.txt.gz · 最后更改: 由 admin
