我在Ubuntu VM上安装了Apache。当我进入客户机并加载Firefox时,我可以看到Apache在浏览到localhost时工作正常。

我想通过主机访问同一页面。我尝试使用访客的IP地址,但没有任何反应。理想情况下,我希望设置Windows 7(主机)以在客户机上请求http://guestserver.com的Apache服务器。我该怎么办?

评论

我找到了帮助我解决该问题的网站。以下答案是正确的,但未显示任何有关在VM中创建虚拟适配器的信息。我提到的网站是:christophermaier.name/2010/09/01/…

#1 楼

如果您需要物理网络中的其他计算机才能访问虚拟机(或者虚拟机需要Internet访问),请使用桥接网络。否则,请坚持使用仅限主机的网络。


停止VM并在VirtualBox(OSE)管理器中打开其设置

转到“网络”选项卡

选择所需的网络模式(桥接网络或仅主机)(在下面的示例中,我使用的是仅限主机)

如果要使用桥接网络,您必须在“名称”处选择正确的网络适配器。对于有线连接,您可以选择类似eth0的名称。无线连接通常命名为wlan0(数字可能有所不同)

保存设置
启动Ubuntu VM

启动后,您可以通过运行以下命令收集IP地址:

ifconfig | grep addr


在下面的输出中,192.168.56.101是可在Win7主机系统中用于访问VM的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\System32\drivers\etc\hosts并添加以下行:

192.168.56.101   guestserver.com


Ubuntu主机系统,使用/etc/hosts编辑sudo nano /etc/hosts

Profit!


评论


这对于仅主机的网络非常有效,我现在可以从主机的浏览器访问来宾。但是,通过桥接连接(我想要),我无法从来宾访问Internet。

–urok93
2011年7月7日在11:06



ipconfig不是Linux上的命令,它是ifconfig。你是那个意思吗

–最大
13年6月18日在20:07

在Windows 7/8上,主机文件位于:C:\ Windows \ System32 \ drivers \ etc \ hosts

–达伦
13-10-25在10:01



@begueradj上面的那些步骤适用于桥接网络,但是某些网络不允许/给您多个地址。因此,在我的uni上,我无法使用桥接网络,在那种情况下,我将使用NAT和端口转发。

– Lekensteyn
2014年5月22日14:43

启用两个网络适配器(一个NAT和桥接)使我能够看到并看到蜜蜂。

– stenci
14-10-23在21:56

#2 楼

就我而言,我有一个为我的主机PC分配静态IP的路由器。


将网络适配器设置为网桥:
设置>网络>适配器1(启用网络适配器)>附加到:(网桥适配器)>确定


启动虚拟机>登录


将VirtualMachine的IP从动态更改为静态
sudo nano / etc / network / interfaces


在主网络接口下,将dhcp更改为static
,然后输入新的静态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或其他位置。
完成之后,您就可以上网了连接主机和来宾计算机,然后在Web浏览器中键入该静态IP来检查您的apache服务器。

评论


我忘记说了,您必须确保/ etc / hostname的配置方式正确:nameserver [your_isp_primary_dns]和nameserver [your_isp_secondary_dns]

– Nuc134rB0t
2012年7月2日,12:58



#3 楼

您可以尝试在防火墙/其他端口下尝试端口转发,而不要将端口设置为tcp和udp连接,而不必尝试将适配器设置为桥接或仅主机网络适配器。

评论


到目前为止,这只是Web服务器的最简单选择。将您的来宾网络保留为NAT,并将所需的任何端口转发到主机上。简单。好处是您仍然可以从来宾访问所有网络。桥接时,您只能访问桥接网络。

–SimonAlfie
20 Mar 31 '10:50

#4 楼

接受的答案对我不起作用(我在ubuntu 12.04 LTS内安装了virutalbox,在我的ubuntu 14.04 LTS Server内安装了virtualbox)。我只是交换了Adapter1和Adapter2的网络设置,即将Adapter1设置为“ bridged networing”,将Adapter2设置为“ NAT”,它开始工作。

评论


这很有用,但是请切换适配器顺序,以便来宾默认情况下使用NAT并能够连接到Internet。

–MadeOfAir
15年3月30日在17:17

这实际上对我有用。我正在尝试从Mac主机中访问Windows VM。

– benjaminz
16年6月8日在19:26

经过数小时的阅读并尝试了我可以在网上找到的所有其他解决方案,您的这种想法像一个魅力一样发挥了作用。非常感谢您编写它!使用Ubuntu 18.04作为主机和来宾。

–约翰
19年7月18日在16:22

#5 楼

如果仅需要特定的端口(例如,如果您正在运行Jetty或Tomcat之类的Web应用程序,则只需执行以下操作:

设置->网络->将其中一个适配器设置为NAT->按'Port转发”->设置相关的主机和来宾端口。

保存后,您可以从本地计算机转到localhost:hostport,它将重定向到虚拟机相关端口,您完成了。

#6 楼

如果无法通过ip进行连接,则在默认的apache安装中使用dns名称不太可能成功。

检查虚拟主机的网络设置,我总是将其桥接到它上可以在整个网络中访问。

评论


我将其设置为桥接,但现在访客无法连接到互联网。

–urok93
2011年7月7日在10:58

您在任务OS中获得IP吗?我通常会设置多个NIC来匹配我所有的物理NIC。您能否从任务和主机中转储ifconfig

– PvdL
2011年7月7日在16:48

当我使用无线工作时,但可以使用电缆,但以下屏幕快照显示了我的配置:imageshack.us/photo/my-images/832/guestr.png imageshack.us/photo/my-images/846/virtualbox .png imageshack.us/photo/my-images/9/hostwin7.png

–urok93
2011年7月8日在9:41



请问有什么帮助吗?

–urok93
2011年7月10日在21:58

看来您的计算机已直接连接到Internet,这可能是您的客户端未获得IP(v4)的原因

– PvdL
2011年7月11日在8:36



#7 楼

在桥接模式下,如果主机使用静态IP地址,则应在与主机IP相同的范围内手动配置来宾IP。否则,将不会为来宾自动分配有效的IP地址。 HTH。

#8 楼

Lekensteyn的答案是正确的。但是,如果您在公司环境中,则可能必须为访客的IP地址禁用代理服务器。例如,如果您在主机上使用Mozilla Firefox,并且尝试在访客上访问192.168.56.101/,则需要转到Firefox的“工具”->“选项”->“高级”->“网络”->“设置”,然后使用“否代理”或“没有代理-> 192.168.56.101”。

#9 楼

如果您需要访问由于使用DHCP而获得不同IP的来宾,我建议通过其主机名进行访问。但是,当主机是Windows时,通过主机名访问可能需要一个额外的工具。多播DNS可以解决此问题。

Ubuntu默认是通过Avahi使用的。

Windows主机需要一个Avahi客户端才能发现其他Avahi服务。如果您的主机已经使用了某些Apple软件,则可能已经通过一项名为Bonjour的服务在其中了。但是,如果尚未安装,则可以在此处下载Bonjour的小版本:Bonjour打印服务。安装后,您应该可以通过.local访问您的访客。

注意:默认情况下,mDNS系统似乎使用.local后缀。因此,如果您的主机名是“ dev.myapp.com”,那么实际的主机名将是“ dev.myapp.com.local”。

#10 楼

我经过大量搜索后解决了相同的问题,并以下一种形式阅读了很多消息:

1)在Virtual Box 6.1中安装虚拟机,并带有空白版本的Ubuntu Server 16.04、2GB RAM和一个CPU。主机是Windows 7,连接到路由器。我有一个公用IP,并配置了路由器路由器IP转发并为主机的本地IP打开端口80:192.168.xx.xx。

2)然后在Virtual Box中,转到工具->首选项->网络->添加新的NAT网络。然后编辑此新的NAT网络。 ->名称=“ NatNetwork”。然后单击转发端口-> IPv 4->规则1; TCP;主机IP 192.168.xx.x(主机的本地IP);主机端口= 80;来宾IP = 10.0.2.xx(这是我的来宾ubuntu服务器的IP,我从控制台看到的是$ ifconfig);来宾端口=80。然后单击ACEPT。

3)在虚拟机(在我的情况下为Ubuntu)中,转到配置->局域网配置:仅限于:RedNat;名称=“ NatNetwork”(选择2中创建的Nat Netw。)。

4)接下来,我运行我的来宾计算机(Ubuntu Server 16)。

5)在控制台中,我安装了Apache2,请按照https://www.digitalocean.com/community/tutorials/como-instalar-linux-apache-mysql-php-lamp-en-中的步骤进行操作ubuntu-16-04-es

6)安装apache2后,我可以通过$ curl 10.0.2.xx(来宾计算机的本地ip)查看我的Apache服务器,并通过Chrome浏览器查看同一Apache服务器在本地IP 192.168.xx.xx的主机中,以及在公共IP中的同一Apache服务器(因为我已经为IP转发配置了路由器)。

在下一页中,您可以查看图形处理:
https://estudioecabrera.com.ar/apache-ubuntu/