ddclient invalid reply talking to Namecheap

Started by neek, June 07, 2022, 06:34:31 AM

Previous topic - Next topic
I'm setting up OPNsense to update dynamic DNS at provider Namecheap. In this case, the dynamic address is assigned to my base domain (e.g. example.com), so at Namecheap I have that configured as "@". In ddclient on OPNsense, I have configured the base domain (example.com).

In my logs I'm seeing that the domain is not found. I'm unable to set "@.example.com" in ddclient so I'm guessing that the base domain name is correct. My logs show the following errors. Can anyone tell me what I'm doing wrong?

2022-06-06T21:28:26-07:00 Notice ddclient[50858] 63477 - [meta sequenceId="78"] FAILED: updating EXAMPLE.com: Invalid reply.
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="77"] WARNING: </interface-response>
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="76"] WARNING: <debug><![CDATA[]]></debug>
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="75"] WARNING: <Done>true</Done>
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="74"] WARNING: </responses>
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="73"] WARNING: </response>
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="72"] WARNING: <ResponseString>Validation error; not found; domain name(s)</ResponseString>
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="71"] WARNING: <ResponseNumber>316153</ResponseNumber>
2022-06-06T21:28:26-07:00 Notice ddclient[50858] 62791 - [meta sequenceId="70"] WARNING: <Description>Domain name not found</Description>

June 07, 2022, 01:38:33 PM #1 Last Edit: June 07, 2022, 02:19:00 PM by CGrisamore
I had to edit ddclient.conf file directly as  OPNsense web interface does not allow entry of ampersand character in some fields and my own provider uses a token which includes an ampersand.  Also the sample ddclient configuration file reveals some provider specific options in entry (protocol) which are not available from the dropdown list in the web interface.  ddclient has run flawlessly for me since I edited ddclient.conf directly using the provider specific settings.

Below is a copy of my ddclient.conf file but I have replaced my provider info with the template Namecheap info.  Tailor that to your specific circumstances, ssh into your firewall and copy the file to /usr/local/etc/ddclient.conf

 
daemon=600
syslog=yes
pid=/var/run/ddclient.pid
ssl=yes
verbose=yes
use=if, if=igb0
use=web, web=freemyip.com/checkip

## NameCheap (namecheap.com)
##
# protocol=namecheap,                     \
# server=dynamicdns.park-your-domain.com,   \
# login=example.com,                      \
# password=example.com-password           \
# subdomain.example.com

Thanks for sharing that config. It's similar enough to mine that it unfortunately didn't help. I'm now working with support at Namecheap to figure out what I'm supposed to enter as the domain to update. My wild guess is I'd have to make something like e.g. 'dd.EXAMPLE.COM' and then make a CNAME that aliases that, rather than just using EXAMPLE.COM as the dynamic host.

Is there any update on this?  I'm stuck in the same problem.

os-dyndns works great.
os-ddclient doesn't work.

I've replicated the config from dyndns, to ddclient.  I'm trying to dynamically register subdomain.domain.net. 

I see the request in the logs:
76692 - [meta sequenceId="1"] WARNING: SENT: https://dynamicdns.park-your-domain.com/update?host=subdomain.domain.net&domain=user&password=myuniquepassword&ip=55.55.55.55

I eventually get a response back:
78126 - [meta sequenceId="22"] WARNING: <Err1>Domain name not found</Err1>


Just had to add my domain (not including the subdomain into the username field - than updates are working).

so if you are trying to update the host host.mydomain.com and the namecheap login id is ncusername

would this be the correct user name to be used in the ddlient web interface?:

ncusername@mydomain.com

So I confirmed for namecheap.com (free dns service):

username = the domain zone name on namecheap (ex host ip to update is firewall.mydomain.com, use mydomain.com)
password: your namecheap dynamic dns password