我有一个家庭网络问题。我有两个无线路由器,它们有自己的网络。我想连接这两个网络,以便它们的客户端可以互相访问。以下是配置。
路由器 # 1(这也连接到互联网)。WAN:动态 LAN:192.168.1.1
路由器 # 2(此路由器的 WAN 端口与路由器 # 1 的 LAN 端口相连 - 互联网正在为其客户端运行。)WAN:192.168.1.2 LAN:191.168.1.1 网关:192.168.1.1
现在路由器 #2(地址为 191.168.1.1/32)的客户端可以 ping 通路由器 #1(例如 192.168.1.100)的客户端。但是路由器 #1 或其客户端无法 ping 通路由器 #2 或其客户端(191.168.1.1/32)。
我尝试在路由器 #1 中为 191.168.1.0/32 设置静态路由,使用网关 192.168.1.2,但没有效果。路由器 #1 或其客户端如何才能到达路由器 #2 或其客户端。此外,出于我自己的原因,我想将 R1 和 R2 放在不同的网络上。
对上述问题的可能问题/解决方案有什么想法吗?
答案1
只需将路由器 #1 的电缆插入路由器 #2 的 LAN 端口(而不是 WAN)并禁用路由器 #2 的 DHCP 服务器。您还需要将路由器 #2 的 LAN IP 更改为与网络上现有设备不冲突的 IP。
答案2
首先想到的是 R2 可能正在执行 NAT。NAT 会使 R2 后面的所有地址显示为 R2 WAN IP(192.168.1.2)。如果是这种情况,则需要关闭 NAT(并非所有消费级路由器都可行)此行为也受此解决方案或下一个解决方案的支持。
- 如果你只想将入站连接发送到一台机器(从 R1 网络到 R2 后面的设备,你可以在 NAT 中为该机器配置针孔或 DMZ
第二种可能性是 R2 的防火墙阻止了除已建立的连接之外的所有入站连接。这意味着,除非内部(R2 网络)有人与外部(R1 网络)有人通信,否则 R1 设备发送到 R2 的任何数据都将被忽略或拒绝。解决这个问题的方法是关闭防火墙。同样,并非所有消费者路由器都具有此功能。这将导致从 R2 网络发送的 ping 得到响应,但阻止任何内容到达 R2 的网络,以便它们能够响应,正如您的问题所述)
第三种可能性是,R1 可能已决定(好吧,在他们的固件中已告知)它是消费级的,我只能在私有 IP 地址上工作。这将导致当您尝试与 R2 通信时,R2 外的网络被忽略(在这种情况下,R2 网络仍将在类似 NAT 的后面获得互联网访问权限,因为 R1 只知道是 R2 的 WAN 在与它通信并将信息发送回那里)
我注意到的第四件事是拼写错误或配置错误。我把它放在第四位是因为我假设是拼写错误。192.168.1.0/32 将把所有 32 位与所有目标地址进行比较。每个八位字节为 8(在句点之间设置),最后一个八位字节必须为 0 才能匹配。这不是一个有效的地址。像 191.168.1.0/24 甚至 /28 或 /30 这样的地址会给你一些空间来匹配地址,但 0/32 永远不会匹配设备。
好的!那么!如果您拥有的不仅仅是普通的 jane linksys 或 belkin 路由器,那么您就可以使用一些更高级的功能。我想说:
确保您的 WAN 地址在 R1 Lan 中静态设置为某个地址(保持 192.168.1.2 就可以,我只需要检查它是否是静态配置的,而不是动态的)。
关闭防火墙(除非你有需要/想要保护的东西,那么你需要对其他部分制定较少限制的规则)或设置为“允许从任何地方到任何地方的任何端口和协议的流量”或你的设备等效设置
关闭 NAT。如果您想要获取它们的不同地址,则需要为它们提供各自的地址,而不是转换它们的地址,以使它们都在同一个地址后面。
决定你想要它们是什么。它们必须位于不同的网络或至少子网中
您必须将自己想象成这里的 R1。如果您收到 192.168.1.5(R1 网络)的数据包,R1 会说哦!我应该能够处理这个。然后立即转发它,或者使用 ARP 来找出目的地在哪里。如果它不知道但应该知道(因为它是它自己的网络),它会返回“无法访问”。这可能就是现在发生的情况,R1 只看到 192.168.1.2,而看不到它后面的内容。
现在假设您的服务器 172.16.1.5 位于 R2 后面。如果您是 R1,并且您有一条通往 172.16.1.0/24 的路由,那么它将进行比较并说“好的。我必须将此地址的前 24 位与路由匹配。”因此,它将比较前三个八位字节(总共 24 位,我简化了计算)与路由。当它匹配时,它会将流量转发到您列出的位置。在本例中为 192.168.1.2。只要您没有 NAT 或防火墙阻止它,或者没有 ACL 阻止它,那么流量就应该连接。
假设 R2 网络为 172.16.1.0/24,R1 为 192.168.1.0/24
确保在 R2 上正确配置了 DHCP 范围。如果没有 nat 或防火墙,但 R2 正在分发 10.10.10.0/24 地址,而您告诉它去寻找 191.168.1.0/24 地址,那么您将让您的计算机徒劳无功
有可能 R1 正在查看您为其提供的 R2 地址范围,并意识到这是私有地址,因此将其发送到上游,以询问您的提供商它们的位置。我之前提到的 /32 问题会使情况变得更糟
- 我建议将 R2 的网络更改为私人的出于这个原因,除非你真正拥有这些 IP
确保任何静态地址均位于其各自的 DHCP 池之外
注意!您的一条评论提到将网络分为两部分。此方法不能满足该要求。如果您拥有的是一款消费级路由器,但选项较少,那么您需要:
拔掉 R2 WAN 端口的电缆,将其换到其中一个 LAN 端口。这样应该可以绕过 NAT 和防火墙问题。
要么为 R2 配置 DHCP 辅助地址(如果无法更改 NAT 和防火墙设置,则不太可能)或者!确保它们都为同一网络(192.168.1.0/24)分配地址,但分配范围不同(可能 R1 分配 1.101-1.150,而 R2 分配 1.151 到 1.200),以避免它们都尝试分配相同的 IP 地址。
确保所有静态地址都更改为正确的范围,但不在任何 DHCP 池中
这是对一些潜在问题和一些潜在解决方案的相当详尽的解释。可能还有大约一百万种其他原因。如果您在过程中遇到更具体的问题,我建议为更具体的问题添加“更新:”,并在适当的情况下为更一般的问题添加新的答案。如果您还有其他需要,我会在这里!
答案3
最可能的原因可能是您的防火墙。但是,根据给出的信息,设置静态路由 191.168.1.0/32,这意味着只有 IP 地址 191.168.1.0 的流量会通过。您可能想使用 191.168.1.0/24。
这可能不是问题,但 191.168.1.0 是 B 类 IP 地址,某些家庭网络设备可能无法使用它。甚至,设备可能会将其用作有类网络地址,并将其视为 191.168.1.0/16。