![从主机操作系统连接到客户操作系统](https://linux22.com/image/1378916/%E4%BB%8E%E4%B8%BB%E6%9C%BA%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%AE%A2%E6%88%B7%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.png)
我有Windows 7 操作系统中 VirtualBox 上的 Ubuntu 服务器 12.04。 我设置Ubuntu 内部的防火墙允许访问端口 80。Ubuntu 服务器正在运行 Apache 服务器。我在 VirtualBox 中选择了 Host-only Adapter 模式,并选择了虚拟盒主机仅以太网适配器作为适配器类型。现在我已将172.17.10.60
IP 地址设置为虚拟盒主机仅以太网适配器在 Windows 7 中打开它网络和共享中心http://172.17.10.60
。但是当我从 Windows 7 中的 Google Chrome连接到时,它显示Google Chrome could not connect to 172.17.10.60
。因此,我在 VirtualBox Ubuntu Server 上运行 ifconfig。它给了我一个 IP 地址192.168.56.101
。我的问题是:-
- 为什么两个 IP 地址不同?
更重要的是 - 如何从 Windows 7 连接到 Ubuntu 服务器。
如果有帮助的话,ping 到 172.17.10.60来自 Windows 的回复已成功返回。提前致谢。
答案1
IP 地址必须在客户系统中设置,而不是在主机中设置。根据您的设置,响应172.17.10.60
的接口在 Windows 中可见。
首先,转到VirtualBox -> File -> Preferences -> Network
并添加/检查仅主机网络设置是否正确。根据您所写的内容,您应该有一个172.17.10.60
可以寻址的网络。
然后,您可以使用 DHCP 来寻址虚拟机或静态寻址(关闭 DHCP 并直接在客户机中配置网络)。
在客户机中,使用ifconfig <interface> 172.17.10.60 netmask <host-only ntw. mask>
或将配置写入网络脚本(类似于/etc/sysconfig/network-scripts/ifcfg-<interface>
;我不知道这在类似 Debian 的系统上是否正确,但应该是类似的东西)以使其永久生效。
评论更新:
就是在主机虚拟网卡和客户机网卡之间创建虚拟网络。所以主机网卡和客户机网卡是不同的。使用静态地址时,您只是将网络上的两个网卡配置为具有相同的 IP,这显然是不正确的。
答案2
应该一步一步来。
你使用的网络类型是什么,一共有三种类型。
- 仅限主机<=您选择这个。
- NAT
- 桥接
仅主机网络需要一对 IP,一个在客户操作系统,一个在外部服务器。它们都应该是私有 IP,不会干扰外部网络,也不会在任何地方使用。例如 172.17.10.60 和 172.17.10.61
在客户操作系统内部进行 ping 测试,看看是否可以 ping 指定的 IP
在外部服务器内进行 ping 测试,看看是否可以 ping 指定的 ip
关闭客户操作系统的防火墙,因为它是仅主机网络,所以这是没有意义的。
从客户操作系统到外部服务器进行 ping 测试,反之亦然,以确认连接
如果步骤 6 不起作用,请拔掉外部服务器的所有接口并调整防火墙设置、防病毒设置。
通常情况下,最简单的设置是桥接网络,然后您只需从您的局域网中获取 1 个 IP 并分配给客户操作系统就可以了。然后您可以将客户操作系统和外部服务器视为 2 台独立的机器。
答案3
解决这个问题最简单的方法之一是将适配器类型从虚拟盒主机仅以太网适配器在 VirtualBox 上桥接,那么您将拥有与 Windows 7 相同范围的 IP。
在测试一些 Web 应用程序时我总是这样做,并且效果很好。