只能通过VM路由器单向ping


0

TL;博士

我有两个本地网络(一个是VirtualBox内部LAN)和一个作为它们之间路由器的Win2K VM。我可以将主机从一个网络ping到另一个网络,但反之亦然。

摘要

我正在运行VirtualBox 4.3.6,内部网络上有一组VM (10.0.42.x)。所有虚拟机都是Windows 2000 Server SP4(不是我的第一选择,但是一个人可以使用它)。我的笔记本电脑正在运行Windows 7 Home Premium。我正在尝试配置其中一个服务器在VirtualBox的内部网络和物理LAN(192.168.1.x)之间进行路由,为了解决这个问题,我将其称为外部网络。路由器有一个第二个桥接NIC(所以看起来好像它在外部LAN上)。

在任何人要求之前,正如他们不可避免地所做的那样,这是一次学习练习。

目前

  • 路由器VM可以ping两个网络中的任何目的地。
  • 我的笔记本电脑可以ping虚拟网络中的任何访客。我必须手动添加路由才能完成此任务:route add 10.0.42.0 MASK 255.255.255.0 192.168.1.42。对于从内部网络进入的流量,路由器似乎正常工作。
  • 访客可以ping内部网络中的任何目的地,以及路由器的外部接口。但是,它们不能到达外部网络中的任何主机,例如我的笔记本电脑或DSL路由器(两者都不阻止ping请求)。

Ping请求失败,Request timed out.A tracert收益率:

跟踪路由到最大30跳的192.168.1.69

  1 <10 ms <10 ms <10 ms 10.0.42.1
  2 * * *请求超时。
  3 * * *请求超时。
  ...

192.168.1.69我的笔记本电脑在哪里,10.0.42.1是路由器外部接口的地址。这告诉我路由器配置有问题,但我所做的就是为局域网路由配置RRAS并将其留在那里,这并不能阻止我进入内部网络。

我认为我可以排除

  • 防火墙(每个主机都响应来自某个地方的 ping )。
  • 错别字(我将复制粘贴到偏执的地方以避免错误)。

我试过的

  • 删除和重新配置RRAS。
  • 添加了guest虚拟机的默认路由(route add 192.168.1.0 MASK 255.255.255.0 10.0.42.1)。
  • 添加了默认网关到路由器的网卡(不认为它会有所帮助,但它没有)。

细节

更多细节请求; 这个问题可能已经足够长了。

笔记本电脑
IP 192.168.1.69/24
默认网关(DSL路由器)

路由器
IP 192.168.1.42/24
IP 10.0.42.1/24

访客
IP 10.0.42.128/24
默认网关10.0.42.1

路线表

我已经包含了无法在自己的网络外ping的guest 虚拟机的路由表(这实际上是一个不同的guest 虚拟机(10.0.42.254),但是除了路由器之外的所有guest 虚拟机,它都有相同的问题):

网络目标网络掩码网关接口度量标准
          0.0.0.0 0.0.0.0 10.0.42.1 10.0.42.254 1
        10.0.42.0 255.255.255.0 10.0.42.254 10.0.42.254 1
      10.0.42.254 255.255.255.255 127.0.0.1 127.0.0.1 1
   10.255.255.255 255.255.255.255 10.0.42.254 10.0.42.254 1
        127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
      192.168.1.0 255.255.255.0 10.0.42.1 10.0.42.254 1
        224.0.0.0 224.0.0.0 10.0.42.254 10.0.42.254 1
  255.255.255.255 255.255.255.255 10.0.42.254 10.0.42.254 1
默认网关:10.0.42.1

你有WAN加速器吗?
— Colyn1337 2014年

不,我试着让事情变得简单。
— Quick Joe Smith

Answers:


0

当一个主机成功ping另一个主机时:

一个ICMP Echo Request包由始发组装时,路由表进行协商,接口被选择,并且该分组被运到下OSI层,到目标主机。

目标主机接收ICMP Echo Request寻址到自身的地址,记录请求者的IP地址,并制定一个ICMP Echo Reply,查询其路由表,选择一个接口,然后将其发送Reply回请求者。

请求者接收ICMP Echo Reply,记录完成发送 - 接收循环所花费的时间,并将其记录给用户。

此时,数据包从A到B,另一个从B到A,成功。

这证实A可以到达B,B可以到达A.

这应该是它的结束,但由于某种原因,B不能发送Echo Request给A,或者A不能发送Echo Reply给B.

验证A成功ping B时使用的IP地址,并确保它们是B尝试ping A时使用的IP地址。

这是ping程序的问题吗?两个系统可以通过TCP相互通过吗?(telnet B 25预计连接被拒绝;挂起意味着数据在此过程中丢失。


来自客人的telnet回复Connecting To 192.168.1.69...Could not open a connection to host on port 25 : Connect failed
— Quick Joe Smith

马上,或挂了几秒钟后?
— Nevin Williams 2014年

几秒钟后。
— Quick Joe Smith
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.