Proxmox:连接私有网络中的虚拟机

Proxmox:连接私有网络中的虚拟机

我想在我的 Proxmox 集群中安装具有私有 IP 的虚拟机并在它们之间路由流量。

例如:

VM1:

192.168.1.10/24

VM2:

192.168.2.10/24

我不确定这是怎么做的。我需要 VLAN 吗?如何在两个子网之间路由流量?

答案1

我通过配置桥来支持解决了这个问题NAT,这基本上就是创建一个路由器。

vmbr0 (192.168.0.2/24, gw: 192.168.0.1) -> bridged to physical port
vmbr1 (10.0.0.1/24) -> local bridge for containers

如果通过网桥连接的容器vmbr1ping google.com,则不会返回任何结果。为了告诉 vmbr1 将来自此网络的流量“转换”到 vmbr2 网络,我在interfaces位于的文件中添加了以下几行/etc/network/interfaces

auto vmbr1
iface vmbr1 inet static
        address 10.0.0.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
-->        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
-->        post-up   iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
-->        post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE

保存更改后,您可以使用以下命令应用它们而无需重新启动:

ifreload -a

解释:

第一行启用 ipv4 转发。接下来的两行添加/删除 NAT 表的规则,用于将流量从子网转发10.0.0.0/24到 vmbr0 网桥。该MASQUERADE选项将源 IP 替换为转换网桥 (vmbr1) 的 IP。

以下是更详细的关联

iptables 概述:https://www.karlrupp.net/en/computer/nat_tutorial

答案2

实际上,我已经解决了这个问题。以下是我所做的:

  1. 创建两个新的 Proxmox 桥接器,每个子网一个。您可以将每个子网中的地址添加到 Proxmox 桥接器,但这不是必需的。

  2. 创建新的虚拟机以在子网之间进行路由。这里有多个解决方案,但我选择的是普富思。此 VM 需要与步骤 1 中创建的两个 Proxmox 网桥建立接口。如果要添加更多子网,请将所有接口添加到此 VM。

  3. 在 pfSense 中启用路由。

  4. (可选)如果您想从主机网络访问这些虚拟机,请创建到这些子网的静态路由,并将 pfSense 作为路由设备中的下一跳。

相关内容