我试图在Proxmox中设置OPNSense VM,它运行在启用嵌套的Azure中。我有理由这么做,所以请不要问我“为什么不去本土化”的问题。
由于azure不支持vIOMMU (请注意,vIOMMU中的"v“表示虚拟化IOMMU,对于L2实例),所以我不能将接口从Proxmox进一步传递到OPNSense,所以我需要使用桥接器。
主机设置是:
桥接接口处于混杂模式。
实际配置如下:
iface eth0 inet manual
auto vmbr0
iface vmbr0 inet manual
bridge-ports eth0
bridge-stp off
bridge-fd 0客人配置如下:
连接到eth0
在eth0或vmbr0上运行dhclient可以正确地发现和分配IP地址。
现在,我试图在VM中获取OPNSense,以获取IP地址,并通过vmbr0透明地在主机外转发其通信量。我以前在VM中运行的OpenWRT和另一个VM之间做了一些非常类似的事情,使用OpenWRT的“琐碎中继”(KMOD-t继电器,请参阅https://forum.openwrt.org/t/howto-kmod-trelay/49610/2,也参见https://github.com/openwrt/openwrt/commit/c3bba7f8c61ee98265bcffef8ee86e22aa89bbe9),尽管这个特殊情况要简单得多,但我无法让VM与ISP进行正确的通信。我只是尝试通过设置OPNSense VM的接口来欺骗eth0的MAC地址,但这还不够。
我还使用tcpdump检查了两端的通信量,有趣的是,vmbr0确实看到了来自VM的DHCP请求,ISP确实做出了响应,但是这个响应从来没有到达VM,也没有看到对应于Proxmox分配给桥的VM的tap接口。
我在这里错过了什么?
发布于 2022-09-02 07:36:56
FYI,解决方案是在密码模式下使用macvtap。如果我需要更多VM来共享相同的MAC地址,则可以使用ipvtap。
https://stackoverflow.com/questions/73393944
复制相似问题