因为以前也不常用upnp,所以也没在意,今天突然要用到,不能用,就狂折腾。研究了一下午, 终于搞定了。
的确是miniupnpd的 bug。如果你的机子出于/32以下的子网(也就是255.255.0.0或者255.0.0.0或者0.0.0.0子网中),比如路由 IP192.168.2.1,而你的机子IP为192.168.1.1,子网掩码255.255.0.0,255.255.0.0通常在IP的末尾用 /16表示(255.255.255.0则是/32),如192.168.1.1/16。miniupnpd只认/32的IP,即便在/etc /config/network中设置了子网掩码为255.255.0.0,也无济于事。比如路由IP为192.168.2.1,那么miniupnpd 只认192.168.2.x的机子的自动映射请求。这是一个很大的bug,怎么他们的开发者都没有发现?