用户工具

站点工具


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
</code

=== 添加规则到组 ===

<code>
pvesh create /cluster/firewall/rules -group web-servers -pos 1 -action ACCEPT -protocol TCP -dport 80
</code

=== 使用安全组 ===

将安全组应用到VM:
<code>
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.1772070550.txt.gz · 最后更改: admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki