如何通过 NAT 连接 DLNA 设备?

Bob*_*Bob 5 networking upnp nat dlna

我有一台运行 Serviio 作为 DLNA 服务器的 Windows 7 PC。我有一台运行 Skifta 作为 DLNA 渲染器(客户端)的三星 I9100G。我的网络拓扑:

网络拓扑(图片)

目前,如果手机在路由器 #2 上,我可以正常连接并观看我的视频。服务器位于#2 的有线网络上。路由器 #1 是 192.168.1.1,路由器 #2 是 192.168.2.1 (192.168.1.2),路由器 #3 是 192.168.3.1 (192.168.1.3)。换句话说,每个路由器都有自己的子网,使用 NAT - 它们的“调制解调器”端口与调制解调器/路由器 1 上的“LAN”端口连接。


如果渲染器连接到路由器 #1/#3,我想要做的是能够连接到 DLNA 服务器 - #1 在 #2 的 WAN 端,而 #3 甚至更远。不过,我会满足于 #1 的工作。

通常,我只会转发适当的端口,一切都会正常进行。但是,(显然)DLNA 使用我不熟悉的 UPnP。我尝试在路由器 #2 上启用 UPnP,但这似乎没有任何改变。它是 Belkin F5D7230-4 6000 -有报告称 F5D7230-4 7000 上的 UPnP 存在问题。UPnP 已在路由器 #1 上启用 - 十亿 BiPAC 7700N。

我还在我的手机 Samsung AllShare 上尝试了内置的 DLNA 渲染器/服务器/控制器。它可以看到路由器 #2 上的服务器并浏览文件,但在播放或下载它们时出现问题。它也无法看到其他两个网络上的服务器。

我目前正在使用 Skifta/s“本地”模式。“远程”模式需要一个帐户,如果没有必要,我真的不想创建。

也有可能做我想做的事吗?如果没有,是否有解决方法?如果是,我该怎么做?我的服务器有问题吗?渲染器(客户端)?路由器?我的方法?除了路由器,我几乎可以改变任何东西。

小智 1

配置 VPN 来完成所有这些怎么样?

当然,这对于你的问题来说只是一个相当糟糕的解决方法,但我知道 OpenVPN 例如非常擅长通过 NAT 和其他一切。

Android 上的 OpenVPN 有一个非常容易操作的客户端。然后,您需要在与 Serviio 相同的主机上配置 OpenVPN 服务器。

理论上,通过配置良好的 VPN(对于 OpenVPN,查找 TAP 而不是 TUN),您可以模拟您的手机与 Serviio 位于同一以太网段上。这样,即使是广播也可以到达手机。

PS:不幸的是,我看不到你帖子中的图片(在工作中过滤了?)。所以这个答案可能不准确,因为我看不到你的网络拓扑。