两个子网之间相互联网,而非单向联网

两个子网之间相互联网,而非单向联网

PC1 <- LAN 到 LAN -> DSL 调制解调器 <- LAN 到 WAN -> 路由器 <- LAN 到 LAN -> PC2

因此,基本上,我的第一台 PC 连接到调制解调器,第二台 PC 连接到路由器,路由器已从 WAN 连接到 LAN 的调制解调器。我已在两台设备上启用了网络发现和文件/打印机共享。路由器上的第二台 PC 可以浏览连接到调制解调器的第一台 PC 的文件,但连接调制解调器的 PC 甚至找不到连接到路由器的 PC。为什么?这让我更感兴趣,因为人们说我们无法在不同的子网之间通信,但为​​什么路由器 PC 可以连接到调制解调器 PC 并浏览文件?Ping 也可以工作,但只能从路由器 PC 到调制解调器 PC。

路由器 192.168.0.1

调制解调器 192.168.1.1

第一台电脑 192.168.1.2

第二台电脑 192.168.0.100

我该怎么办?互联网在两台设备上都有效,但网络共享是单向的,而不是双向的。我希望它是双向的,两台设备都可以互相推送文件。

答案1

我应该怎么办?

在路由器上,禁用 NAT 和 WAN 防火墙。

在调制解调器上,添加一条静态路由,内容为“可以通过 <路由器的 IP> 访问 192.168.0.x”。

如果调制解调器不允许您添加静态路由,请在 PC1 上执行此操作,或将子网合并为一个。

人们说我们无法在不同的子网之间通信

他们是大规模地过于笼统。不同子网之间的通信是 IP 的核心功能(甚至是 IP 出现之前就存在的网络的核心功能),许多大型网络由互连的子网组成。这就是互联网本身的构建方式。

只有一种特定类型通常无法跨越路由器进入不同子网的数据包:播送和/或某些应用和游戏用于对等发现的多播数据包。例如,当您要求 Windows 显示哪些计算机具有可用的文件共享时,这仅限于同一子网。当您pc2.local使用多播 LLMNR/mDNS 执行 ping 时,这也仅限于同一子网。

但是,这不适用于直接(单播)通信。如果你给操作系统指定一个要连接的特定地址,路由器将要愉快地在子网间尽可能远地转发数据包 – 无论是同一 LAN 中的另一个子网,还是世界另一端。毕竟,这就是您访问网站的方式。

简而言之,

  • PC1 和 PC2 将无法在‘附近的计算机’列表中互相“看到”。
  • PC1 和 PC2能够通过 IP 地址相互连接。
  • PC1 和 PC2也许不会能够解析彼此的主机名,具体取决于所使用的机制(常规 DNS 可以工作,但 mDNS/LLMNR/NetBIOS 则不行)。

接下来的问题是,为什么您的网络中的通信似乎只发生在一个方向上(向外,而不是向内)。这是两个(或可能是三个)独立的问题,不幸的是,许多廉价的调制解调器/路由器(尤其是 ISP 提供的调制解调器/路由器)无法让您解决这些问题。

因此,在继续之前,请考虑一下你是否需要两个子网。更简单(并且保证有效)的做法是有一个大型子网通过在两个路由器之间使用 LAN↔LAN 连接而不是 LAN↔WAN 连接,就像这个答案一样

这就是说:

启用子网之间的通信

第一的,路由表:目前,您无法从调制解调器网络 192.168.1.x“向内”访问路由器网络 192.168.0.x,因为调制解调器没有路线对于此网络。默认情况下,它只有两条路由:

  1. 目的地 0.0.0.0/0:通过 ISP 的网关
  2. 目标 192.168.1.0/24:直接在 LAN 端口上

您需要通过在调制解调器的配置中添加“静态路由”来通知调制解调器,所有到 192.168.0.x 的数据包都必须通过路由器:

  1. 通过路由器 192.168.1.x 到达目的地 192.168.0.0/24(网络掩码 255.255.255.0)

将“x”替换为您的“内部”路由器认为的 WAN 地址。

注意:许多廉价路由器/调制解调器不允许您配置静态路由。如果您的调制解调器不支持,那么您就没那么幸运了,必须将两个子网合并为一个。

或者,您也可以直接在 PC1 上配置相同的静态路由。(PC1 也具有相同的路由表,但调制解调器是默认网关。)

第二,防火墙:最有可能的是,您的“内部”路由器在构建时假设其 WAN 端口将直接连接到 Internet,因此应该有一个防火墙故意阻止传入连接 - 并且即使在您获得正确的路由表后它也会继续阻止它们。

现在,您可以安全地禁用内部路由器的防火墙,因为来自 Internet 的连接已被外部路由器阻止。

第三,NAT。到现在为止,你应该问:“但是如果调制解调器的网络不知道将数据发送到哪里新的连接到路由器的网络,它如何知道将数据发送到哪里回复用于入站连接?

目前,您可以“向外”访问,因为您的内部路由器在其 WAN 端口上启用了 NAT(同样,因为它是为连接 Internet 而不是其他本地网络而构建的)。

启用 SNAT(又称伪装)后,路由器会重写通过其 WAN 端口的所有数据包,并且谎言连接真正来自何处。因此,当 PC2 连接到 PC1 时,PC1 实际上认为连接来自来自路由器本身因为它们在同一个子网中,所以 PC1 已经知道如何向路由器发送回复 - 路由器撤消转换并将数据包转发给 PC2。

如果内部路由器允许禁用 NAT,请禁用它。这将导致通信在两个方向上都停止工作,但这是一个好的你的情况中有一个问题 – NAT 的存在掩盖了之前通信无法完全进行的实际原因。

(注:在某些路由器中,NAT 和防火墙由单个设置或“模式”开关控制。配置界面各不相同非常由于制造商之间无法提供更多细节。

相关内容