我的 Ubuntu 是运行在 Windows 主机上的客户操作系统。使用了 NAT 并添加了端口转发。对端口 3000 上主机的所有访问都应转发到同一端口上的客户机。
但该端口只能由客户机访问,而不能由主机访问。
使用桥接网络设置,没有任何问题。但我担心的是,当我离线(没有互联网连接)使用主机时,我无法再通过该端口号访问客户机。我尝试禁用主机上的连接,然后无法连接端口 3000。
我的安装和默认 NAT 配置(v4.3.20)可能有什么问题?
答案1
另一种方法是继续使用一个 NAT 适配器,但使用“127.0.0.1”作为端口转发主机 IP。端口转发规则将类似于(您可能还会为 UDP 添加一个)
协议:TCP,主机 IP:127.0.0.1,主机端口:3000,来宾 IP:“来宾 ip”,来宾端口:3000
然后你就可以使用127.0.0.1:3000来访问guest了。
即使物理网络断开连接,环回接口 IP 127.0.0.1 也始终在线。
答案2
您必须添加 2 个适配器才能实现这一点。1 个适配器用于 NAT,另一个适配器用于主机。使用主机专用适配器您的主机和客户操作系统可以通信。通过 NAT,客户可以连接到互联网。
1)Set 1 Host Only Adapter & 1 NAT adapter
2)Enable Virtual Box Network Adapter in your Host Machine.
3)Ping both Host and the Guest and ensure both are connected.
4)Now Create Port Forwarding on the Host Only Adapter.
现在它将起作用
答案3
如果您尝试转发低于 1024 的端口,它甚至不会显示为 LISTENING netstat
。