我有两个网络:
- 我的本地网络(192.168.1.0/24)
- IPTV 网络(10.0.0.0/8)
我当前的网络配置与您所期望的略有不同,但我无法更改,因为我的 ISP 对可能的操作有一些限制。因此,我的网络由两个路由器组成:
- 处理互联网+IPTV+电话的 ISP 路由器
- 我的路由器就像交换机一样工作,与磁盘共享等一起运行 DNS 服务器。
在 IPTV 网络内,有一个服务器专门用于提供在不同电视频道上录制的存档内容(也称为时间移位)。与此服务器的连接受到限制,只有可以访问 IPTV 网络的计算机才能流式传输内容。问题是,可以访问 IPTV 网络的计算机必须配置一个 VLAN 和静态路由,而我无法对本地网络中的几台计算机执行此操作,因为我没有某些权限。所以我需要一些解决方法,使所有计算机都能够从专用服务器流式传输内容。服务器通过 MPEG-TS 类型的 RTSP 协议提供流。
我已经在寻找设置 RTSP 代理的方法,但目前现有的软件(Live555、Darwin、rtmpd、带有 avconv/ffmpeg 的代理)都无法满足我的情况(我无法正确访问流 - 它工作了 10 秒,然后我得到了 RTSP 数据包丢失;无法搜索视频)。我发现的另一件事是配置路由器以将数据包转发到正确的网关并执行其他操作,但由于我无法访问 ISP 的路由器(这也是我的默认网关),因此此选项不可用。我发现的第三件事是 SSH 隧道,它看起来很棒,但问题是我无法将所有计算机连接到可以访问流的其他计算机,因为我没有权限在几台计算机上安装软件(便携式应用程序也被“阻止”)。
我正在考虑使用 SSH 隧道 - 设置一个服务器,该服务器提供一些服务,监听某个端口,然后我本地网络中的所有计算机都可以连接到它。该服务器只会将所有数据包转发到端点(专用服务器),然后所有数据包都会被发送回源点。是否可以使用一些现有工具来实现这一点?
[编辑] 我的网络如下所示:
所有连接到我的路由器和 ISP 调制解调器的设备彼此可见,因为路由器只是“扩展”现有 ISP 的调制解调器网络。ISP 的调制解调器可能将 10.0.0.0/8 数据包路由到隐藏在私有网络中的其他内部网关。VLAN 配置已定义除 192.168.1.1(通过 ISP 调制解调器)之外的其他网关,该网关位于 10.0.0.0/8 网络中。
答案1
根据您的描述,您的网络设置似乎如下:
{Internet} --- [ISP Router] --- <10.x.x.x network w/ IP TV> --- [Your Router] --- 192.168.1.x
您所描述的问题是默认网关方向的结果。在上述每种情况下,10.xxx 网络或 192.168.1.x 网络中的主机将有一个指向左侧设备的默认网关。(192.168.1.x 指向您的路由器,10.xxx 指向 ISP 路由器)。这是正确的,也是理想的,因为这是通向 Internet 的方向。
这样就造成了这样一种情况:10.x 网络上的主机只知道两件事(至少从其网络连接的角度来看)。
- 要与 10.x 网络上的某个设备通话,请与本地 LAN 通话
- 要谈论其他任何事情,请将其发送到 ISP 路由器(即遵循默认路由)
192.168.1.x 网络上的主机也只知道两件事:
- 要与 192.168.1.x 网络上的某个设备通话,请与本地 LAN 通话
- 要谈论其他任何事情,请将其发送到“您的路由器”
所以,把所有问题综合起来。192.168.1.x 网络上的主机可以向 10.xxx 网络上的主机发送数据包。但是,当 10.xxx 网络上的主机尝试响应时,它们只知道将流量发送到默认网关……这恰恰是流量应该流向的反方向。这就是问题发生的原因……这为我们带来了解决方案,实际上有三个:
(1)
通常,您需要在 10.xxx 网络中的主机上创建静态路由,以便让它们知道“第三件事”,即 192.168.1.x 网络朝向“您的路由器”的方向。但是,如果 10.x 网络上有很多主机,或者您无权在所有主机上创建静态路由,那么这种方法的扩展性就不太好。
(2)
如果您可以访问 ISP 路由器,则可以在那里设置单个静态路由,以通知 ISP 路由器 192.168.1.x 网络位于“您的路由器”后面。但是,根据品牌/型号的不同,您可能会遇到将到达的接口流量路由回的问题。虽然从概念上讲,这应该可以正常工作,但很多供应商默认禁用此行为作为循环预防策略……这是可以接受的行为,但不符合您的意图。
(3)
这就引出了第三个解决方案,在我看来,这是最好的选择:您需要重新构建您的网络。目标是让默认网关自然地使通信正常工作。
{Internet} --- [Your Router] --- 192.168.1.x
|
|
[ISP Router]
|
|
10.x.x.x network
“您的路由器”和 ISP 路由器的位置可以改变。只要您有这种“T”形配置即可。这使得两个网络上的主机自然流向“您的路由器”,并且由于“您的路由器”直接连接到两个网络以及互联网,它将能够在这三个方向之间正确路由流量。
注意:您可能需要在两个路由器之间设置一个临时网络。但只要 ISP 路由器正在执行 NAT,就可以达到相同的效果。
答案2
10.0.0 不是 ISP 网络,它只是为您创建的本地网络。在互联网上,路由器通过另一个 IP 地址来识别,这个 IP 地址肯定不是 10.0.0。路由器的工作是每次内部程序连接到互联网时将地址从本地地址转换为互联网地址,在替换 IP 地址的同时来回传递数据包。
对于程序来说,它似乎已连接到 Internet,但实际上只有 ISP 的路由器才连接。对于 ISP 来说,您的 IP 地址只有一个对应方,并且所有本地->Internet 连接都来自同一 IP 地址 - 路由器的 IP 地址,而实际上是路由器在连接到 Internet。
因此,最简单的解决方案是让 ISP 的路由器创建地址为 10.0.0.x 的本地网络(如果它具有 DHCP 服务器功能)。您的路由器可能可以配置为也请求其 IP 地址,就像所有其他计算机或设备一样。
如果 ISP 的路由器不具备 DHCP 服务器功能,它可能会使用 10.0.0.1 这个地址。在这种情况下,您需要设置路由器不使用或分配该地址,但可以使用所有其他 10.0.0.x 地址。
由于所有设备都位于同一个 10.0.0.x 网络上,因此跨网络共享资源将变得简单而直接,无需 VLAN 和静态路由。