Dynamic DNS removes all A records on GoDaddy when updating the root domain



  • I'm using Dynamic DNS with both GoDaddy and FreeDNS. I only have done manual updates, but everything works as expected - except for one problem.

    Updates for one.example.com, two.example.com, etc. work just fine. When I manually update example.com (the root domain) with GoDaddy, all other A records are deleted from the zone: "one", "two", etc. are gone.

    The UI (and GoDaddy) use "@.example.com" as the name of the root domain. Does the problem lie with GoDaddy or with pfSense?

    pfSense 2.4.3-RELEASE



  • So, I wrote a PowerShell script to get this done and encountered the same problem. I'm thinking it's a bug with GoDaddy's API.

    I used the following method from GoDaddy's Domains API (https://developer.godaddy.com/doc/endpoint/domains#/)

    PUT /v1/domains/{domain}/records/{type}/{name}

    It works fine with any host name other than "@".

    Using that method to assign an IP address to "@.mydomain.com" succeeds, but it wipes out all other A records one may already have.

    My workaround was to pull all the A records for the domain with this method:

    GET /v1/domains/{domain}/records/{type}

    Manipulate the received JSON to change the "@" record, and write it all back using this method:

    PUT /v1/domains/{domain}/records/{type}

    I figure I can modify the code pfSense uses and implement the same workaround. If possible, can someone point me to the script that pfSense uses for DDNS?

    Meanwhile, I've reached out to api@godaddy.com to see if they can confirm this is a bug or if there's a better approach.



  • At least as a workaround, why not have @ be a CNAME to another hostname, which you update through DDNS?

    @ IN CNAME root.example.com

    Then submit your updates for root.example.com.



  • @virgiliomi said in Dynamic DNS removes all A records on GoDaddy when updating the root domain:

    At least as a workaround, why not have @ be a CNAME to another hostname, which you update through DDNS?

    @ IN CNAME root.example.com

    Then submit your updates for root.example.com.

    Tried that. It seems like the obvious solution, but it violates RFC1034: "If a CNAME RR is present at a node, no other data should be present"

    Apparently, some DNS providers let you get away with this, but GoDaddy is not one of them.



  • Interesting... I did not know that! I don’t think it’s something that I’ve ever tried to do, but just seemed like a logical workaround. Oh well... not sure what else could be done as a workaround then, but I agree that it sounds like an issue with their API.



  • It seems it is a bug with GoDaddy's API. Here's their response to my inquiry:

    "Our team is aware [of] this issue and working on getting this resolved at this time. But we do not have a full ETA at this time. "



  • @aeleus said in Dynamic DNS removes all A records on GoDaddy when updating the root domain:

    It seems it is a bug with GoDaddy's API. Here's their response to my inquiry:

    "Our team is aware [of] this issue and working on getting this resolved at this time. But we do not have a full ETA at this time. "

    UPDATE: It looks like GoDaddy has fixed the issue. You can now update "@" records.


Log in to reply