我在VirtualBox中创建了一个NAT网络,从Ubuntu主机我试图通过SSH连接到Ubuntu服务器虚拟机,但我拒绝连接。Ubuntu服务器VM使用端口转发连接到NAT网络。如果我在适配器中设置NAT而不是NAT网络,我可以成功连接端口转发,但是对于此分配,我必须使用NAT网络。
有人可以帮忙吗?我已经花了很多时间试图解决这个问题。我认为问题可能在于Ubuntu主机而不是VirtualBox,但仍然无法找到解决方案。
主持人:Ubuntu 18.04.1。LTS
VirtualBox:5.2.18_Ubuntu r123745
访客:ubuntu-16.04.5-server-i386
访客网络设置:
NAT网络:
港口转发规则:
访客网络接口:
SSH连接失败
root@ThinkPad:~# ssh -vvv user@127.0.0.1 -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中?