Bind-nsupdate aka RFC2136

https://wiki.teltonika-networks.com/view/RUT200_Dynamic_DNS

states as service “bind-nsupdate”, but i did not find it in the list.

Is there a plugin for RFC 2136 DNS updates?

Hello,

“Bind-nsupdate” should be present in the DDNS setting. The nsupdate tool (according to RFC 2136) should be installed on your system by default. If it isn’t, you can install it by running the following command:

opkg install ddns-scripts_nsupdate

image

image

Best regards,

BusyBox v1.34.1 (2024-06-18 05:31:28 UTC) built-in shell (ash)

     ____        _    ___  ____
    |  _ \ _   _| |_ / _ \/ ___|
    | |_) | | | | __| | | \___ \
    |  _ <| |_| | |_| |_| |___) |
    |_| \_\\__,_|\__|\___/|____/
-------------------------------------
     Teltonika RUT2M series 2024
-------------------------------------
   Device:     RUT200
   Kernel:     5.15.149
   Firmware:   RUT2M_R_00.07.07.3
   Build:      cca312e0fb4
   Build date: 2024-06-18 09:28:30
-------------------------------------
root@RUT200:~# 
root@RUT200:~# opkg install ddns-scripts_nsupdate
Unknown package 'ddns-scripts_nsupdate'.
Package installation encountered an error, removing previously installed packages.
root@RUT200:~# opkg install ddns-scripts_nsupdate
Unknown package 'ddns-scripts_nsupdate'.
Package installation encountered an error, removing previously installed packages.
root@RUT200:~# nsupdate
-ash: nsupdate: not found
root@RUT200:~#

Neither such a package nor nsupdate are present

Hello,

Please run the opkg update command before running the installation command.

Best regards,

BusyBox v1.34.1 (2024-06-18 05:31:28 UTC) built-in shell (ash)

     ____        _    ___  ____
    |  _ \ _   _| |_ / _ \/ ___|
    | |_) | | | | __| | | \___ \
    |  _ <| |_| | |_| |_| |___) |
    |_| \_\\__,_|\__|\___/|____/
-------------------------------------
     Teltonika RUT2M series 2024
-------------------------------------
   Device:     RUT200
   Kernel:     5.15.149
   Firmware:   RUT2M_R_00.07.07.3
   Build:      cca312e0fb4
   Build date: 2024-06-18 09:28:30
-------------------------------------
root@RUT200:~# opkg update
Downloading http://opkg.teltonika-networks.com/9e0c68d9a4ebaa160d887efd4faa563491c3d3eada9500ab4af95215da990019/Packages.gz
Updated list of available packages in /var/opkg-lists/tlt_packages
Downloading http://opkg.teltonika-networks.com/9e0c68d9a4ebaa160d887efd4faa563491c3d3eada9500ab4af95215da990019/Packages.sig
Signature check passed.
root@RUT200:~# 
root@RUT200:~# 
root@RUT200:~# opkg list | grep dns
ddns-scripts - 2024-03-07-1 - Dynamic DNS Client scripts (with IPv6 support) - Info: http://wiki.openwrt.org/doc/howto/ddns.client
ddns-scripts_cloudflare.com-v4 - 2024-03-07-1 - Dynamic DNS Client scripts extension for CloudFlare.com API-v4 (require/install cURL)
ddns-scripts_no-ip_com - 2024-03-07-1 - Dynamic DNS Client scripts extension for No-IP.com
dnsmasq - 2.89-29
rpcd-mod-rrdns - 20170710
tlt-ddns - 2024-03-07-1 - Dynamic DNS (DDNS or DynDNS) is a method of automatically updating a name server in the Domain Name System (DNS). This is most often utilized when the end user has a dynamic IP address and wants to bind it to a static hostname.
vuci-app-ddns-api - 1 - VuCI API Support for Dynamic DNS
vuci-app-ddns-ui - 1 - Dynamic DNS (DDNS or DynDNS) is a method of automatically updating a name server in the Domain Name System (DNS). This is most often utilized when the end user has a dynamic IP address and wants to bind it to a static hostname.
vuci-app-dns-api - 1
vuci-app-dns-ui - 1
root@RUT200:~# 
root@RUT200:~# 
root@RUT200:~# opkg install ddns-scripts_nsupdate
Unknown package 'ddns-scripts_nsupdate'.
Package installation encountered an error, removing previously installed packages.
root@RUT200:~# 

I did already…

Hello,

I have contacted RND regarding this issue to verify if the bind-nsupdate (DDNS service) is indeed supported on the RUT200. I will provide an update once I receive substantial information.

Best regards,

1 Like

I intsalled the newest firmware, now i can select bind-nsupdate.

But: There is not nsupdate prog on the router. And no

BusyBox v1.34.1 (2024-07-17 05:29:53 UTC) built-in shell (ash)

    ____        _    ___  ____
   |  _ \ _   _| |_ / _ \/ ___|
   | |_) | | | | __| | | \___ \
   |  _ <| |_| | |_| |_| |___) |
   |_| \_\\__,_|\__|\___/|____/
-----------------------------------
    Teltonika RUT2M series 2024
-----------------------------------
   Device:     RUT200
   Kernel:     5.15.159
   Firmware:   RUT2M_R_00.07.08
   Build:      97527722dc3
   Build date: 2024-07-17 05:57:32
-----------------------------------
root@RUT200:~# which nsupdate
root@RUT200:~# which knsupdate
root@RUT200:~# find / -name '*nsupdate' -type f 2>/dev/null 
/overlay/upper/usr/bin/snsupdate
/usr/bin/snsupdate
root@RUT200:~# 

And: The form ask the wrong things, for rfc2136 update i have to enter the desired hostname and the nameserver address and port. Also the TSIG-Key and TSIG keyname. (It seems, that the script update_nsupdate.sh uses username password for TSIGname and key…)

It seems, that snsupdate is also an updater for rfc2136, but i am not shure…

I also build the firmware by myself, then the ddns module is not working in the web-interface (and of course nsupdate also missing).

Try this:

opkg -e /etc/opkg/openwrt/distfeeds.conf update
opkg -e /etc/opkg/openwrt/distfeeds.conf list | grep nsupdate
opkg -e /etc/opkg/openwrt/distfeeds.conf install knot-nsupdate

Regards,

After running this, /usr/bin/knsupdate got installed. I call it manually and it works.

From
opkg -e /etc/opkg/openwrt/distfeeds.conf list | grep nsupdate
I got a line
ddns-scripts-nsupdate - 2.8.2-12 - Dynamic DNS Client scripts extension for direct updates using bind nsupdate The script directly updates a PowerDNS (or maybe bind server) via nsupdate from bind-client package. It requires: "option dns_server" to be set to the server to be used by nsupdate. "option username" should be set to the key name and "option password" to the base64 encoded shared secret.

root@RUT200:~# tail -f /var/log/ddns/rfc2136.log 

gives

 111017       : Detect local IP on 'network'
 111017       : #> network_get_ipaddr __DATA 'mob1s1a1_4'
 111018       : ifconfig_name=usb0; ifconfig_ip=192.168.129.55
 111018       : Used ifconfig IP 192.168.129.55 instead
 111018       : Local IP '192.168.129.55' detected on network 'mob1s1a1_4'
 111019       : Update needed - L: '192.168.129.55' <> R: ''
 111019       : parsing script '/usr/lib/ddns/update_nsupdate.sh'
 111019  warn : Service section not configured correctly! Missing 'dns_server' - terminate
 111020  warn : pid '27190' exit with error '1' at 2024-07-22 11:10

Where in the web-interface I can set this "option dns_server" ?

By the way: I changed the script /usr/lib/ddns/update_nsupdate.sh to ignore "option username" and "option password", because my DNS-server did not need this. LAter I would provide a modified version of this script, if you tell me, how. This would then accept empty username/password and generate the “DATAFILE” accordingly.

Sorry I don’t know. Look at /etc/config/ddns the value isn’t present by default but you can try adding it there.

Works.

But where I can provide my modified version of /usr/lib/ddns/update_nsupdate.sh? Is there a github or gitlab repository?

The ddns-scripts package comes from openwrt try submitting a PR there. Good luck.

This topic was automatically closed after 15 days. New replies are no longer allowed.