我又查看了其他几个问题,但似乎没有一个与我的问题完全吻合。
我有一个运行 vagrant 的 Ubuntu 32 位系统。它有一个公共接口 (eth1) 和一个 nat 接口 (eth0)。eth0 是 ssh 进入机器所必需的,因为它只是命令行,但如果需要,可以将其删除。
我的问题是,我的网站可以直接在本地机器上访问,但当我尝试通过互联网访问它时却无法访问,SSH 也是如此。似乎没有什么能够突破 VM 沙盒。有人有什么建议吗?
注意:我刚刚测试过,我可以在本地网络上访问它,但它无法通过互联网工作。我知道端口转发有效,因为我可以将端口 22 和 80 指向我的主机,并让 apache 和 ssh 在全新安装上工作,只是 VM 似乎破坏了一切。
我的接口文件:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet dhcp
post-up route del default dev $IFACE
#VAGRANT-END
答案1
192.168.xx 地址分配给私有网络,无法从公共互联网访问。
您应该在路由器上创建端口重定向规则,将所需的端口转发到虚拟机,或者应该为接口提供一个公共 IP 地址,并确保正确配置了公共网络。
答案2
我遇到了同样的问题:MacOS X 主机上的 Linux 客户机可以从网络上的任何计算机访问,但不能从外部访问,即使路由器设置正确。我能够使用提供的答案解决它在此处输入链接描述。