在虚拟机中运行软件路由器,MAC 地址问题

在虚拟机中运行软件路由器,MAC 地址问题

大家好。我正在尝试设置一系列虚拟机,以测试一系列路由软件包,如 m0n0wall、pfsense、endian、vyetta 等。我有一台功能强大的虚拟机服务器,配有 2 个板载 NIC 和 1 个四核英特尔卡。我在这个机器上运行 Vmware server 2 作为我的虚拟主机。

到目前为止,我已经运行了一个字节序的虚拟机,并且我有以下虚拟网络信息:

VMnet2(桥接)- 桥接至英特尔 PRO/1000 GT 四端口服务器适配器 #1 VMnet3(桥接)- 桥接至英特尔 PRO/1000 GT 四端口服务器适配器 #2 VMnet4(桥接)- 桥接至英特尔 PRO/1000 GT 四端口服务器适配器 #3 VMnet5(桥接)- 桥接至英特尔 PRO/1000 GT 四端口服务器适配器 #4

据说所有的子网都是 255.255.255.255,但是它们是桥接的,所以我相信它们可以获得硬线上的任何东西。

接下来,在 endian VM 中,我有 4 个网络适配器,分别是 VMnet2、3、4 和 5。

我在 ATT U-verse 连接上运行所有这些,并根据我的 ISP 的说明将 VMnet5 NIC 设置为 DMZ+。在 uverse 路由器中,我可以从 MAC 地址看到适配器 #4 的硬件 NIC 实际上被分配了用于我的连接的公共 IP,但在虚拟机内部,该 NIC 被从 uverse DHCP 服务器分配了一个私有 DHCP IP(无法关闭,但不需要关闭,因为 DMZ+ 直接提供 IP)。

我在这里做了几件事。首先,我进入了 Endian 并伪造了硬件 NIC 的 MAC 地址,此时 endian 确实收到了正确的公共 IP 地址。但是当我尝试通过 LAN(由 VMnet2(适配器 #1)提供)访问网页时,我的浏览器会重置连接,并且我无法浏览任何页面。但是我可以 ping google.com 等。

有人尝试过设置这样的虚拟路由器吗?我希望能够随意在路由器之间切换以进行测试。

答案1

很难从中判断您的问题是否是由于虚拟化字节序设置造成的。一种找出答案的方法是直接在主机硬件上安装字节序(您可以更换硬盘以避免以后重新安装 VMWare)。

一段时间以来,我们一直在 KVM 下以桥接主机接口的形式运行多个路由器(主要是 pfSense),运行非常顺畅。我们从未需要欺骗主机 MAC 来让其中任何一个工作,但如果您依赖按 MAC 地址过滤的 DHCP 服务器,则可能需要这样做。

我们确实需要解决的一个问题是在主机上配置 iptables 以允许转发到来宾 IP——不确定您的 VMWare 主机是否有推论,但可能值得一看。

相关内容