SSH但不能ping

时间:2018-11-01 20:53:49

标签: ssh embedded-linux wget

我有一个Ubuntu VM(在MacOS主机上运行),并试图连接到另一个正在运行Linux的机器(busybox,IIRC)。

我可以从机器A(Ubuntu-VM)切换到机器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并发生魔术。

我的网络理解力几乎为零,所以这可能微不足道,但是任何帮助都值得赞赏。

1 个答案:

答案 0 :(得分:1)

在使用NAT接口时,Virtualbox将使用主机的IP地址屏蔽从虚拟机到外部网络的所有流量。为了澄清这一点,到达计算机B的流量来自10.1.10.97(您的MacOS主机),这就是为什么B可以将该流量返回给A的原因,因为它实际上是将其发送到主机,而Virtualbox正在转换目的地NAT虚拟机的地址。

您有两种选择:

  1. 将适配器类型更改为“桥接”(这将更改Ubuntu计算机上的IP地址,但是如果您对网络知识不多的话,这也是最简单的方法。)
  2. 将主机中的端口转发到机器A(我认为这是最适合的解决方案,而无需更改体系结构)

对于情况1,只需在Virtualbox中更改设置,然后获取新IP。

对于情况2,您需要执行的操作是转到“机器设置”,在“网络”部分,展开“高级”并设置端口转发,例如:

Port forwarding rules

通过这种方式,您可以从计算机B上从端口8080上的主机IP(不是10.0.2.15、10.1.10.97)获取信息,并且此流量将被转发(目标NAT)到10.0。 .2.15使用:wget http://10.1.10.97:8080/path/in/ubuntu

由于机器B没有到10.0.2.15的路由,您将永远无法直接从10.1.10.216指向10.0.2.15

我建议您阅读一些有关NAT(https://en.wikipedia.org/wiki/Network_address_translation)的信息

这个答案有很多假设,希望对您有所帮助。