我的Windows 10主机运行VirtualBox,Ubuntu guest虚拟机有一个桥接适配器@ 192.168.1.5。另外,我在Ubuntu中运行一个docker容器,端口绑定到端口8080.我可以从我的网络中(例如从我的移动和桌面主机)点击192.168.1.5:8080。
但是,我无法在mi424wr路由器上进行端口转发,转发到ubuntu guest @ 192.168.1.5。我可以使用端口转发功能来对抗我的Windows 10计算机。
我的路由器有没有关于ubuntu guest虚拟机的内容?
编辑: 当我从外部IP地址尝试时,以下是路由器安全日志中的条目:
我的实际IP地址已替换为" myIp"
另外,我已经测试了一个托管静态文件的http-server npm包。它在我的局域网内工作,但端口转发失败也应该否定Docker作为罪魁祸首。
答案 0 :(得分:2)
也许这可能是因为Ubuntu VM,Docker容器或Windows防火墙上的防火墙设置。也许它们被设置为允许192.168。*。*私有地址但不允许公共IP地址?
见:UFW,
iptables,Docker and iptables,Windows Firewall
我将逐个浏览每个防火墙配置,并测试您是否可以在每次更改后完成。请注意,UFW只是iptables的前端,可能启用也可能不启用。
如果这些似乎都没有帮助,也许你会在NAT模式下运行Ubuntu VM获得更多成功,除了在你的路由器上通过Virtual Box设置端口转发。
见:Virtual Box Networking(特别是6.3.1)。