SSH 但不能 ping
SSH but not ping
我有一个 Ubuntu VM(MacOS 主机上的 运行),我正在尝试连接到另一个 运行 Linux 的机器(busybox,IIRC)。
我可以从机器 A (Ubuntu-VM) ssh 到机器 B (busybox)。我可以从 A -> B ping 通,但无法从 B -> A ping 通。
机器A的IP为10.0.2.15,B的IP为10.1.10.216。
我的最终目标是能够在 B 上使用 wget 从 A 获取文件,我希望解决此 ping 问题将使 B 能够看到 A 并允许魔法发生。
我的网络理解力几乎为零,所以这可能是微不足道的,但非常感谢任何帮助。
当您使用 NAT 接口时,Virtualbox 将使用主机的 IP 地址屏蔽从您的虚拟机到外部网络的所有流量。为了澄清这一点,到达计算机 B 的流量来自 10.1.10.97(您的 MacOS 主机),这就是 B 可以 return 将流量发送到 A 的原因,因为它实际上是将它发送到主机和 Virtualbox正在将目标地址转换为 NAT 虚拟机。
您有两个选择:
- 将适配器类型更改为桥接(这将更改 Ubuntu 计算机上的 IP 地址,但如果您对网络知识不多,这也是最简单的方法)。
- 将主机中的一个端口转发到机器A(我认为这是最合适的解决方案,无需更改架构)
对于情况 1,只需更改 Virtualbox 中的设置然后获取新 IP 即可。
对于情况 2,您应该做的是转到机器设置,在网络部分,展开高级并设置端口转发,例如:
这样,从计算机 B 中,您将能够从端口 8080 上的主机 IP(不是 10.0.2.15,10.1.10.97)获取 wget,并且此流量将被转发(目标 NAT'd)到 10.0.2.15 使用:wget http://10.1.10.97:8080/path/in/ubuntu
您将永远无法直接从 10.1.10.216 指向 10.0.2.15,因为机器 B 没有到 10.0.2.15 的路由
我建议您阅读一些有关 NAT 的内容 (https://en.wikipedia.org/wiki/Network_address_translation)
这个回答有很多假设,希望对你有帮助。
我有一个 Ubuntu VM(MacOS 主机上的 运行),我正在尝试连接到另一个 运行 Linux 的机器(busybox,IIRC)。
我可以从机器 A (Ubuntu-VM) ssh 到机器 B (busybox)。我可以从 A -> B ping 通,但无法从 B -> A ping 通。
机器A的IP为10.0.2.15,B的IP为10.1.10.216。
我的最终目标是能够在 B 上使用 wget 从 A 获取文件,我希望解决此 ping 问题将使 B 能够看到 A 并允许魔法发生。
我的网络理解力几乎为零,所以这可能是微不足道的,但非常感谢任何帮助。
当您使用 NAT 接口时,Virtualbox 将使用主机的 IP 地址屏蔽从您的虚拟机到外部网络的所有流量。为了澄清这一点,到达计算机 B 的流量来自 10.1.10.97(您的 MacOS 主机),这就是 B 可以 return 将流量发送到 A 的原因,因为它实际上是将它发送到主机和 Virtualbox正在将目标地址转换为 NAT 虚拟机。
您有两个选择:
- 将适配器类型更改为桥接(这将更改 Ubuntu 计算机上的 IP 地址,但如果您对网络知识不多,这也是最简单的方法)。
- 将主机中的一个端口转发到机器A(我认为这是最合适的解决方案,无需更改架构)
对于情况 1,只需更改 Virtualbox 中的设置然后获取新 IP 即可。
对于情况 2,您应该做的是转到机器设置,在网络部分,展开高级并设置端口转发,例如:
这样,从计算机 B 中,您将能够从端口 8080 上的主机 IP(不是 10.0.2.15,10.1.10.97)获取 wget,并且此流量将被转发(目标 NAT'd)到 10.0.2.15 使用:wget http://10.1.10.97:8080/path/in/ubuntu
您将永远无法直接从 10.1.10.216 指向 10.0.2.15,因为机器 B 没有到 10.0.2.15 的路由
我建议您阅读一些有关 NAT 的内容 (https://en.wikipedia.org/wiki/Network_address_translation)
这个回答有很多假设,希望对你有帮助。