如何使用 miniupnp 修复 Ubuntu 上的 UPnP 端口转发?

如何使用 miniupnp 修复 Ubuntu 上的 UPnP 端口转发?

据我了解,传输 bittorrent 客户端使用迷你UPNP库来执行路由器的 UPnP 端口转发,但是在 Ubuntu upnpc(miniupnp 库的测试客户端)上找不到任何 IDG 路由器,而在同一网络上的另一台 Windows 机器上它可以正常工作(使用 upnpc 的 Windows 二进制文件)。

根据我所做的测试,似乎数据M-SEARCH SSDP包没有被发送到网络上,也许是防火墙或某些东西阻止了它。

我该如何尝试并确保这些数据包能够顺利通过并且有效?

答案1

我刚刚用upnp 路由器控制给我的路由器添加端口转发,效果非常好:)

如果这对你不起作用我建议你使用wireshark分析网络流量并查看其挂起的位置。

答案2

在新安装 miniupnpd 后,在 shell 中运行以添加配置行

echo "MiniUPnPd_OTHER_OPTIONS=-N
START_DAEMON=1
MiniUPnPd_EXTERNAL_INTERFACE=eth0.4
MiniUPnPd_LISTENING_IP=eth0.1" | sudo tee -a /etc/default/miniupnpd; sudo service miniupnpd restart

注意:eth0.4 和 eth0.1 是我的 ext/int 接口,请使用您的。

UPNP 感知程序重启后检查链:

sudo iptables -vnL MINIUPNPD ;sudo iptables -t nat -vnL MINIUPNPD

应该显示一些规则

所有测试均在 Ubuntu 13.10 上进行。

所有文件均被/etc/miniupnpd/忽略。

相关内容