networking - 如何在两个网络之间共享资源?
问题描述
我正在建立一个家庭办公网络。
由于环境的物理限制,我在两个不同房间的两个路由器下设置了我的 Wifi 网络。
DSL <-----> 路由器 1(房间 1)< ---- RJ45 192.168.1.105 --> 路由器 2(房间 2)
以下是打扰路由器的当前设置
路由器 1
IP:192.168.1.1
DHCP 范围:192.168.1.0 - 192.168.1.255
连接设施:
- DSL Wall point - 连接到互联网 (NBN)。
- 打印机
- 智能电视
- 移动的
- 其他桌面
路由器 2
IP:192.168.2.1
DHCP 范围:192.168.2.0 - 192.168.2.255
连接设施:
- 笔记本电脑
- 智能电视
- 移动的
网关:192.168.1.1
我可以从路由器 2 连接到互联网。但是,我无法使用路由器 2 访问连接到路由器 1 的智能电视和打印机。
两个路由器都不支持接入点模式。因此,它们通过 RJ45 以太网连接。
任何人都知道如何解决它?
提前致谢!
解决方案
问题是因为该路由器使用 NAT/NAPT 缺乏 IP 地址和保护内部网络。通常我们使用Full Cone NAT、Restricted NAT、Port Restricted NAT 和Symmetric NAT 四种类型。它们有不同的特点,但有一个共同特点:不能从外部建立任何连接。
也就是说你可以从内部连接到外部,然后建立连接,然后双向通信就可以正常工作了。但是如果你首先想从外面握手,它会失败。
所以,这是我们称之为 NAT 穿越或 NAT 打孔的东西,以使某些特定的内部 IP/端口可以从外部连接。
对于您的情况,如果您的路由器支持,最简单的方法是尝试 upnp 或 nat-pmp。如果不是,那么简单地将它们连接起来对您来说相对困难。也许您可以尝试 STUN/TURN/ICE,但我认为您不会喜欢它们,因为它相对较难。
推荐阅读
- php - 如何使用 php 将多页 csv 解析为 html 表
- python - 即使令牌有效,Youtube 分析 API 也会返回 403 禁止
- elixir - 将 Enum.filter 与 Enum.each 结合起来
- react-native - 反应原生 react-native-mauron85-background-geolocation:processReleaseResources FAILED
- sql - db2 存储过程中的全局临时表
- bash - 根据 bash 脚本中的部分名称和目录位置找出文件的路径
- node.js - 访问部署在 Azure 上的 React 应用程序中的应用程序设置
- vba - VBA比较2个数组循环>>突出显示并将差异复制到第三列
- swing - Intellij 2018.1 无法加载任何目录或项目
- python - 使用 sklean 和 seed 时神经网络结果不一致