Virtualbox NAT网络端口转发拒绝连接

Virtualbox NAT网络端口转发拒绝连接

我在 VirtualBox 中创建了一个 NAT 网络,并尝试从 Ubuntu 主机通过 SSH 连接到 Ubuntu 服务器 VM,但连接被拒绝。Ubuntu 服务器 VM 使用端口转发连接到 NAT 网络。如果我在适配器中设置 NAT 而不是 NAT 网络,我可以通过端口转发成功连接,但对于此任务,我必须使用 NAT 网络。

有人能帮忙吗?我已经花了很多时间试图解决这个问题。我认为问题可能出在 Ubuntu 主机上,而不是 VirtualBox 上,但仍然找不到解决方案。

主持人:Ubuntu 18.04.1. LTS

虚拟盒:5.2.18_Ubuntu r123745

客人:Ubuntu-16.04.5-服务器-i386

访客网络设置:

客户机网络适配器

NAT 网络:

NAT 网络设置

端口转发规则:

端口转发规则

来宾网络接口:

客户虚拟机上的 ifconfig 输出

SSH 连接失败

root@ThinkPad:~# ssh -vvv [email protected] -p 1022
OpenSSH_7.6p1 Ubuntu-4ubuntu0.1, OpenSSL 1.0.2n  7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "127.0.0.1" port 1022
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 1022.
debug1: connect to address 127.0.0.1 port 1022: Connection refused
ssh: connect to host 127.0.0.1 port 1022: Connection refused

更新

  • 我已将转发的入口端口从 1022 更改为 10001,因为端口 1022 转发也无法与 NAT 一起使用。
  • 当我使用端口 10001 进行转发时,我可以看到主机 VirtualBox 实际上正在监听该端口:
root@giacomo-ThinkPad:~# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:10001           0.0.0.0:*               LISTEN      2482/VirtualBox     
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1489/dnsmasq    

相反,当使用与 NAT 网络相同的转发规则时,VirtualBox 不会监听。所以看起来问题可能出在 VirtualBox 上?

答案1

通过安装 VirtualBox 6.0 解决了该问题。有了它,localhost:10001 的所有端口转发也开始与 NAT 网络配合使用。

相关内容