Configuração de DNS dinâmico no Cloudflare para Raspberry Pi 4 – ddclient

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?