Eu tenho uma unidade NAS. Ocasionalmente, a rede cai e, quando volta, o IP remoto do NAS Drive foi alterado.
Eu frequentemente me conecto ao meu servidor a partir do meu telefone ou tablet quando estou fora de casa, no entanto, não consigo me conectar se o IP mudar e tenho que esperar até chegar em casa para atualizar o IP no meu telefone.
Eu tenho um script no Debian que mantém um log do IP remoto em um arquivo de texto no meu laptop.
Existe uma maneira de enviar esse IP remoto para o meu telefone em intervalos específicos (por exemplo, uma vez a cada meia hora), de preferência por meio do uso de um script bash automatizado?
Já pesquisei alguns métodos, mas não consigo fazer o seguinte funcionar:
-Textbelt
-Mutt
-ssmtp
-enviar correio
Sugestões alternativas são bem-vindas. Obrigado :)
Eu me pergunto por que você não considerou a solução dedicada padrão: DNS, que é exatamente adaptado para traduzir nomes em endereços IP, e a tradução pode ser dinâmica.
Basicamente, você atribui ao seu NAS algum nome público e faz com que seu script atualize o registro DNS dinâmico com seu endereço IP atual. Então você simplesmente acessa o NAS a partir do telefone usando esse nome e nem se preocupa em saber qual endereço IP ele está usando.
Existe uma maneira comumente usada para lidar com endereços IP WAN dinâmicos, chamada de DNS Dinâmico . Você pode usar provedores existentes ou criar o seu próprio (no entanto, o último é assunto avançado e exige que você tenha seu próprio domínio público delegado a pelo menos dois servidores DNS controlados).
Qualquer hoster de DNS que forneça acesso à API para atualização programática de registros pode ser usado como provedor de DNS dinâmico. Se você acha que é possível escrever um script que envia e-mails via SMTP, certamente é possível escrever um script que atualize o IP usando essa API.
Comece com a lista da Wikipédia de provedores de DNS dinâmicos e, em seguida, você pode pesquisar mais.
Isso é muito, muito mais conveniente do que enviar IP por e-mail! Também permite o uso válido de Let's Encrypt para proteger adequadamente o serviço.