问题描述
我在Ubuntu VM上安装了Apache。当我进入客户端并加载Firefox时,我可以看到,当我浏览到本地主机时,Apache工作正常。
我想通过主机访问这个页面。我试过使用客人的IP地址,但没有出现。理想情况下,我很想设置我的Windows 7(主机)来请求客户机上的Apache服务器的http://guestserver.com
。我怎样才能做到这一点?
最佳解决方法
如果您需要物理网络中的其他机器能够连接到您的虚拟机(或者虚拟机需要Internet访问),请使用桥接网络。否则,坚持host-only网络。
-
停止您的虚拟机并在VirtualBox(OSE)管理器中打开其设置
-
转到网络选项卡
-
根据您的选择选择网络模式(桥接网络或host-only)(在下面的示例中,我使用的是host-only)如果要使用桥接网络,则必须在Name处选择正确的网络适配器。对于有线连接,您需要选择一种名为
eth0
的名称。无线连接通常命名为wlan0
(数字可能会有所不同) -
保存设置
-
启动Ubuntu VM
-
启动时,您可以运行以下命令来收集IP地址:
ifconfig | grep addr
在下面的输出中,
192.168.56.101
是您的Win7主机系统可用于访问您的虚拟机的IP地址:eth0 Link encap:Ethernet HWaddr 08:00:27:70:27:fe inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe7b:25fe/64 Scope:Link inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host
-
在您的Windows主机系统中,以管理员身份编辑
C:\Windows\drivers\etc\hosts
并添加一行:192.168.56.101 guestserver.com
如果您有Ubuntu主机系统,请使用
sudo nano /etc/hosts
编辑/etc/hosts
-
利润!
次佳解决方法
就我而言,我有一台路由器为我的主机分配一个静态IP。
-
将网络适配器设置为Bridge:Settings>网络>适配器1(启用网络适配器)>附加到:(桥接适配器)>好
-
启动虚拟机>登录
-
将VirtualMachine的IP从动态更改为静态sudo nano /etc /network /interfaces
-
在主网络接口下,将dhcp这个词改为静态,并输入新的静态IP或注释该行并添加一个新行
:
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.10.110
netmask 255.255.255.0
gateway 192.168.10.1
network 192.168.10.0
broadcast 192.168.10.255
注意我的路由器正在xxx.xxx.10.x上工作,你的路由器可能在xxx.xxx.0.x或xxx.xxx.1.x或其他地方。
当你这样做后,你可以在主机和访客机器上都有网络连接,并且在你的网络浏览器中输入这个静态IP来检查你的Apache服务器。
第三种解决方法
您可以尝试将适配器设置为桥接或主机网络适配器,而不是尝试将适配器设置为“桥接”或“主机只有网络适配器”。
第四种方法
接受的答案不适用于我(我安装virutalbox里面的Ubuntu 12.04 LTSand内virtualbox我安装的Ubuntu 14.04 LTS服务器)。我只是交换了适配器1和适配器2的网络设置,即为”bridged networing”设置了适配器1,为”NAT”设置了适配器2,并开始工作。
第五种方法
如果你不能通过IP连接,你不可能在默认的apache安装上获得dns名称的任何成功。
检查虚拟主机的网络设置,我总是把它桥接到它可以访问整个网络。
第六种方法
在桥接模式下,如果您的主机使用静态IP地址,则应使用主机IP在相同范围内手动配置客户IP。否则,guest不会自动分配有效的IP地址。 HTH。
第七种方法
如果你只需要一个特定的端口(假如你正在运行一个像Jetty或Tomcat这样的Web应用程序),只需要:
设置 – >网络 – >将其中一个适配器设置为NAT – >按’Port forwarding’ – >设置相关的主机和访客端口。
一旦你保存了,你可以从你的本地机器到localhost:hostport,它将被重定向到虚拟盒相关的端口,你就完成了。