好的,情况是这样的。
我正在 Windows 7 中将 Ubuntu 操作系统作为 VirtualBox 实例运行。
主系统 Windows 7 和 Ubuntu 操作系统均安装了 Apache。
现在我的主系统(Windows 7)有一个公共 IP 地址 //whatismyip
如果我让两个 Apache 服务器 [在 Windows 和 Ubuntu 中] 都运行,是否可以使用不同的物理 IP 来标识每个服务器,并分别访问每个服务器?
基本上,是否可以让 VirtualBox 操作系统获得一个新的物理 IP,以使其与主机区分开来?
我的目标是从外部网络访问它们每一个,而不是在 LAN /同一个 WAN 中。
抱歉,如果太明显的话。我是初学者,我的网络知识很差!
答案1
您无法为 VM 分配额外的公共 IP(至少在经典配置中不能,并且您必须为额外的 IP 付费),但有一种解决方法。
HTTP 服务器默认在端口 80 上运行。您可以将主机的任何端口转发到虚拟机的 80。这样,它就可以在同一个公共 IP 下访问,但在另一个端口上。
要对端口 81 执行此操作(仅作为示例),请打开虚拟机的设置,然后单击“网络”选项卡并展开“高级选项”。单击“端口转发”按钮并添加新规则。将主机端口设置为 81,将客户机端口设置为 80。
例如,如果您的 IP 地址是192.0.2.1
,那么192.0.2.1
将指向在主机上运行的服务器,并且192.0.2.1:81
将成为客户的服务器。
答案2
是的,你需要配置 VirtualBox 客户机以使用桥接适配器,而不是 NAT 或仅主机或其他任何方式。这将导致物理适配器在实际网络上为主机和客户机拾取数据包,并允许单独的 IP。
完成此操作后,当您启动您的客户机时,它将有一个适配器,其作用就像它连接到与主机相同的网络一样。
答案3
虽然我不太了解虚拟盒。如果您进入 NIC 的设置,您可以进入 IPV4 选项,然后在高级下,您可以配置计算机的 IP 地址。通常,当使用 DHCP 时,您的计算机将采用分配的任何 IP,但如果您在内部使用静态 IP,则可以指定多个静态 IP。从那里,您必须查看 VirtualBox 中的绑定选项,看看它是否允许您独占地绑定到其中一个 IP。如果您有多个物理 NIC,另一个选项可以是为每个系统使用单独的 NIC。