Em resumo, no caso de um router com UPNP já habilitado e por exemplo com a porta 22 sem qualquer regra previamente configurado, pode-se facilmente utilizando o pacote miniupnpc para configurar o modem para disponibilizar, no caso em exemplo, o acesso externo via redirecionamento de porta do ip externo porta 22 para o ip interno na porta 22.
Nos sistemas Debian, Ubuntu, Raspbian entre outros, para instalar o pacote miniupnpc, basta:
aptitude install miniupnpc
Com o programa instalado, para se ver a lista atual das regras, basta:
upnpc -l
Será enumerado todos os dispositivos locais com suporte a upnp, seus ips e as regras atuais de redirecionamento de porta, assim como a descrição informada ao se configurar.
Um exemplo de como configurar o SSH para ser acessado por um dado computador:
upnpc -e 'SSH do computador <nome_do_computador>' -r 22 TCP [/code Utilizando o upnpc -l em seguida, a nova regra deverá ser apresentada TCP 22 -> Ip do computador emissor do comando:22 'Descrição aqui' '' 0
Há a possibilidade de utilizar outras portas não utilizadas e delas redirecionarem para a porta 22.
Isto é importante em casos onde existem vários computadores ouvindo a porta 22 SSH numa dada rede local, mas externamente o modem desta rede só tem como ter uma porta 22 por ip externo, logo, outras portas seriam necessárias para enviar delas externamente para a porta 22 SSH de cada computador. Com isto, um computador teria por exemplo o redirecionamento externo->interno da 22 para a 22, os demais deveria usar qualquer outra porta sem uso para enviar a 22.
Cuidado com este comando dentro de roteadores com configuração já efetuadas. O modo como cada um dos diversos roteadores pode se comportar para configurar novas regras sobre antigas não dá para ser previsto para todos os casos e isto simplesmente poderia fazer computadores e serviços ficarem inacessíveis, caso previamente configurados e uma nova configuração puder afetá-los.