Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have the following setup:

  1. A domain registered with GoDaddy
  2. A plug computer running ArchLinuxArm with a dynamic public IP
  3. Updated Domain in GoDaddy DNS Manager to point to public IP of plug computer

So far so good. However, I need to automatically update the IP (DynDns style) in GoDaddy DNS Manager if my ISP decides to change it.

Any idea how to go about it?

share|improve this question

2 Answers 2

up vote 3 down vote accepted

Currently, GoDaddy does not provide dynamic DNS, and have no API to programmaticaly update DNS

According to GoDaddy support:

... DNS modifications through scripts would not be possible with our DNS services. These changes can only be done from within the DNS Manager interface that is provided as part of your customer account.

Thus you need 3-rd party provider for dynamic DNS, and you have the following options:

  1. Move your domain to DNS hosting service which does support dynamic DNS (like no-ip.com, my own net-me.net, and many others). GoDaddy may remain your domain registrar, but you use 3-rd party DNS hosting.

  2. (Simpler) Setup any dynamic DNS account, can be 3rd-level domain like yourusername.some-dynamic-dns-provider.net, and setup a CNAME DNS record with GoDaddy which will point to your dynamic domain name. For example if you have www.yourdomain.com CNAME yourusername.some-dynamic-dns-provider.net, all requests for www.yourdomain.com will be redirected by DNS to your dynamic IP address. Though CNAME record can not be created for naked domain (yourdomain.com, without www.).

  3. You can also move you domain altogether to another domain registrar, which does support dynamic DNS. (I think namecheap.com does.)

share|improve this answer

Checkout ddclient or INADYN if they can't do it, you maybe best with a self written solution based in the API from GoDaddy and here is a link to a script I am using to update my DNS: http://paste.org/49922


hosts=( 'your.host.tld' )
pass_enc='password using base64'
pass=`echo $pass_enc | base64 -d`
myip=`dig a myip.opendns.com @resolver1.opendns.com +short`
lastip=`cat $lastipfile`

if [ "$myip" != "$lastip" ]; then
  for host in ${hosts[@]};
      wget -O /dev/null --quiet --no-check-certificate $URL
      echo $myip > $lastipfile
      touch $lastipfile
  echo "IP did not change!" > /dev/null
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.