这是我现在的情况:
我在云端有一个 proxmox 服务器。我安装了 2 个虚拟机,它们有不同的 IP(与主 proxmox 服务器不在同一子网中 — 请参阅这了解原因)。
在 proxmox 机器上,我已经设置了一个可以完美运行的 iptables 规则列表。
# Allow localhostinterface
/sbin/iptables -A INPUT -i lo -j ACCEPT
#icmp
/sbin/iptables -A INPUT -p ICMP -j ACCEPT
#home network
/sbin/iptables -A INPUT -s xx.xx.xx.xx -j ACCEPT
# Allow already established connections
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Set default policies
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
#LOG IPTABLES
/sbin/iptables -N LOGGING
/sbin/iptables -A INPUT -j LOGGING
/sbin/iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
/sbin/iptables -A LOGGING -j DROP
但是,出于某种原因,这些规则不适用于虚拟机,因为虚拟机在野外完全没有安全性。有没有办法将 proxmox 服务器上有效的相同规则应用于虚拟机?
答案1
我今天早上遇到了同样的问题,然后我也发现了你的问题。
根据本文档,我们只能使用 PVE 防火墙设置虚拟机范围的规则,方法是创建一个包含所有机器的全局规则的安全组,然后将其添加到节点上的每个虚拟机。这样,一旦修改了安全组,更改将影响使用它的所有虚拟机。
我觉得有点不方便,因为我认为在中定义的任何规则/etc/pve/nodes/<nodename>/host.fw
也应该影响其虚拟机,因为已经存在一个名为“数据中心”(或“集群”,因为规则/etc/pve/firewall/cluster.fw
恰好出现在 GUI 的数据中心部分)的现有覆盖区域,我还怀疑这是一个架构问题,将在不久的将来得到修复/更改。