我有两个独立的 DD-WRT 路由器,我想将它们桥接在一起,以便连接到每个路由器的计算机位于同一子网上(这样它们之间就可以进行多播以进行 UPNP/DNLA 媒体共享)
每个 DD-WRT 路由器都有自己的互联网连接,它们在 WAN 端口上之间有千兆连接,并且都有自己的公共 IP。
互联网 - - - - | | [千兆交换机] | | [DD-WRT A] [DD-WRT B] | | [局域网 A] [局域网 B] [192.168.11.0/24][192.168.12.0/24]
我只能控制 DD-WRT 盒和它们控制的 LAN。(而不是交换机)
我已遵循本指南http://www.dd-wrt.com/wiki/index.php/Linking_Subnets_with_Static_Routes并将 Router1 视为交换机,让两个 DD-WRT 路由器都处于网关模式。这样两个子网就可以互相通信,但多播无法在它们之间进行。
我想找到一种方法,使多播能够在两个子网间工作,或者以某种方式将一个子网拆分到两个路由器上。直接将路由器连接在一起不是一个选择,因为它们在物理上并不靠近。
我也考虑过将一个路由器用作 VPN 服务器,另一个用作客户端。但这只会将客户端路由器置于服务器路由器的子网上,而不会将连接到该路由器的所有计算机都置于子网上,除非我做错了什么。如果可能的话,我还希望每个路由器都使用自己的互联网连接,而不是通过单个连接发送所有内容。
答案1
最简单的解决方案是将两个 DDWRT 交换机物理连接到一个网络。
您的图表是否暗示两个路由器进入同一个交换结构?如果直接连接是可能的,那就这样做,在两个路由器之间以相同的方式建立一条直通以太网链路。否则,您可能能够在外部交换机上设置 VLAN 并为您的连接设置两个端口。
另一种方法是创建一个无线中继桥如果可以建立 WAN 连接并且带宽要求允许,则在两个路由器之间进行此操作。
这 3 个桥接选项将为您提供一个大网络,并且您需要对客户端或 DHCP 服务器进行额外的工作以满足将互联网流量保持在本地路由器上的要求。
如果您无法在两个网络之间建立物理连接,则需要使用 IP 隧道来桥接网络或路由数据。您可以通过外部接口在 DDWRT 盒之间创建内置 OpenVPN 隧道:
INTERNET--------
|
|
[Gigabit Switch]
| |
[DD-WRT A]-- tun --[DD-WRT B]
| |
[LAN A] [LAN B]
[192.168.11.0/24] [192.168.12.0/24]
DDWRT 没有 GUI 选项来将 LAN 流量推出 OpenVPN/PPTP 隧道,因此需要进行一些手动调整(番茄确实有通过 GUI 提供的选项)。如果您可以手动将每个 DDWRT 上的 tun0 接口添加到设备桥,则广播数据将通过隧道推送到网络的任一侧。
如果桥接失败,您可以尝试使用皮姆通过 VPN 隧道路由数据。这样做的好处是无需桥接网络。
另一种方法可能是使用多路由在两个 dd-wrt 盒子上通过您设置的单播静态路由,虽然从开发角度来看似乎有点失败。如果它在 Linux 上仍然编译/工作,它将允许您通过 TCP 隧道将多播数据从每个网络路由到另一个网络,反之亦然,这应该通过静态路由工作,而无需隧道。
无论如何,我认为桥接是我唯一会尝试的方法(除非你想学习很多有关 upnp 和多播的知识)。为单个家庭网络设计的协议可能存在很多问题。
答案2
只需在两个路由器上添加静态路由,
如果您的计算机之间相互通信时遇到问题,即使您确定已设置路由,也请确保途中没有本地“Windows”防火墙,只需在测试期间禁用它,即使您的路由已设置,它也可以轻松阻止 ping
还有网络发现,您必须确保来自两个不同子网的两台机器都打开了网络发现。
如果您的所有步骤均不起作用,则意味着有 2 个 Lan 或 2 个不同的 VLAN,但那是另一个话题。
答案3
多播路由与单播不同。它还必须不被一个路由器阻止。
从您的帖子中,我没有看到任何内容表明多播至少适用于一个路由器。您可能需要查看这线。
我认为在两个路由器之间使用 VPN 的想法并不理想——无论如何,您都需要在那之后单独配置多播路由。
PS 您可能要考虑在第一个路由器之后级联设置第二个路由器,并在第二个路由器上禁用网关模式。并在第二个路由器上也禁用 DHCP。之后,您将拥有一个大网络,第二个路由器将充当简单的 AP。