Virtualbox“;“前进港”;从客人到主人

Virtualbox“;“前进港”;从客人到主人,virtualbox,portforwarding,Virtualbox,Portforwarding,以下是我的设置: - Host: Windows XP - Guest: Ubuntu 10.04 - Networking: NAT 我正在来宾计算机上设置Apache web服务器,但我希望能够在Windows计算机上执行此操作: - go to the browser, type http://localhost:8000 另外,我尝试将我的网络改为网桥,我得到了一个新的IP。但是当我尝试使用http://:8000时,它说它无法连接。这是不可能的本地主机始终默认为本地操作系统上的。

以下是我的设置:

- Host: Windows XP
- Guest: Ubuntu 10.04
- Networking: NAT
我正在来宾计算机上设置Apache web服务器,但我希望能够在Windows计算机上执行此操作:

- go to the browser, type http://localhost:8000

另外,我尝试将我的网络改为网桥,我得到了一个新的IP。但是当我尝试使用http://:8000时,它说它无法连接。

这是不可能的<代码>本地主机始终默认为本地操作系统上的。
当虚拟机运行自己的操作系统时,它有自己的环回设备,您无法从外部访问

如果要访问它(例如在浏览器中),请改用本地IP连接:

http://192.168.180.1:8000
当然,这只是一个示例,您可以通过在来宾操作系统的shell上发出
ifconfig
命令来找出实际的IP。

网络通信主机->来宾 连接到来宾并查找ip地址:

ifconfig 
ipconfig
结果示例(ip地址为10.0.2.15):

转到Vbox实例窗口->菜单->网络适配器:

  • 适配器应该是NAT
  • 点击“端口转发”
  • 插入新记录(+图标)
    • 对于主机ip,输入127.0.0.1,对于来宾ip地址,输入上一个。步骤(在我的例子中是10.0.2.15)
    • 在您的情况下,端口是8000-将其同时放在这两个端口上,但如果您愿意,可以更改主机端口
转到主机系统并在浏览器中试用:

http://127.0.0.1:8000
或者您的网络ip地址(通过运行:ipconfig在主机上查找)

网络通信来宾->主机 在这种情况下,不需要端口转发,通信通过LAN传回主机

在主机上-查找您的网络ip地址:

ifconfig 
ipconfig
结果示例:

IP Address. . . . . . . . . . . . : 192.168.5.1
在来宾计算机上,您可以直接与主机通信,例如,使用ping进行检查:

# ping 192.168.5.1
PING 192.168.5.1 (192.168.5.1) 56(84) bytes of data.
64 bytes from 192.168.5.1: icmp_seq=1 ttl=128 time=2.30 ms
...
防火墙问题? @陌生人建议,在某些情况下,有必要像这样在防火墙中打开使用过的端口(8000或使用过的任何端口)(例如ufw防火墙,我还没有测试):


我也试过,但对NAT和bridge都不起作用。来宾中的apache日志没有给出任何错误,并且apache已在来宾中启动并运行。您确定使用了正确的IP吗?您可以通过尝试从虚拟机内部访问地址来验证这一点。如果失败,您可能使用了错误的IP,或者您的apache未设置为在端口8080上侦听。为我工作-谢谢!也为我工作。在用主机操作系统IP地址替换“localhost”之前,尽管/etc/ssh/sshd中有LogLevel DEBUG3,但我总是在/var/log/auth.log中得到“服务器拒绝您的密钥”和“拒绝访问”而没有解释_config@Chris这是否意味着在主机上,来宾计算机将无法访问虚拟主机条目,如
mysite.localhost
,因为我必须引用仅使用IP地址的主机?两个端口都不是8000。主机端口将是8000或你想要的任何端口,但是来宾端口应该是80V,从VM到主机。在这种情况下,应该可以访问VM并获取其IP地址(10.0.2.15如下)。要从VM访问主机,IP为10.0.2.2(按约定)。如果对来宾使用NAT。。。如果主机上运行的服务仅绑定到127.0.0.1,则来宾无法使用主机的公共ip连接到该服务(例如服务:privoxy)。相反,您需要使用Mark提到的10.0.2.2,或任何“route-n”(在来宾上运行)显示为默认网关。对于CentOS,我们可能不得不或我发现没有必要指定主机或来宾IP地址,您可以将框留空。虽然如果您只想从localhost进行连接,将127.0.0.1作为主机可能是个好主意。原来来宾操作系统有一个活动防火墙,阻止端口80。作为一名将VirtualBox作为我日常工作流程一部分的web开发人员,我不同意将其标记为脱离主题。请考虑重新开放。1。转到vm2。ifconfig(获取本地IP-应该是10.0.2.X)3。ssh 10.0.2.2以访问主机machine@deeperDATA它可能在web开发人员的工作范围内,但堆栈溢出并不意味着封装工作的每个部分。它的需求跨越多个堆栈交换站点,这证明了我们行业的复杂性。我花了很长时间才让它工作起来。我们的问题是来宾系统中应用程序的ip绑定,它绑定到机器名,在ubuntu中是127.0.1.1。我们将绑定更改为0.0.0.0。端口转发设置:主机IP=DNS主机IP,主机端口=8080,来宾IP=eth0的IP,来宾端口=8080。