Dynamic DNS
Dynamic DNS is a system for automatically updating DNS entries in order to provide a consistent name for a host that has a dynamically allocated IP address.
All Mythic Beasts domain registrations include free access to our Primary DNS API, a simple web-based API for automating changes to DNS records for your domain. This API also supports Dynamic DNS.
Please note that these instructions use our legacy, DNS API v1. We recommend using DNS API v2 for new configurations.
In order to use the DNS API you must first set an API password for your domain, which can be done using the Domains link on the control panel.
The DNS API requires an HTTP request with the following parameters:
domain
- the domain you are updatingpassword
- the API password for the domaincommand
- the API command
To update a Dynamic DNS record, use the REPLACE
API command with
the DYNAMIC_IP
parameter. This will replace all existing records
of the specified type for the specified host with the record provided. If the
record does not already exist, it will be created. For example, to update an A
record for "myhost" with a TTL of 5 seconds, use the following command:
REPLACE myhost 5 A DYNAMIC_IP
Your IP address will be automatically detected and used as the target for this record.
The request can be either a POST or a GET request. We recommend using
POST
, as otherwise your API password will appear unencrypted in
the request URL.
The necessary POST requests can be implemented using the curl command line utility:
d=mydomain.com; p=password; curl --data "domain=$d&password=$p&command=REPLACE myhost 5 A DYNAMIC_IP" https://dnsapi4.mythic-beasts.com
There is no harm in making this request even if your IP address hasn't changed, so a basic approach would be to simply repeat this request at regular intervals.
Using your full hostname
Some dynamic DNS clients require you to provide your full hostname, rather than
just the part within your domain (e.g. myhost.mydomain.com
rather
than just myhost
). If specify the optional origin
paramater with a value of .
, hostnames will be assumed to be fully
qualified. For example:
d=mydomain.com; p=password; curl --data "domain=$d&password=$p&command=REPLACE myhost.mydomain.com 5 A DYNAMIC_IP&origin=." https://dnsapi4.mythic-beasts.com
IPv4 vs IPv6
The DNS API fully supports both IPv4 and IPv6 records. As Dynamic DNS relies on detecting your IP address, it's important to control which protocol you use to connect to us. For this reason, we provide alternative IPv4 and IPv6-only versions of the service under different URLs:
https://dnsapi4.mythic-beasts.com
(IPv4 only)https://dnsapi6.mythic-beasts.com
(IPv6 only)https://dnsapi.mythic-beasts.com
(dual-stack, not recommended for Dynamic DNS)
IPv6 and AAAA records
To set an AAAA record for your IPv6 address, use the following command:
d=mydomain.com; p=password; curl --data "domain=$d&password=$p&command=REPLACE myhost 5 AAAA DYNAMIC_IP" https://dnsapi6.mythic-beasts.com