Linode Dynamic DNS
Esse script usa os bindings Python da Linode API para atualizar uma entrada de DNS. Criei esse script para manter atualizada uma entrada em DNS com o IP da minha conexão doméstica, permitindo assim fácil acesso remoto.
Download
O código fonte de linode-dyndns.py é distribuído em domínio público.
Você é livre para utiliza-lo e modifica-lo como bem entender. Compartilhe suas
modificações, elas podem ser importantes para outras pessoas também.
Obtenha a versão mais atual no repositório mercurial oficial:
1 | |
Pre-requisitos
O script utiliza o módulo linode-python e precisa de uma chave para API Linode. Você pode criar uma na sessão profile do painel Linode. Também é preciso as IDs do domínio e objeto que você pretende modificar. O pedaço de código abaixo lista todos os domínios e entradas registradas na sua conta Linode:
1 2 3 4 5 6 | |
Por fim é necessário a URI de um web service que retorne seu IP em texto puro. No script eu inclui o meu web service, você pode usar algum outro ou hospedar o seu próprio com o script PHP abaixo:
1 | |
Utilização
No painel de controle da Linode, crie uma entrada AAAA no seu domínio com qualquer IP fictício. Acesse seu profile e anote a chave para API Linode.
Utilize o código acima para obter os valores de DOMAIN_ID e RESOURCE_ID
necessários. Edite o script alterando as variáveis e execute-o sem qualquer
parâmetro:
1 2 3 | |
Para automatizar a atualização eu copiei o script para /usr/local/bin e
criei uma entrada na crontab agendando execução a cada 6 horas:
1 | |