如何设置 OpenWRT 以跨子网访问 DLNA 服务器

如何设置 OpenWRT 以跨子网访问 DLNA 服务器

我有两个路由器,LAN 到 WAN。

主路由器运行 OpenWRT,另一个是华硕 RT-N66U。

我现在有一台 RaspberryPi 连上了 MiniDLNA 网络。遗憾的是,连接到华硕路由器的电视看不到这个 DLNA 服务器。

ASUS 的 IP 为 192.168.0.10,拥有自己的 DHCP,用于网络那一侧的 192.168.1.x 范围内的内容

在OpenWRT中:

/etc/config/network包含其他条目:

config interface 'lan'
    option ifname 'eth1'
    option force_link '1'
    option type 'bridge'
    option proto 'static'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option ipaddr '192.168.0.1'
    option igmp_snooping 1


config route
    option interface 'lan'
    option target '192.168.1.0/24'
    option gateway '192.168.0.10'

ifconfig:

br-lan    Link encap:Ethernet  HWaddr D4:CA:6D:1B:3F:94  
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::d6ca:6dff:fe1b:3f94/64 Scope:Link
          inet6 addr: fd8a:8723:5b8b::1/60 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7542487 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13666226 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:799347954 (762.3 MiB)  TX bytes:18695009301 (17.4 GiB)

eth0      Link encap:Ethernet  HWaddr D4:CA:6D:1B:3F:93  
          inet6 addr: fe80::d6ca:6dff:fe1b:3f93/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13936911 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7666052 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1639255174 (1.5 GiB)  TX bytes:938993450 (895.4 MiB)
          Interrupt:5 

eth1      Link encap:Ethernet  HWaddr D4:CA:6D:1B:3F:94  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7591107 errors:0 dropped:1 overruns:0 frame:0
          TX packets:13663886 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:922993879 (880.2 MiB)  TX bytes:1514915277 (1.4 GiB)
          Interrupt:4 

我该如何做才能让电视看到另一个子网上的 DLNA?

我尝试过 avahi、igmpproxy 和其他方法,但都无济于事。

答案1

OpenWRT默认的防火墙规则会阻止多播数据包从WAN端流向LAN端。

如果您关闭 OpenWRT 防火墙 ( /etc/init.d/firewall stop) 并关闭 multicast_snooping ( echo 0 > /sys/devices/virtual/net/br-lan/bridge/multicast_snooping),那么它应该可以看到 DLNA 服务器。这至少对我来说有效。

不过我还没有弄清楚防火墙规则是负责什么的。

相关内容