Un forero comentó que cada dos por tres, le reseteaban el router y se le borraban los puertos abiertos.
pues bien, par aabrir puertos , ponemos un router neutro con Openwrt, conectado por LAN a LAN a nuestro router principal. (que debe soportar UPnP, pero sin mucha seguridad).
Nos acordamos de cambiar la LAN IP de Openwrt a algo que no moleste, y desactivar el servidor DHCP en la interfaz LAN
e instalamos upnpc (para eso tenemos que tener conectada también la interfaz WAN de Openwrt, vaya)
opkg update
opkg install upnpc
creamos el fichero del script:
touch /usr/sbin/abrir_puertos
chmod +x /usr/sbin/abrir_puertos
vi /usr/sbin/abrir_puertos
una vez abierto, metemos el siguiente código (eth0.1 es mi interfaz LAN , 192.168.1.101 es la dirección local a la que abrimos, y 9093 9093 es puerto interno y externo , TCP es protocolo (puede ser TCP o UDP))
#!/bin/sh
upnpc -m eth0.1 -a 192.168.1.101 9093 9093 TCP
guardamos, y metemos en crontab (lo podemos hacer desde la iterfaz web de Openwrt, en tareas programadas )
yo lo ejecuto cada 25 minutos
*/25 * * * * /usr/sbin/abrir_puertos