Virtualmin => Addresses and Networking => Dynamic IP Update <<< needs some modernization/updating?

I know that the primary response by support staff here for all Tickets discussing DHCP is to "Get a Static IP" period, full-stop. However...

I am thinking about trying the Virtualmin => Addresses and Networking => Dynamic IP Update feature while I'm still in the dev stages of my projects. I'm searching around for Dynamic DNS Services, and it's hard to tell if the only option in the list DynDNS is still in business. I'm already regretful for switching my least important domain from domains.google.com to www.changeip.com; they don't have/allow CAA or TLSA records. While searching for better options, I looked at this page https://www.makeuseof.com/tag/5-best-dynamic-dns-providers-can-lookup-fr... which in their No-IP section claimed DynDNS is gone, but that URL exists despite it just forwarding to dyn.com. That could be the same thing, but I don't know if I should try because Virtualmin only gives one choice and I don't get confidence that it will work.
I'm considering https://www.dynu.com/ https://www.noip.com/ and https://dyn.com/ as of today.

I'm very willing to be a test-dummy for improving this module of Virtualmin.

I could be wrong, but I think that with the way big players are screwing up the world, more individuals are going to break-into the self-serves services market. Federated social media and cloud services are powerful and open source. I think the Virtualmin organization might want to make a path for the new market that's waiting to happen.
Like how about this feature of NextCloud https://apps.nextcloud.com/apps/sensorlogger where I'm fairly certain some of the potential sensors being monitored will be behind DHCP connections. Shouldn't Virtualmin get ahead of this type of thing?

Status: 
Active

Comments

So, are you suggesting that Virtualmin add support for other dynamic IP address providers?

WNYmathGuy's picture
Submitted by WNYmathGuy on Thu, 05/31/2018 - 22:44 Pro Licensee

Yes, maybe, if it's good for Virtualmin and the users now and in the future.

I see it's complicated. Like my router only allows No-IP and DYN to connect to it. How many routers are their that restrict options, and so on. throws hands in air

I'll take a look into this..

WNYmathGuy's picture
Submitted by WNYmathGuy on Mon, 06/04/2018 - 12:16 Pro Licensee

For the record, I'm having the worst experience trying the ChangeIP.com service. It seems like the Microshaft business model; a pretty marketing wrapper on an old rusty garbage can. Support responses don't pass the Turing Test. My transferred domain doesn't work yet:
e,g,
This site can’t be reached
MyExample.com’s server IP address could not be found.
Try:
Checking the connection
Checking the proxy, firewall, and DNS configuration
ERR_NAME_NOT_RESOLVED
and it's been 7 days since I completely and successfully transferred it from domains.google.com. Even Google had all my subdomains working correctly, they just fouled up the main domain. ChangeIP has nothing working right.

Also, their interface is confusing and throws error messages that don't help, but that's not in their control because it's made by "WHM Complete Solution" http://www.whmcs.com/ so it's not worth complaining to ChangeIP about their interface.

WNYmathGuy's picture
Submitted by WNYmathGuy on Mon, 06/04/2018 - 13:11 Pro Licensee

While on the No-IP pages I see this gem about routers:

What If No-IP Isn't an Integrated Solution in My Router or Device?
-
It’s not a problem if No-IP isn’t an integrated solution in your device, but you should take a few seconds to write an email or tweet to your device manufacturer and ask them to add No-IP as a Dynamic DNS provider. It will make your life easier, we swear. In the mean time… If No-IP is not an integrated solution in your router or device, we offer an easy and free solution. Simply download our Dynamic Update Client, which is available for Windows, Mac, and Linux. Install the software at the location where you would like your IP address to be updated with your hostname. The Dynamic Update Client must be running at all times in order to keep your hostname updated with the current IP address.

So people could pressure the router Mfg. to do a firmware change supporting other services?! Cool. I wonder how many reliable DDSN providers could take advantage of this?

Also, couldn't the coders at Webmin fork some program that updates DDNS service providers in a way that it runs like a daemon in Webmin updating Virtualmin itself and the BIND records?

That's not a bad idea - the existing dynamic IP support could be generalized to run any IP sync command.

WNYmathGuy's picture
Submitted by WNYmathGuy on Wed, 06/06/2018 - 12:04 Pro Licensee

Also, if a user had their domains listed on a variety of services, they can only update one service with their router, the rest can get the update by a piece of software running in the background on their system.

WNYmathGuy's picture
Submitted by WNYmathGuy on Tue, 06/12/2018 - 11:33 Pro Licensee

As an add-on to #7 above, it seems that any dynamic IP updater program you write should be virtual server dependent. This would allow individual API selection for the unique needs fo that domain. Perhaps during spin-up of a virtual server that's dynamic IP dependant, the user would select the DNS provider and enter their username and password to manage that domain. Then via API connections, your software would log in and update the IP as the Virtualmin daemon software discovered the change.

WNYmathGuy's picture
Submitted by WNYmathGuy on Wed, 06/27/2018 - 10:22 Pro Licensee

This is more of a "Note To Self" comment than an update or a question. Today I switched ISP's because Verizon doubled my monthly bill for no reason, so my IP address was changed. I've been getting better at changing things mostly because I'm using Virtualmin's tools instead of doing things the hard way. Last time I went into the BIND DNS Server settings and changed all the IP's, the time before I manually edited the text file using the file browser. I was just ignorant to the better ways. Today I just opened each virtual domain and did the Virtualmin => selected v-server => Server Configuration => Change IP Address, and now I see the title of the thread hinted at what I should have done in the first place.

Virtualmin => Addresses and Networking => Change IP Update

I was a little put off by it because the interface makes me fear I could do something wrong and F.U.B.A.R. my server. My courage is up though so I'll try it next time. I'm assuming I should have changed the radio button for Address type to change to "External address used in DNS records" and fill in IPv4 address of servers to update with the last IP address and fill in New IPv4 address with the current IP address.

https://www.virtualmin.com/comment/796810#comment-796810 "Submitted by JamieCameron on Fri, 06/01/2018 - 05:30 Comment #3

So, are you suggesting that Virtualmin add support for other dynamic IP address providers?"

I also suggest to add this feature. Add other providers (No-IP and any other working providers) and/or add option "OTHER PROVIDER" where we can write needed data for dynamic IP updates.

Thanks in advanced...

NOTE: I wanted to confirm that DYNDNS.ORG is still in business, they are now called https://dyn.com/dns/ but all their previous http://members.dyndns.org/nic/update?hostname=DOMAIN.COM... still works. And their http://checkip.dyndns.org/ still works as well. The good news is that if you had any domains with them before their name change they will have grandfathered you in with future free lifetime domains, otherwise you have to now pay.

unborn's picture
Submitted by unborn on Tue, 09/18/2018 - 08:25 Pro Licensee

hi WNYmathGuy

I was looking for similar solution like no-ip for my mooms laptop (running debian as daily computer - with gnome gui). Basically I use her router as vpn for my self as I am in UK and she is in Europe. The problem was she have dynamic IP as static comes at premium price. Also problem with no-ip like providers, you would have to pay for pernament solution or each 3 or 5 days you have to log into cp which suxs. I found solution for my self and would like to share it.

What I've done is I wrote bash script (linux is just brilliant) which was executed when system was reboot/boot up and used google to get my the actual IP (I use google servers as they are free and always up plus no limits in seconds for how many times you can check ip).

When IP did changed, the script would detect it and send me an email with old IP and new IP so I was able to always connect to her network. After one year I did modify script a bit and set it up via cron to run on every boot and then every 15 minutes or so, the script will check the current ip and if the ip changed, it will log into my server and update dns records in bind and restarts it.

I manage my dns on my server and in bind I've just added records like myvpn.domain.co.uk which points to that exactly ip. Script will only change that line in dns records and then restart bind, changes are nearly instant - well sometimes it takes to 2 to 3 minutes, but it works.

No installation need it, no 3th party, just secured ssh via keys only and one file running via cron. I know its not ideal solution but its elegant, automated, not complicated AND ITS FREE - no router, no other providers need it. It can be run within your server which means you set it once and you can forgot it.

Edit: script can be modified to update all records automatically for you for all of your domains of it is running from within your own server, all in one go. Also you will need to install sendemail (not sendmail) package...

The problem I would say would be that dns propagation takes around 24 hours, which you can make it much shorter but this would eat some bandwidth as dns would be updating quiet frequently. If you have no limits of up/down bandwidth on your ISP link then you don't have to worry at all. I think I can write some how to docs for you and provide the script it self for you - Is this something what you looking for? Or you just want no-ip like providers to be added to virtualmin interface?

Thanks for reply.

edit2: attaching the screenshot as an example - how emails looks like:

screenshot

FYI, the next Virtualmin release will allow you to setup an arbitrary script that gets run on an IP change.

WNYmathGuy's picture
Submitted by WNYmathGuy on Wed, 05/06/2020 - 21:08 Pro Licensee

Just recently I posted to the forum... Dynamic IP update the zones

So in my reply, I wrote about an Ubuntu program that I found out about recently called ddclient. It's obvious that there were a lot of ways to go about using it but I only cared about connecting to Google. I see its useful enough though that you might think about a new module suggestion (a module that doesn't exist yet but would convert Virtualmin servers into entries for the ddclient config file), for anybody that chooses the Dynamic IP updating. Oddly, with this type of program, I don't need to run a script. To work-around that I made a dummy script that will do nothing...

#!/bin/sh

exit 0

Since the client program is just Linux stuff, I'd bet every supported OS has it already.

It seems that there should be another option that would allow the user to activate nothing. I'm not sure when the next dynamic update will happen, but hopefully, I will get the eMail that it was triggered. I have that ddclient checking every 7 minutes and Virtualmin looking every 5. The ddclient is pretty cool and if you don't set it right, Google won't point at your IP. Once you do what Google tells you to, your IP is 0.0.0.0 until they hear from ddclient what your IP is. This is what mine looks like...

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

daemon=420
syslog=yes

protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=generateduserid1
password='generatedpassword1'
fqdn1.tld

protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=generateduserid2
password='generatedpassword2'
*.fqdn1.tld

protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=generateduserid3
password='generatedpassword3'
fqdn2.tld

protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=generateduserid4
password='generatedpassword4'
*.fqdn2.tld

... and so on.

Ok, so what you want is just to update virtual servers when the dynamic IP changes?

WNYmathGuy's picture
Submitted by WNYmathGuy on Tue, 05/12/2020 - 09:43 Pro Licensee

I'm not trying to think of my personal needs here though. I got my solution already. I'm wondering if it would be an improvement on the whole Virtualmin product if us users could select a, "No Virtualmin to DNS Service Provider action necessary", option (or an "I'm running the ddclient software" option), and... ...because this great solution was obscure to me, make it part of the Virtualmin ecosystem.

I can envision a great module that manages the ddclient software. Users could pick the service they use from the list of supported service providers. (Here's a short-list of supported Dynamic DNS provider's.) Then the appropriate text-boxes for that provider would appear for the user to fill in, maybe with a link to the Dynamic DNS provider's page if it exists like the Google one I found. The module would then write that entry into the /etc/ddclient.conf file.

I don't know how easy it is to have the OS detect that it's getting it's IP's dynamically, but if it could, it seems that this software should be suggested to the user during the install process, or be set-up like other modules that are just part of the base Virtualmin package waiting to be used.

i was trying to figure out how to work with virtualmin as nameserver with dynamic ip provider and decided to use the custom dynamic ip update script. well i made a script which gets public ip via curl ident.me and changes in all virtual servers the public ip via for loop command using command line arguments every 5 minutes. so my virtualmin server stays always updated on public ip.

WNYmathGuy's picture
Submitted by WNYmathGuy on Tue, 10/20/2020 - 19:43 Pro Licensee

@agnostic That's freaking great!