Existe um script para adicionar regra de encaminhamento de porta no roteador doméstico?

12

TL; DR : Eu estou procurando um script ou um cron job, que periodicamente é executado em um host linux (fedora em framboesa pi), que irá verificar se uma regra de encaminhamento de porta ainda existe no roteador e adicioná-lo se não for. O objetivo é sempre ter acesso ao host do raspberry pi linux via SSH, VNC e a interface web de transmissão, de qualquer máquina na internet fora da minha rede doméstica. A configuração é dada abaixo:

Roteador :

Beetel 440Tx1 Roteador ADSL2 + modem + wifi.

Configuração :

O roteador está conectado à Internet (ISP Broadband) e possui um IP externo dinâmico. Ele fornece uma rede doméstica privada para meus computadores com IPs internos 192.168.x.y agindo como um DHCP também.

Host :

Um host ARM raspberry pi com o Fedora Linux, rodando o tempo todo com servidores ssh, vnc, transmission-daemon iniciados no momento da inicialização. Ele também tem o dip livre no-ip.com dyndns (cliente de atualização dinâmica) que verifica rotineiramente o IP externo e o vincula à sequência do host. Para que eu possa sempre encontrar o IP externo do meu roteador resolvendo a minha string dyndns como myrouter.no-ip.org . O pi tem um IP interno estático como 192.168.1.z.

Port Forwarding :

É necessário fazer login no roteador usando GUI / navegador com credenciais de fábrica somente se estiver conectado a essa rede por meio de cabo Ethernet ou protegido por senha wi-fi

http://192.168.1.1/html/index1.html

Eu configurei a regra fazendo login para encaminhar qualquer tráfego nas portas 22, 5900, 9091 no IP externo para os respectivos programas ouvinte (sshd, vncserver, transmission-daemon) no pi em 192.168.1.z

Problema :

Esse roteador perde a regra de encaminhamento de porta acima quando ele (o roteador) é reiniciado, ou mesmo se houver um pico de energia elétrica e o UPS precisar entrar momentaneamente e normalmente receber um IP externo diferente do ISP dinamicamente .

Requisito :

Um script ou job cron que pode ser executado no meu fedora linux pi que pode acessar o meu roteador e periodicamente pesquisar a existência dessa regra de encaminhamento de porta e criá-la se estiver faltando. Ajuda apreciada.

    
por PKM 21.08.2013 / 09:59

1 resposta

15

O MiniUPnP é um cliente UPnP de linha de comando que permite ativar o encaminhamento de porta. A fonte está disponível, então você deve ser capaz de compilá-la para o Pi.

Acho que esta é a sintaxe de que você precisa, mas não tenho uma máquina para testá-la. Você apenas colocaria o seguinte em um script que configuraria as portas uPnP para você

upnpc -a 'ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1' 22 22 TCP
upnpc -a 'ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1' 5900 5900 TCP
upnpc -a 'ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1' 9091 9091 TCP
    
por 21.08.2013 / 10:49