Settings

Theme

DIY Dynamic DNS with Netlify API and Bash

blog.skylerlewis.io

44 points by krustymeathead 5 years ago · 16 comments

Reader

lukevp 5 years ago

This can be done with the Cloudflare free plan easily, so long as you use Cloudflare as your DNS. You just make an authenticated API request to make the DNS update, and there are off the shelf tools to automate this in the background if you don’t want to roll your own.

  • majormjr 5 years ago

    I do the same with route53, a small Python script runs on a Raspberry Pi to get the IP address and then updates the domain record through the API.

lwhsiao 5 years ago

Author of one of the tools you tried here. Would love to know what issues you had with it since this basically sounds like how I've been using my tool as well (just run through a cron job). Is it just the fact you need to install using cargo? Or, did you encounter some bugs?

  • krustymeatheadOP 5 years ago

    Hi! I've been trying to stick with apt for installing stuff on my Pi to make software updates easier, so yeah, installing via Cargo was something I was leaning away from. No bugs to report. Thanks for sharing your tool!

nerdkid93 5 years ago

My TP Link router has a free dynamic DNS service available, but the DNS configuration they use fails on roughly 50% of the DNS resolvers I've tested. I use a free-tier Google Cloud f1-nano instance running cron to resolve TP Link's DNS using 1.1.1.1 resolver, then updating my DuckDNS account with the IP address. It's kind of annoying that its necessary, but it was a little fun to set up everything.

chewz 5 years ago

DynDNS53 [1] + cron script every 5 minutes

[1] - Run your own dynamic DNS service with Amazon Route 53 https://github.com/agorf/dyndns53

ryanmarsh 5 years ago

I wrote an AWS Lambda for this. It’s been running for nearly two years now and I’ve never broken through the free tier.

  • krustymeatheadOP 5 years ago

    I am running the Bash script from the linked blog post on my local Raspberry Pi. Is your Lambda for pointing back to your home network? If so, that is awesome that you can do that using a remote service. If you don't mind sharing, how does it work?

    • ryanmarsh 5 years ago

      Instead of using DynDNS my router at home is configured to hit an alternative url, the lambda. Every hour it pings my lambda with its current public IP. The lambda then uses my actual DNS provider’s API to update the record.

      It seems the format of DynDNS HTTP posts is baked into a lot of products but obviously not every provider supports it

jcynix 5 years ago

A server at home connects via curl to my mail server outside every n minutes, where iptables logs the access to syslog where a script extracts the dynamic address.

If one doesn't need or have a full blown server available, a cheap cloud server like the ones Hetzner offers for less than 3€/month should do.

lytedev 5 years ago

I did something really similar to this! It's a tiny bash script and systemd-timer (like a cron job): https://github.com/lytedev/netlify-ddns

zelly 5 years ago

when we can get cheap symmetric fiber connections in residential is when I'll start thinking about running services at home.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection