Hello I have created a ddns module for ISPConfig 3 and published it on github: https://github.com/mhofer117/ispconfig-ddns-module Unlike the other threads with scripts using the remote api, this one will: - Integrate into the existing DNS menu of ISPConfig 3 - Not require a remote-api user - Allow clients, resellers and admins to create update tokens - Perform updates using a simple URL and the generated token, compatible with many existing consumer solutions without manual cron scripts - Allow restricting a token to individual zones / records / record types - Allow updating A (IPv4) or AAAA (IPv6) In Addition, the token endpoint implements the same authentication rate-limiting as the normal login process. Feedback and suggestions are welcome. Regards
Looks really nice! I moved the post to the ISPconfig addons forum, so it can be found easier. And I'll add a link on the ISPConfig website.
Sure, if this is desired. However there are some things that will need some attention: - On ports other than 443/80, like the default ISPConfig port 8080, it doesnt work with some vendors, namely AVM / FRITZ!Boxes - Putting ISPConfig behind a reverse proxy can also lead to issues if not set up correctly (trusting X-Forwarded-For headers) and is itself a security concern. I thought about providing a proxy script that can be put on any vhost and will communicate with the module. But this will require some config values to be secure and seamless which I would have just added into a config file. If this is integrated there would probably need to be a config interface for this? What other steps would be required from my side to merge this module into the main project?
Good question. The best solution would be something working out of the box, ofcourse. Otherwise, keeping it as a separate module is better. Not sure how we can resolve this easily. Depends on the current code, haven't looked into it yet.
Hey guys, This may seem like a totally stupid question, but I have been using dyndns services for a few years. I have about three remote computers out there that I need to be able to get to without remote services attached. I use the dyndns services for this purpose. That being said I came across the dynamic dns module for ispconfig3 and I am a little confused. Is it setup to use to allow ispconfig to be run on a dynamic ip or is it to allow you to basically run a dynamic dns for what I am needing with ispconfig3? I just don't understand the terminology well enough on dns to understand clearly. If it isn't for what I am needing can you recommend any procedures to allow this? Spending $55 a year for these services isn't terrible, but I would like to do it "in-house" if it would save a little money and time. Thanks so much for any advice and insight you can offer.
Hello, a great module. It's going great for me so far! Can you recommend a client for Windows that is compatible with the module? I haven't found one yet :-(
Hello mhofer, thank you for the work you have done and the pleasure with this module. I have a simple question about the usage: do i have to add zone-entries (A/AAAA Records) by hand before adding a DDNS-Token? I added a token fpr a subdomain "privat.mydomain.tld" but if I open DNS and search inside the "mydomain.tld"-Zone i can find no A or AAAA-Record for "privat". regards Steffan
Creating a DDNS token DOES NOT create a corresponding A or AAAA record in your dns zone. You need to do that yourself. Before or after ddns token creation doesn't matter but it needs to exist before your router/script/whatever you use tries to update it using the ddns token.
Hi everyone, @mhofer — congratulations! This feature is amazing. If the development team could eventually integrate it into the main ISPConfig source code, it would give the project a huge boost and position it above many commercial solutions. As far as I know, to this day, I believe there is still no control panel that offers this functionality. My plan is to test it today, but I have one question regarding updates. When ISPConfig is updated to a new version, will I need to reinstall the module again, including the database part, or will the changes be persistent? Thanks in advance to all!
I've been running it actively for quit some time and haven't had any issues with it after several ISPC updates I've done since. Sofar it has proven to be persistent.
Great! Do you know if I could use the update method via curl like I currently do with Afraid.org? My idea would be to use something like this in my cron: Code: */30 * * * * /usr/bin/curl --silent "https://ddns.domain.tld/ddns/update.php?record=ddnsname.domain.tld&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" >/dev/null 2>&1 However, I would need to use the proxy domain method because I have port 8080 protected at iptables level, and since my IP is dynamic, no matter what rule I add to allow access to port 8080, the connection would fail as soon as the IP changes. I also have a few scripts that, every X minutes, resolve the current IP of my DDNS name in Afraid.org and update the dynamic IP in the iptables rule to allow access to port 8080. It’s a pity that iptables doesn’t support FQDNs directly, and paying an additional 25€/month for a static IP is not an option (this is Spain). Thanks again!
You should be able to use any method you want, as long as you're using the correct URL. I use https://<panel proxy hostname>/nic/update?hostname=<ddns hostname>&myip=<my IP> with token as password in several different routers' (mainly Draytek and Mikrotik) ddns config. A proxy between the client and your ISPC panel is no problem as you can see. I have a HAProxy server in between in my testlab and an ispc node nginx webserver as a proxy in another environment.
I just installed the module and ran some tests, and I can confirm it works perfectly on ISPConfig 3.3.0p2. After several tests with curl, I confirm that multiple formats work, but the one I use is this: Code: */30 * * * * /usr/bin/curl --silent "https://ddns.domain.tld/ddns/update.php?record=ddnsname.domain.tld&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" >/dev/null 2>&1 Thanks again and best regards!