无法从 LAN 连接到 VirtualBox Guest 内运行的 Apache(httpd)

无法从 LAN 连接到 VirtualBox Guest 内运行的 Apache(httpd)

客观的 能够从与主机位于同一 LAN 上的其他机器连接到在客户机内运行的 httpd。

采取的方法 我在客户机上配置了带端口转发的 NAT 接口。主机的端口 8080 被转发到客户机的端口 80。

客户机还具有一个仅主机接口,仅用于从主机检查 httpd 的状态(运行/停止)。

我有以下内容设置

  • 主持人--> 联邦调查局
  • 客人--> Debian 9
    • 网络接口(2)
    • NAT
    • 仅限主持人
  • 转发端口 主机端口 8080 转发至客户端口 80

问题 我无法从主机访问客户机上的端口 80(通过使用 localhost:8080,即不使用仅主机接口),因此,也无法从 LAN 访问它。

话虽如此,我在客户机上也有 ssh,我尝试了相同的 ssh 端口转发设置,即转发 Host:8080 到 Guest:22,成功了!我可以从主机以及同一 LAN 上的其他机器通过 SSH 进入客户机。所以这似乎不是防火墙问题。

我已通过 /etc/apache2/ports.conf 让 httpd 监听 0.0.0.0:80。我也尝试过更改 httpd 监听的端口,但没有什么效果。同样,我也尝试过将 httpd 监听的 IP 地址指定为 VirtualBox 分配给 NAT 接口的 IP,但也没有成功。

我尝试从文件>首选项>网络创建一个新的 NAT 接口,并将端口转发添加到 VirtualBox 内置的默认 NAT 接口。

在主机上运行 wget 会得到以下输出

# wget localhost:8080
--2017-08-08 13:06:33--  http://localhost:8080/
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8080... failed: Connection refused.
Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://localhost/ [following]
--2017-08-08 13:06:34--  http://localhost/
Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused.
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... failed: Connection refused.
Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused.

Host 和 Guest 上 netstat 命令产生的输出摘录如下:Host 机器:

Local Address       Foreign Address      State
192.168.1.2:8080    192.168.1.2:52162    FIN_WAIT2

客机:

Local Address       Foreign Address      State
10.0.2.15:80        10.0.2.2:52162       FIN_WAIT2

那么连接被转发给客户机了吗?客户机上没有防火墙(iptables -L 返回一个空列表)。SSH 可访问而 httpd 不可访问可能意味着这是 httpd 配置问题?

我这里可能遗漏了什么?

相关内容