只能通过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.