- 主题:旁路由,如何解决 UPnP 的问题
用一个 Linux 设备做旁路由,实现网关和 DNS 的功能
现在上网正常,但是内网设备的 UPnP 映射端口都失败了,比如 eMule 提示 LowID。
这个有办法解决吗?
--
FROM 221.217.48.*
我试了在原路由器(真的Internet网关)上配置端口转发,看了一下内部是 iptables
DNAT 实现的,导致在目标设备上看不到真实的客户端 IP(看到路由器的 IP),感觉
还是有点问题。
【 在 wincss (wincss) 的大作中提到: 】
: 用一个 Linux 设备做旁路由,实现网关和 DNS 的功能
: 现在上网正常,但是内网设备的 UPnP 映射端口都失败了,比如 eMule 提示 LowID。
: 这个有办法解决吗?
: ...................
--
FROM 221.217.48.*
原路由的UPNP关了吗
【 在 wincss 的大作中提到: 】
: 用一个 Linux 设备做旁路由,实现网关和 DNS 的功能
: 现在上网正常,但是内网设备的 UPnP 映射端口都失败了,比如 eMule 提示 LowID。
: 这个有办法解决吗?
--
FROM 223.104.21.*
没关
【 在 pyer (拍耳) 的大作中提到: 】
: 原路由的UPNP关了吗
--
FROM 221.217.48.*
upnpd+iptables
【 在 wincss (wincss) 的大作中提到: 】
: 用一个 Linux 设备做旁路由,实现网关和 DNS 的功能
: 现在上网正常,但是内网设备的 UPnP 映射端口都失败了,比如 eMule 提示 LowID。
: 这个有办法解决吗?
: ...................
--
FROM 120.229.14.*
我看 miniupnpd 本身就是用 iptables 实现的(路由器上的 upnp 好像也是 miniupnpd)
我昨天在电脑上装了一个 miniupnpc,简单查了一下,有如下结论:
1.upnp 服务器和网关其实可以分开,即使我电脑的网关设置的是旁路由,upnpc 也可以
发现真路由上的 upnp 服务
2.群晖设置的网关无论是主路由,还是旁路由,用 upnpc -l 看到的端口映射列表都是
一样的,但是群晖的 Download Station 在旁路由的情况下就会 LowID,切换到主路
由就好了
3.就算我在旁路由上跑了 upnpd 好像也没法把这个“对外开端口”的配置同步到主路由
上面。。。
现在的问题就是,不知道群晖的 eMule 到底怎么判断自己是 LowID 的,只要知道原理
应该可以对应地解决。。。
我感觉得用个 upnp-proxy 之类的(不知道有没有这种东西)
【 在 iwannabe (I wanna be) 的大作中提到: 】
: upnpd+iptables
--
FROM 221.217.48.*
继续 debug
在自己电脑上用 miniupnpc 对外开端口,然后在公网服务器上访问外网地址,并 tcpdump
抓包,发现有上行数据(而且本地可以收到),没有下行数据,可能因为回包被旁路由给
拦了。
【 在 wincss (wincss) 的大作中提到: 】
: 我看 miniupnpd 本身就是用 iptables 实现的(路由器上的 upnp 好像也是 miniupnpd)
: 我昨天在电脑上装了一个 miniupnpc,简单查了一下,有如下结论:
: 1.upnp 服务器和网关其实可以分开,即使我电脑的网关设置的是旁路由,upnpc 也可以
: ...................
--
FROM 221.217.48.*
找到原因了。。。
之前写的 iptables -t nat -A POSTROUTING -o ens4 -j MASQUERADE
但是对于局域网内的主机,其实是不需要 MASQUERADE 的,改了源 IP 之后主路由就找不
到对应的连接了
加一个条件 ! -i 192.168.1.0/24 就好了
【 在 wincss (wincss) 的大作中提到: 】
: 继续 debug
: 在自己电脑上用 miniupnpc 对外开端口,然后在公网服务器上访问外网地址,并 tcpdump
: 抓包,发现有上行数据(而且本地可以收到),没有下行数据,可能因为回包被旁路由给
: ...................
--
FROM 221.217.48.*