Buenas cerm
Gracias por la aclaración compañero, el problema de no ver las imágenes y la costumbre de contestar algo que suele ser reiterativo, que no era tu caso, mis disculpas.
Y si tienes razón, acabo de acceder por remoto a un par de unidades que controlo y el código está mal y no tiene mucho sentido, el puerto interno obviamente es el puerto del equipo local, en nada tiene que ver con el Router, el código está mal, lo estaba mirando...
La primera parte es relativa al puerto 23,2169 y 161 (interfaz avanzada siempre), y lo que hace es comprobar si el puerto inicial/final externo es el mismo que el inicial/final interno (para esos 3 puertos), los cambia al 2323, 2121 y 1616 respectivamente... vale, puedo entenderlo, aunque aplicando esa lógica no te permite (tenga mucho sentido o no) mapear un 23 externo a un 45000 interno, porque no es el mismo puerto... pero vale
La segunda parte es donde la han liado aun más, y se aplica al 7547, 22 y 443. En este caso no los cambian, vale, entiendo que es por importancia para el Router el poder usarlos, pero el problema es que en vez de comprobar el puerto externo, las comprobaciones la hacen con el puerto interno. El código en esencia dice que si el puerto inicial interno es menor o igual que 22 y el puerto interno final es mayor o igual que 22, mensaje de error y se aborta. Tiene poco sentido teniendo en cuenta que el puerto final no permite modificarlo y es siempre el mismo puerto que el inicial, pero bueno... y sin contar obviamente que lo que hace es mirar el puerto interno, no el externo
Vamos, pifiada....
Se puede de todos modos enviar la modificación lanzando la petición directamente, pero casi más fácil desde la interfaz simple:
http://192.168.1.1/scvrtsrv.cmd?action=add&srvName=ssh&dstWanIf=ppp0.1&srvAddr=IP_LOCAL&proto=1,&eStart=5000,&eEnd=5000,&iStart=22,&iEnd=22,&sessionKey=KEY_SESION
Donde IP_local es el equipo local y Key_sesion la genera una vez accedes, se puede mirar en el código cada vez.
En cualquier caso sí, es un fallo de la firmware, nada tiene que ver con los puertos internos al uso, siento mi equivocación, un saludo y buen aporte.