我正在创建一个实验室来测试 Kubernetes。我的客户操作系统是 Windows 10,并使用 VirtualBox 6 来创建实验室。我已经创建了三个 Ubuntu 16.04 VM 来安装 Kubernetes 主服务器和工作服务器。我需要以下通信。只是想知道如何建立它。我尝试了 NAT 网络、仅主机适配器和桥接网络适配器;这些选项不能满足我的要求。
要求:
- 客户虚拟机到虚拟机的通信(客户虚拟机应该能够使用静态 IP)。
- 主机与客户虚拟机之间的通信。
- 来自客户虚拟机的互联网连接。
对此设置有什么帮助吗?
答案1
您的 VM 的网络连接 - 当然假设它具有正确配置的连接服务 - 取决于您在 VM 设置中选择的网络类型。
1) NAT - 顾名思义,它能完成所有功能。遗憾的是,它无法在主机上创建匹配的地址。唯一的连接方式是转发单个端口,就像在家用路由器上一样。这可以在管理器界面的“网络”选项卡上完成,在机器的设置中。如果您选择“NAT”作为网络类型,并且卡处于活动/启用状态,则“端口转发”按钮将处于活动状态并可用。
1b) “NAT 网络” - 与上文类似,但您必须先配置 NAT 网络。您可以选择子网(如果有 DHCP 等)。如果您在“NAT 网络”上有多个虚拟机,它们可以相互通信。您可以创建多个“NAT 网络”名称和子网,除非您特意进行设置,否则它们无法相互看到。
2) 桥接 - 桥接主机中的以太网设备之一,并直接连接到网络,就像将其插入某个插孔一样。但是... 一些工作场所、学校等不允许多个 MAC 地址通过单个托管交换机端口进行通信,如果您连接到的任何 LAN 上都是这种情况,它都无法工作。
3) 仅主机 - 这将在您的主机和来宾之间创建一个虚拟网络。有一个可用的 dhcp 服务,但它不会提供网关。如果您希望来宾连接,则需要在主机上设置 NAT/等并以此方式提供访问权限。
4) 仅限内部 - 这会将机器连接到虚拟内部哑交换机。没有 DHCP 服务,没有网关访问,什么都没有。哦,而且主机上没有匹配的适配器。
我经常在练习/演练/实验中设置一台带有 2 个接口的机器 - 一个桥接,一个内部。然后我将其变成路由器机器,使用假域 (fake.tld) DNS 服务、DHCP、全球缓存 DNS 服务等,然后启动其他 VMS 进行实际实验并在仅限内部的网络上执行操作
答案2
桥接网络应该完成这项工作,除非您的主机连接到进行某种 MAC 过滤的交换机,或者您分配的 IP 地址数量有限。使用桥接网络,每个来宾都会被放在与您的主机完全相同的子网上。因此,您可以将您的来宾视为与您的主机位于同一 LAN 上的独立物理机器。