无法将http请求从外部客户端路由到Virtualbox guest虚拟机


2

我有一个运行Ubuntu 14.04的Virtualbox guest虚拟机和一个node.js Web服务器。Virtualbox主机是Windows 8.1客户端。设置节点服务器后,我在外部提供访问时遇到一些困难。

节点服务器在端口5005上运行,所以通常,我只是从防火墙创建一个端口转发规则,将所有5005请求路由到同一端口上的访客IP(192.168.2.13)。这样做,我看到我从外部位置发出的请求到达防火墙并被允许,但外部客户端从未收到响应。如果我从网络中访问私有IP,它会按正确和正常的方式响应(因此服务器肯定会启动)。

如果我尝试相同的过程,但在主机(而不是客户虚拟机)上运行服务器则可以正常运行!这表明防火墙配置不是问题。我可以从防火墙ping客户IP,因此连接似乎很好。

因此,在VM的网络设置中似乎有一些问题导致了问题,但是什么呢?使用VirtualBox的桥接网络模型,VB guest虚拟机配置了静态IP。

IpTables或UFW都没有配置为阻止访客上的任何东西(我告诉)

我错过了什么?

Answers:


1

原来客人没有正确设置默认网关。我能够通过跑步来说明这一点

route -N

在客人身上,它显示没有默认路线设置。为了解决这个问题,我跑了

route del default
route add default gw 192.168.2.100 eth1

并且访客现在可以正常地与来自互联网的NAT来流量进行通信。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.