我正在尝试在 ESXi(版本 6.7)主机上创建一些子网,并在这些子网中安装一些虚拟机,其中一个或多个虚拟机充当它们之间的网关。我正在尝试在同一个 vSwitch 上创建另一个 VLAN,但我找不到可行的解决方案。以下是我想要实现的一个示例:我的管理网络是 10.0.0.0/24,我想要第二个网络,例如 10.0.1.0/24,因此一些虚拟机将位于 10.0.0.0/24 网络上,其他虚拟机将位于 10.0.1.0/24 网络上,一些虚拟机将在两个网络上都有一个接口。
当然可能还有其他网络(10.0.2.0/24、10.0.3.0/24 等等),但这是描述我的目标的最简单的例子。我尝试通过 netplan 配置文件为在第二个网络上有接口的 VM 分配一个静态 IP(实际上我只对 Ubuntu VM 进行这些测试),我也尝试设置路由,但没有成功。ping 是唯一有效的方法,但如果我尝试连接到互联网上的某个东西,它就不起作用。我知道有些事情可能看起来很愚蠢,但我对这些网络东西不太在行,而且我是 ESXi 的新手,我希望有人能帮助我,提前谢谢。
附言:如果您需要有关我的环境的更多信息,请告诉我。
答案1
正如评论所指出的那样 - 你需要一个路由器。
您说您已经设置了路由 - 您在哪里设置的?您不能只将路由设置为任何 IP 设备并希望这会转发您的请求。设置路由的目标点必须是任何类型的设备,该设备知道如何处理收到的数据包 - 这不一定是“硬件路由器”,它必须是任何类型的能够路由的软件。
从理论上讲,甚至可以将 Windows 客户端/服务器变成路由器 - 您只需要在您想要路由的所有网络中添加接口(据我所知,您已经这样做了),并且您需要安装一个将路由流量的软件 -例如,Windows Server 可以发挥这样的作用。
总结:您想在不同网络之间路由流量吗?仅仅在两个网络中放置一个客户端是不够的,这个客户端必须能够路由 - 它必须成为“路由器”。可以用 Windows Server 制作路由器。你应该这样做吗?正如一些人所说,“这也可能会搬起石头砸自己的脚。这两种做法都不是好主意”。但这是我的观点。