起始
我用的路由器不太喜欢原来的系统,我更喜欢的事OPENWRT,所以在买路由器的时候也尽量买一些支持OPENWRT,以前一直用的19,最近老是死机,就想着正好升级一下,然后重置一下,看了一下最新的事22.03.5,果断安装搞定。在OPENWRT里,端口映射、IPV6自不必多说,我经常用的额外软件有两个:WOL和UPnP,果断安装,WOL安装成功后就完事,问题就出现在UPnP上。
问题
UPnP安装好进行配置后尝试启动,但是发现启动失败,ps也没有看到miniupnp进程,于是打开了LOG,然后启动UPnP,发现错误信息主要是set_rdr_name(): tried to set invalid string
和iptc_init() failed : Table does not exist
,搜索引擎给出的提示是libiptc或者iptables没有安装成功,要不就是没有insmod,或者重新编译kernel,直到我看到官网上面有这么一句话,The OpenWrt 22.03 series focuses on the migration from iptables based firewall3 to the nftables based firewall4.
,妥了,找到问题的原因了,新版本最关注的就是从基于防火墙3的iptables升级到了基于防火墙4的nftables,难怪它老是提示Table does not exist。果断卸载,然后安装miniupnpd-nftables
,然后在luci里配置一下就搞定了。
完整解决方案
如果你还没有安装miniupnpd-iptables
,或者关于UPnP
的所有软件的话,那么你就可以直接
opkg update
opkg install miniupnpd-nftables luci-app-upnp
就完事了。
如果安装过的话,记的先卸载了,然后再安装新的,在安装新的之前还要记的,把/etc/config/upnpd
记的删除了.