Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Linux

Configurando DNS dinâmico (DDNS) no Ubuntu Linux usando DynuDNS + Wget + Cron?

Banner

Este tutorial mostra como configurar DNS dinâmico no Ubuntu Linux 20.04 LTS usando o serviço DynuDNS em conjunto com as ferramentas Wget e Cron, sem instalação de ferramentas adicionais.

  • Crie uma conta no site DynuDNS: www.dynu.com
  • Cadastre um nome exclusivo para identificar seu subdomínio:
    • Acesse Control Panel > DDNS Services.
    • Na página seguinte, clique em Add.
    • No campo Host digite um nome exclusivo para identificar sua máquina.
    • No campo Top Level escolha o domínio ao qual seu computador será vinculado (exemplo: ddnsfree.com).
    • Após preencher esses campos, clique em Add. Será criado um endereço para identificar seu computador (exemplo: seu-subdominio.ddnsfree.com).
  • Crie um script para associar o IP dinâmico do seu computador ao endereço da máquina criado no passo anterior.
    • Neste exemplo foi usado o editor nano para criar o arquivo (troque usuario por seu nome de usuário no Linux):
      sudo nano /home/usuario/atualiza-ddns.sh
    • Adicione ao script os seguintes comandos (troque os dados de exemplo pelos dados verdadeiros).
      dominio="seu-subdominio.ddnsfree.com"
      usuario="seu-login-em-DynuDNS"
      senha="sua-senha-em-DynuDNS"
      ip=$(wget -qO - icanhazip.com)
      wget "https://api.dynu.com/nic/update?hostname=$dominio&myip=$ip&myipv6=no&username=$usuario&password=$senha"
      
    • Salve o arquivo (CTRL+O).
    • Feche o editor de texto (CTRL+X).
    • Altere as permissões do arquivo para tornar o script executável.
      sudo chmod +x /home/usuario/atualiza-ddns.sh
  • Adicione o script ao agendador de tarefas (cron) para ser executado a cada minuto.
    • Abra o arquivo /etc/crontab
      sudo nano /etc/crontab
    • Adicione ao final do arquivo uma linha como esta para executar o script a cada minuto:
      * * * * * root /home/usuario/atualiza-ddns.sh
    • Salve o arquivo (CTRL+O).
    • Feche o editor de texto (CTRL+X).
    • Reinicie o cron:
      sudo service cron restart 
  • Uma vez que o DDNS tenha sido configurado com êxito, você poderá acessar seu computador a partir de qualquer máquina na internet, conforme critérios a seguir.
    • Use o comando ping para testar:
      ping seu-subdominio.ddnsfree.com
    • Se necessário, configure o Firewall para permitir as conexões de entrada.
    • Se o IP público for de um roteador, configure o redirecionamento das conexões de entrada para seu computador, considerando as portas TCP/UDP que pretende abrir para acesso público.
    • Se estiver hospedando um servidor web em seu computador, acesse-o normalmente pelo navegador, informando o endereço da máquina e a porta, como neste exemplo:
      seu-subdominio.ddnsfree.com:8080

Observações

  • Nos testes realizados foi percebido atraso de alguns minutos para que endereço do subdomínio fosse associado ao endereço IP, mas funcionou como esperado.
  • Os procedimentos mostrados neste tutorial foram testados no Ubuntu Linux 20.04 LTS, mas deve funcionar em outras distribuições e versões com poucas ou nenhuma alteração.
  • Neste tutorial foi configurado intervalo de 60 segundos para atualização do endereço IP (daemon=60), mas para máquinas que permanecem com o mesmo IP por muito tempo, este tempo pode ser aumentado para reduzir tráfego desnecessário.
  • Existem outros serviços de DDNS e mais de uma forma de configurar um mesmo serviço, mas neste tutorial optou-se por fazer uma configuração simples que não depende da instalação de ferramentas adicionais.

O conteúdo desta página pode ajudar alguém? Compartilhe!