Automatyczna zmiana adresu IP w strefie DNS cloudflare (DDNS)

Poradniki społeczności
vps
SystemZ
SystemZ Admin lvlup.pro

Czasami istnieją sytuacje gdzie nie do końca wiemy jaki mamy adres IP lub bardzo często go zmieniamy i ciągłe logowanie się do Cloudflare gdzie zmieniamy adres naszego VPSa jest męczące.

Da się to zautomatyzować używając tego prostego kontenera dockera: https://github.com/oznu/docker-cloudflare-ddns

Najpierw sam Docker

Najpierw instalujemy Dockera jeśli go nie mamy, wymagana jest do tego pełna wirtualizacja np. KVM, VMware czy Hyper-V, na OpenVZ nam to nie pójdzie.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Źródło: https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-convenience-script

Odpalamy kontener aktualizujący DNSy

docker run \
  --restart=always \
  -e EMAIL=hello@example.com \
  -e API_KEY=xxxxxxx \
  -e ZONE=example.com \
  -e SUBDOMAIN=ts3 \
  -e RRTYPE=A \
  -e PROXIED=false \
  oznu/cloudflare-ddns

Przy użyciu tej komendy ściągnie nam się kontener z aplikacją, zaloguje się ona do konta cloudflare z emailem hello@example.com, używając klucza xxxxxxx.

Zmiany będą dokonywane na domenie example.com aktualizując subdomenę ts3.example.com w formie wpisu A.

Wpis ten NIE będzie używać reverse proxy czyli "pomarańczowej chmurki" pomaranczowa-chmurka-cloudflare|55x34

Jest to wymagane jeśli pod tym adresem mamy serwer gier. Cloudflare bowiem zablokuje pakiety do serwera gier z włączonym proxy a tego nie chcemy :slight_smile:

Co z IPv6?

Jeśli chcemy automatycznie aktualizować adres IPv6 (gdy np. dostawca dostarcza losowe IPv6 przez DHCP), wystarczy zamienić RRTYPE=A na RRTYPE=AAAA