I am getting the following error in ddns-scripts-route53. I know I have the service key and user key right because i worked thru that error. Also I worked thru the permissions on the IAM so I am sure there is something else going on. I can't figure it out. Can anybody help with this?
How do I see the formatted XML file it is sending so i can see what it is trying to set?
<ErrorResponse xmlns="https://route53.amazonaws.com/doc/2013-04-01/"><Error><Type>Sender</Type><Code>InvalidChangeBatch</Code><Message>[Invalid Resource Record: 'FATAL problem: ARRDATAIllegalIPv4Address (Value is not a valid IPv4 address) encountered with ''']</Message></Error><RequestId>93dacbcb-bdd6-4d78-a9b4-e7e17874b925</RequestId></ErrorResponse>
000914 ERROR : IP update not accepted by DDNS Provider
Follow up. I figured out how to edit the script so that it output a file of what it was sending. Turns out that it is sending a blank value for the IP address. I am not sure what else to change in the script to get it working.
RECORD_VALUE="${LOCAL_IP}"
The variable RECORD_VALUE is set by LOCAL_IP. I can't figure out what sets the variable LOCAL_IP.
Yes i have reviewed the Wiki for DDNS client. Route53 isn't on the wiki at all. I had to dig into the script to find the right inputs for domain (hosted zone id), username (access key) and password (secrete key). I was having errors with this not authenticating correctly. Then I had issues with the permissions on the IAM user i am using. Got that fixed now I am having problems with the script sending a blank value for the IP address for the A record.
As requested here is the cat /etc/config/ddns/ heavily redacted.
# /usr/lib/ddns/dynamic_dns_updater.sh -S myddns_ipv4 -v1 start
112645 : ************ ************** ************** **************
112645 note : PID '15538' started at 2023-05-13 11:26
112645 : ddns version : 2.8.2-37
112645 : uci configuration:
ddns.myddns_ipv4.cacert='/etc/ssl/certs'
ddns.myddns_ipv4.check_unit='minutes'
ddns.myddns_ipv4.domain='<HOSTED DOMAIN ID>'
ddns.myddns_ipv4.enabled='0'
ddns.myddns_ipv4.force_unit='minutes'
ddns.myddns_ipv4.interface='wan'
ddns.myddns_ipv4.ip_network='wan'
ddns.myddns_ipv4.ip_source='network'
ddns.myddns_ipv4.lookup_host='home.example.com'
ddns.myddns_ipv4.password='<IAM USER SECRETE KEY>'
ddns.myddns_ipv4.retry_unit='seconds'
ddns.myddns_ipv4.service_name='route53-v1'
ddns.myddns_ipv4.use_https='1'
ddns.myddns_ipv4.use_ipv6='0'
ddns.myddns_ipv4.use_syslog='2'
ddns.myddns_ipv4.username='<IAM USER ACCESS KEY>'
ddns.myddns_ipv4=service
112645 : verbose mode : 1 - run normal, console mode
112645 WARN : Service section disabled! - TERMINATE
112645 WARN : PID '15538' exit WITH ERROR '1' at 2023-05-13 11:26
If you do an output if ifconfig you see that the IP is actually on the bridge for the wan (br-wan) not for the wan itself. I changed this and I am still getting the same error.
# /usr/lib/ddns/dynamic_dns_updater.sh -S myddns_ipv4 -v1 start
113435 : ************ ************** ************** **************
113435 note : PID '18880' started at 2023-05-13 11:34
113435 : ddns version : 2.8.2-37
113435 : uci configuration:
ddns.myddns_ipv4.cacert='/etc/ssl/certs'
ddns.myddns_ipv4.check_unit='minutes'
ddns.myddns_ipv4.domain='<HOSTED DOMAIN ID>'
ddns.myddns_ipv4.enabled='1'
ddns.myddns_ipv4.force_unit='minutes'
ddns.myddns_ipv4.interface='br-wan'
ddns.myddns_ipv4.ip_interface='br-wan'
ddns.myddns_ipv4.ip_source='interface'
ddns.myddns_ipv4.lookup_host='home.example.com'
ddns.myddns_ipv4.password='<IAM USER SECRETE KEY>'
ddns.myddns_ipv4.retry_unit='seconds'
ddns.myddns_ipv4.service_name='route53-v1'
ddns.myddns_ipv4.use_https='1'
ddns.myddns_ipv4.use_ipv6='0'
ddns.myddns_ipv4.use_syslog='1'
ddns.myddns_ipv4.username='<IAM USER ACCESS KEY>'
ddns.myddns_ipv4=service
113435 : verbose mode : 1 - run normal, console mode
113435 : check interval: 600 seconds
113435 : force interval: 4320 seconds
113435 : retry interval: 60 seconds
113435 : retry max count : 0 times
113435 : No old process
113435 : last update: never
113435 : Detect registered/public IP
113435 : #> /usr/bin/nslookup home.example.com >/var/run/ddns/myddns_ipv4.dat 2>/var/run/ddns/myddns_ipv4.err
113435 : Registered IP '<OLD IP>' detected
113435 info : Starting main loop at 2023-05-13 11:34
113435 : Detect current IP on 'interface'
113436 : #> ip -o addr show dev br-wan scope global >/var/run/ddns/myddns_ipv4.dat 2>/var/run/ddns/myddns_ipv4.err
113436 : Current IP '<CORRECT NEW>' detected on interface 'br-wan'
113436 : Update needed - L: '68.113.209.238' <> R: '3.143.74.52'
113436 : parsing script '/usr/lib/ddns/update_route53_v1.sh'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 976 100 375 100 601 637 1021 --:--:-- --:--:-- --:--:-- 1831
113436 : <?xml version="1.0"?>
<ErrorResponse xmlns="https://route53.amazonaws.com/doc/2013-04-01/"><Error><Type>Sender</Type><Code>InvalidChangeBatch</Code><Message>[Invalid Resource Record: 'FATAL problem: ARRDATAIllegalIPv4Address (Value is not a valid IPv4 address) encountered with ''']</Message></Error><RequestId>c359777e-63d7-4cd4-ac48-c848109ba613</RequestId></ErrorResponse>
113436 ERROR : IP update not accepted by DDNS Provider