通过“一个 MAC”安全锁定交换机端口将 VirtualBox 机器暴露给网络的正确方法

通过“一个 MAC”安全锁定交换机端口将 VirtualBox 机器暴露给网络的正确方法

比如,我们需要将 LXC 容器 (LXC) 或 Virtualbox VM (VBM) 暴露给公共网络,并拥有自己的 IP 地址(在额外分配的网络 — ADD-net 内),该 IP 地址将通过主机进行路由。在 SOHO 环境中,在主机的主网络接口(例如 eth0)上使用基于桥接的网络的 LXC/VBM 是完全可以的,但如果由于主机提供商的策略,交换机端口被安全锁定为一个唯一的 MAC 地址,则对于 colo-/hosting 系统会失败。

实现它的正确方法是什么?

我设法通过创建人工桥接接口 (br0) 来实现这一点,该接口被分配了 ADD-net 的一个 IP,然后将 LXC/VBM 的以太网端口桥接到 br0。LXC/VBM 内​​部路由设置为使用 br0 的 IP 作为默认网关。

答案1

这是相当不错的解决方案,但是当涉及到某些辅助类型的网络接口时,了解 Linux 内核有特殊的虚拟网络接口驱动程序会很有用:modinfo dummy

filename:       /lib/modules/3.0.0-12-server/kernel/drivers/net/dummy.ko
alias:          rtnl-link-dummy
license:        GPL
srcversion:     8CE65B44AD98B2E491B343B
depends:        
vermagic:       3.0.0-12-server SMP mod_unload modversions 
parm:           numdummies:Number of dummy pseudo devices (int)

对我来说,仅仅为了将 VirtualBox 桥接到它而使用桥接接口是有点多余的。

更新。:值得一提的是,虚拟网卡默认设置相当简洁,因此为了与以太网友好连接,您需要配置它并打开 ARP:ip l set dummy0 up arp on

答案2

正确的做法是,在虚拟机和 ISP 之间添加路由器。添加 就是你所做的br0。主机在其各个网络接口和 br0 之间路由,br0 充当连接虚拟机的交换机。所有流向 ISP 的流量都将以主机网络接口的 MAC 地址离开主机。

此设置要求您的 ISP 将您的 VM 的 IP 地址的流量路由到您的主机的 IP 地址(我相信这就是您所说的“额外分配的网络”)。

相关内容