本地网络设置允许连接到其他连接网络上的任何设备


1

我对计算机网络知之甚少。事实上,我从未正式接受任何与网络相关的教育,但通过阅读自己学到的东西很少。我正面临网络相关的问题,如果你能帮助我,我将不胜感激。

这是我目前的网络设置。所有网络设备都启用了DHCP服务器,所有IP地址都是静态IP地址。

请点击此处查看设置图片

问题:如果我连接到DIR 600L,我可以连接到任何设备。例如,我能够从192.168.2.2 ssh / ping到192.168.0.3,或者我能够从192.168.2.5 ssh到192.168.1.3,这就是我想要的 - 能够从任何设备连接到任何设备。

我可以连接到那些连接到DWR 720或DIR 505的设备,但是如果我连接到DIR 505,则不能连接到那些连接到DIR 600L的设备。例如,我可以从192.168.1.4到192.168进行ssh / ping。 0.3或192.168.1.3但不是192.168.2.4

如果连接到DWR 720,我只能连接到连接到DWR 720的设备,而不能连接到连接到DIR 505或DIR 600L的任何设备。例如,我不能ssh / ping到192.168.0.3到192.168.1.4或192.168.2.2

我不明白为什么我可以通过一种方式而不是另一种方式连接。在防火墙(ufw)设置中,我添加了规则,允许所有设备上的IP范围为192.168.0.1/24,192.168.1.1/24和192.168.2.1/24的所有连接。我在设置中的设备上使用以下操作系统 - RPi B +上的LibreElec Kodi(IP地址:192.168.0.3)。RPi零上的Raspbian拉伸服务器(IP地址:192.168.1.3)。RPi 3B +上的Raspbian Stretch桌面(IP地址192.168.2.4)。两台笔记本电脑上的Kde Neon(IP地址192.168.1.4和192.168.2.2)。

如何以能够从任何其他设备访问任何设备的方式对网络进行配置?出于某种原因,我无法将所有设备连接到DIR 600L,这非常有效。当我从一个房间漫游到另一个房间时,我必须改变我所连接的接入点。

Answers:


3

您必须了解子网路由表的概念。网络是基于分组的。当主机连接到其路由器时,它们的路由表,IP地址等通过DHCP协议进行配置(在您的情况下,您可以手动设置它们)。大多数端点只有一个“默认路由”,如果你想发送一个包含地址/子网的包,那么将它转发给具有IP地址的路由器。

直接相互连接的节点(主机的另一个术语)可以使用以太网层ARP协议来找出哪个以太网级主机(通过其MAC地址唯一标识)与默认路由的IP地址相关。

您的所有计算机都可以执行此操作,因此他们始终能够将IP包转发到“他们的”路由器,并利用路由器的基于IP的“服务”,例如http配置界面。

现在,当您连接到600L时,当您想要连接到IP时,您所做的就是转发到该路由器的包。该路由器本身充当下一个路由器505的“客户端”。因此它还有一个默认路由条目,允许它转发其子网外的IP地址包。对于下一个路由器也是如此。

例如:如果您将包裹从192.168.2.5发送到谷歌的8.8.8.8 DNS服务器,它将正确到达其目的地,因为您所涉及的所有路由器都知道如何通过其默认路由条目转发包。

问题是当响应包进入你的第一个路由器时,这台机器对第二个和第三个路由器没有任何线索!您必须通过手动添加两个路由表条目(通常通过Web配置界面)通知它有关这两个路由器和子网的信息。

同样的情况适用于505,但您只需要添加一个路由表条目,因为它已经知道如何通过默认路由将包转发到720。所以你只需添加一个额外的条目,告诉它将192.168.2 / 24的包转发到192.168.1.2。


2

您可能不需要搞乱防火墙设置或静态路由。您所要做的就是按照第97页的手册中的说明将DIR 505切换到转发器模式。然后将505连接到600L的其中一个LAN端口而不是Internet端口。这样,所有路由器都应该是同一网络的一部分,而不是形成3个独立的路由器。600L现在仅用作交换机和wifi接入点,并且未使用所有其他路由和防火墙功能。

您还应该在3个路由器中的两个中停用dhcp服务器,因为网络应该只有其中一个。并且您需要确保所有3个路由器具有不同的IP地址但都在同一子网中,例如192.168.0.1/24


最佳解决方案,但在IP网络如何工作方面教育程度最低!;)
T Nierath

2

有两个问题,源于所有这些路由器盲目地假设一个特定的网络布局(他们都期望上行链路上的互联网等)。


最重要的是,您的每个路由器根本不了解其他子网。例如,DIR 505不知道192.168.2.0/24的存在,并且DWR 720不知道存在192.168.1.0/24。

它们都默认为一个简单的路由配置,告诉他们

  1. 192.168.x.0 / 24直接在我的LAN接口上,
  2. 0.0.0.0/0(其他所有内容)通过WAN网关。

第二条路线(通过广域网端口推送其他所有路由)是允许他们盲目地到达“左侧”的网络(按照您的图像)。但是当你试图“在右边”到达网络时......好吧,没有已知正确的路由,所以数据包再次通过WAN端口的默认路由,最终在互联网上。

您可以通过向每个路由器添加静态路由来解决此问题。在DWR-720上,为两个网络添加路由:

  • 通过192.168.0.2(DIR-505)到192.168.1.0/24(掩码255.255.255.0)
  • 通过192.168.0.2到192.168.2.0/24

请注意网关地址始终是从您正在配置的路由器的角度来看的。(另外一条更广泛的路线也可以使用,但让我们保持简单。)

在DIR-505上,只添加一条路线(默认路线负责其余路线):

  • 通过192.168.1.2到192.168.2.0/24

最明显的问题是,如何来你能够连接从“内部”网络,并仍收到回复回来?答案是所有这些路由器都执行NAT; 他们重写了传出数据包的源IP。

例如,当笔记本电脑192.168.2.2连接到打印机192.168.1.5时,打印机实际上认为其客户端是192.168.1.2(DIR-600L)。因此它将回复发送回192.168.1.2,它识别已建立的连接并将地址重写 192.168.2.2。

一旦配置了静态路由,您就可以(并且确实应该)在DIR-505和DIR-600L上禁用NAT。它只需要在网络的最外边缘(DWR-720直接连接到Internet)。


第二个问题是所有这些路由器很可能都有防火墙活动。他们希望WAN端是广泛的互联网,因此即使数据包正确地路由到他们的LAN,它们也会被阻止。

尝试在DIR-505和DIR-600L上找到防火墙设置,并完全禁用它。

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.