Learn about Dynamic DNS

Dynamic DNS allows you to direct your domain or a subdomain to a resource that is behind a gateway that has a dynamically assigned IP address.
Set up Dynamic DNS with Google Domains to:
  • Create an A or AAAA record for your domain or subdomain that lets the Google name servers know to expect a dynamic IP
  • Generate a username and password that your host or server uses to communicate the new IP address to the Google name servers
Once you've set up Dynamic DNS, you must set up a client programme on your host, server or gateway that:
  • Detects IP address changes
  • Uses the generated username and password
  • Communicates the new address to the Google name servers

Important: Dynamic DNS works with IPv4 and IPv6 addresses, but not at the same time.

Set up Dynamic DNS

  1. On your computer, sign in to Google Domains.
  2. Select the name of your domain.
  3. In the top left-hand corner, click Menu Menu and then DNS. 'Google Domains (active)' should be selected.
    • Tip: If 'Custom (active)' is selected, you already have custom name servers and can't use Google Domains' Dynamic DNS service.
  4. Scroll to 'Dynamic DNS'.
  5. Click Manage Dynamic DNS and then Create new record.
  6. To assign a dynamic IP, enter the name of the subdomain or root domain.
  7. Click Save

Other options to manage Dynamic DNS:

  • To view the record values: Click the triangle next to the record.
  • To view the username and password created for this record: Click View credentials.
  • To configure your gateway or client software to contact the Google name servers: Use the username and password created for the record.
  • To delete the record: Scroll to 'Resource records', click the triangle next to 'Dynamic DNS', then Delete.
Set up a client programme on your gateway, host or server
There are several popular Dynamic DNS clients in use, such as DDclient and INADYN. In addition, most routers have software built in to detect IP changes and communicate them with the name servers.
Important: Google Domains uses the dyndns2 protocol.
Configure your Dynamic DNS client with:
  • Provider or DNS or service: The name of your DNS provider.
  • Username or credential: The generated username in the Dynamic DNS record.
  • Password or credential: The generated password in the Dynamic DNS record.

Once you've created the record and configured your client software, test the record. Enter the subdomain and domain into a web browser or appropriate client, and make sure that they connect to the correct resource.

Examples

DDclient now has support for Google Domains.

DDclient with Google Domains support

ddclient.conf entries:

ssl=yes

protocol=googledomains

login=generated_username

password=generated_password

your_resource.your_domain.tld

General client configuration examples:

DDclient
without Google Domains support
INADYN

Sample ddclient.conf entries:

protocol=dyndns2

use=web

server=domains.google.com

ssl=yes

login=generated_username

password=generated_password

your_resource.your_domain.tld

Add the following to your inadyn.conf

system default@domains.google.com

username generated_username

password generated_password

alias sub.domain.tld

Use the API to update your Dynamic DNS record
Dynamic DNS client software automatically updates your Dynamic DNS record. You can perform manual updates with the API by making a POST request or GET to the following URL:
https://domains.google.com/nic/update
The API requires HTTPS. Here's an example request:
https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4

Important: You must also set a user agent in your request. During a test with the URL directly above, web browsers generally add a user agent for you. The final HTTP query sent to our servers should be similar to this:

Example HTTP query:

POST /nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4 HTTP/1.1
Host: domains.google.com
Authorisation: Basic base64-encoded-auth-string User-Agent: Chrome/41.0 your_email@yourdomain.com

Request parameters:

Parameter Required or optional Description
username:password Required The generated username and password associated with the host that is to be updated.
hostname Required The hostname to be updated.
myip

Optional for IPv4.

Required if you have an IPv6 address.

The IP address to which the host is set. If not supplied, we'll use the IP of the agent that sent the request.

Important: If your agent uses an IPv6 address, myip is required. You can check your agent's IP address at: https://domains.google.com/checkip.

offline Optional Sets the current host to offline status. If an update request is performed on an offline host, the host is removed from the offline state.
Allowed values are:
  • yes
  • no

After the request has been processed, one of the following responses is returned.

Make sure that you interpret the response correctly, or you risk blocking your client from our system.
Response Status Description
Good {user's IP address} Success The update was successful. You should not attempt another update until your IP address changes.
nochg {user's IP address} Success The supplied IP address is already set for this host. You should not attempt another update until your IP address changes.
nohost Error The hostname doesn't exist, or doesn't have Dynamic DNS enabled.
badauth Error The username/password combination isn't valid for the specified host.
notfqdn Error The supplied hostname isn't a valid fully-qualified domain name.
badagent Error Your Dynamic DNS client makes bad requests. Ensure that the user agent is set in the request.
abuse Error Dynamic DNS access for the hostname has been blocked due to failure to interpret previous responses correctly.
911 Error An error happened on our end. Wait 5 minutes and retry.
conflict A
conflict AAAA
Error A custom A or AAAA resource record conflicts with the update. Delete the indicated resource record within the DNS settings page and try the update again.
Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue

Search
Clear search
Close search
Google apps
Main menu
Search Help Centre
true
93020
false