据我了解,传输 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/
忽略。