Atualização em 25/06/2024: desde a escrita deste artigo, alguém criou um script para isso, que você encontra aqui: https://github.com/K0p1-Git/cloudflare-ddns-updater . Obrigado pela informação ao tesztszerverem.hu!

 

No caso de um servidor doméstico, se você também deseja acessá-lo pela internet (ex.: OpenVPN), é recomendável configurar um registro de DNS dinâmico. Este artigo detalha a configuração combinada do Cloudflare – ddclient.

Primeiro, crie um registro ‘A’ com um endereço IP falso (para que possamos ver mais tarde se a atualização funcionou) e com TTL de 5 minutos.

Baixe para o Raspberry Pi um dos forks do programa chamado „ddclient„, que é um daemon executado em segundo plano, e este é o que (por padrão) a cada 5 minutos consulta o endereço IP público e, usando a API do Cloudflare, envia as alterações para lá.

 

Instale os pacotes necessários:

apt-get install perl libdata-validate-ip-perl
apt-get install libjson-any-perl

A versão mais recente do ddclient pode ser encontrada aqui. Baixe, extraia e entre na pasta:

wget https://github.com/ddclient/ddclient/archive/v3.9.0.tar.gz
tar -xzvf v3.9.0.tar.gz
cd ddclient-3.9.0

Depois copie o programa executável para o local habitual:

cp ddclient /usr/sbin/

Crie as pastas necessárias, copie os arquivos de configuração e comece a editar:

mkdir /etc/ddclient
mkdir /var/cache/ddclient
cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
vim /etc/ddclient/ddclient.conf

No arquivo de configuração podemos comentar as linhas relacionadas ao e-mail (mail= & mail-failure=), e depois copie o seguinte no final e preencha com seus próprios dados:

use=web
ssl=yes
protocol=cloudflare,
server=api.cloudflare.com/client/v4,
zone=teste-eletronico.hu,
login=testeeletronico@cloudflareconta.com
password=ChaveGlobalAPICloudflare
registrodinamico.teste-eletronico.hu,

A chave da API pode ser vista na página de tokens da API do Cloudflare, não é necessário criar um novo token, precisamos da „Global API Key„.
Em seguida, verifique se a configuração está correta com o seguinte comando:

ddclient -daemon=0 -debug -verbose -noquiet

Depois configure o daemon do ddclient como um serviço do sistema para que ele inicie automaticamente e faça seu trabalho em segundo plano:

cp sample-etc_rc.d_init.d_ddclient.ubuntu /etc/init.d/ddclient
update-rc.d ddclient defaults
systemctl start ddclient
systemctl status ddclient

Se tudo isso estiver feito, verifique se o registro DNS foi atualizado na página do Cloudflare?