两个网络,同一个子网,主机是如何解决的?

时间:2014-06-30 20:34:34

标签: networking

机器物理连接到......

FooNET w /子网192.168.1.0 和 Barnet w /子网192.168.1.0

通过让我们说两个千兆网络。

我尝试ssh到服务器192.168.1.140 ...

ssh admin@192.168.1.140

系统如何确定服务器所在的网络?

如果两个网络上的另一台服务器恰好位于192.168.1.140怎么办?

编辑:让我扩展我的实际情况。我试图使这个通用,以便它对其他人更有帮助,但在这种情况下需要更多的信息。

我在MacBook Pro上的VMWare Fusion上运行了一个名为Eureka的Web服务器VM。 Eureka已配置为具有两个虚拟网络,一个用于公共流量,并通过DHCP将Eureka直接连接到我的真实物理网络。

另一个连接Eureka只在私有虚拟网络上连接了Eureka和Mac。 Eureka在此网络上配置了静态IP,IP为192.168.1.250

物理网络和虚拟网络目前都配置为使用192.168.1.0/24,还值得注意的是这些网络没有连接,主机(MacBook)和Eureka可以访问这两个网络,但除此之外网络是截然不同的。

我的问题有点假设,我真的只是想知道这种情况是如何解决的。我目前在任何一个网络@ 192.168.1.250上都没有其他服务器。

然而,这确实给我带来了一个有趣的结论,我想即使网络是分开的,我也应该将它们分成不同的子网,这样就不会发生冲突。

1 个答案:

答案 0 :(得分:2)

假设您正在使用的机器和服务器直接连接到FooNET和BarNet网络(都有双网卡),要确定将使用哪个网络,您需要查看机器上的路由表ssh'ing来自。这将为您提供数据包将从其发送的接口,从而为您提供物理网络。例如,在家里的笔记本电脑上,我连接到本地子网192.168.152.0/24。进入192.168.152网络的路由是通过我的en0接口,如下面最后一行所示:

vincent:~ scott$ netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.152.1      UGSc           17        0     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              8  4676557     lo0
192.168.152        link#4             UCS             4        0     en0

我的示例只有一个物理接口,您的应该有两个,但其中一个将具有更高的优先级。

关于进一步的问题,如果有另一台服务器具有与您尝试ssh的IP地址相同的IP地址,那么当您尝试ARP地址时,您可能会得到两个响应。响应到达的顺序可能会决定您连接到哪个服务器。我希望不要说这是件坏事。

除非你真的知道自己在做什么(我认为它是为了冗余),否则这种设置会让你很难受。我建议你仔细评估是否需要有两个具有相同网络地址的物理上独立的网络。