Container for No-IP dynamic DNS updates


92 posts in this topic Last Reply

Recommended Posts

Guest dranani

for some reason I cannot get this to work after having to rebuild all of my dockers because I deleted everything on accident. 

 

Do I need to delete anything from the conf file? I added my user, passwd, and domain. do i need to add anything else?

 

Link to post
  • Replies 91
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

By request, here's a container for keeping your IP up-to-date using No-IP:   https://registry.hub.docker.com/u/coppit/no-ip/   The easiest way to install this is to go to Community

I've updated the container to make it easier. The first time you run it, it will create a noip.conf file. Edit the file, then start it again. You should be good to go!

It thinks that you still have the default value of "foo.ddns.net" set. Most likely you didn't attach your data disk to /config properly.

Posted Images

On 4/4/2017 at 11:06 PM, dranani said:

Do I need to delete anything from the conf file? I added my user, passwd, and domain. do i need to add anything else?

 

Does your password have fancy characters like $"! or '  ? If so, you'll want to put it in either single quotes or double quotes, whichever you aren't using. And if you're using both, I'll have to give you special instructions. :)

 

What does the log say?

Link to post
Guest dranani
21 hours ago, coppit said:

 

Does your password have fancy characters like $"! or '  ? If so, you'll want to put it in either single quotes or double quotes, whichever you aren't using. And if you're using both, I'll have to give you special instructions. :)

 

What does the log say?

I meant to edit my post, I figured it out. It was just an error on my part. I didn't read well enough

Link to post
  • 1 month later...

DOMAINS='xxxxxx.hopto.me'

This is what I have the config file set with (x's are replaced with my actual hostname) and I get this error in the logs every time I start the docker:
Please enter your domain/group list in noip.conf

Any help would be greatly appreciated!

Thank you!

Link to post
On 5/22/2017 at 9:21 AM, veritas2884 said:

Please enter your domain/group list in noip.conf

 

It thinks that you still have the default value of "foo.ddns.net" set. Most likely you didn't attach your data disk to /config properly.

Link to post
15 hours ago, coppit said:

 

It thinks that you still have the default value of "foo.ddns.net" set. Most likely you didn't attach your data disk to /config properly.

That was it. It generated the config file, but wasn't pointed to the place where it generated. I fixed that and am in business. Thank you!

Link to post
  • 1 month later...

Hi,

 

I installed the NO-IP docker yesterday afternoon, filled in the details inf the config file, NO-IP then created the no-ip2.generated file and everything appears to be working. When I first started the Docker it then updated my NO-IP account with the IP address I am running on, but it appears it hasn't updated since. I logged into my NO-IP account, went to the manage hostname page, and clicked on the info icon and its showing last updated 22 hours ago i.e. when I first started the Docker. It hasn't updated since.

 

I have checked the Docker log and cannot see any problems and I see this being generated every min:

 

Process 18, started as noip2-x86_64 -c /config/no-ip2.generated.conf, (version 2.1.9)
Using configuration from /config/no-ip2.generated.conf
Last IP Address set ***************
Account ***************
configured for:
***************
Updating every 30 minutes via /dev/eth0 with NAT enabled.

 

The Last IP address set is my correct IP address, the Account shows the correct email address, and the configured for show the correct hostname.

 

Am I missing something?

Link to post
On 7/23/2017 at 9:10 AM, apefray said:

When I first started the Docker it then updated my NO-IP account with the IP address I am running on, but it appears it hasn't updated since.

 

I'm not sure I trust the "last updated" info on the webpage. I ran strace on my server, and attached it to the noip process. Every 20 minutes it woke up and talked to http://ip1.dynupdate.no-ip.com. The web page finally did change after a couple of hours. (Maybe sooner -- I wasn't watching it carefully.)

 

You can do it yourself to see if it's waking up and doing work. Run:

strace -rp $(pgrep noip2)

 

Link to post
  • 1 month later...

Hi coppit,

 

I'm having the same issue as apefray - I've had noip docker running for a month, it showed the same message. 3 weeks in I got an email from noip saying I had to manually renew as I was coming up to the end of the month!

 

I'm not a networking guru but I've noticed something with my openvpn, which is installed and working, and I noticed for some reason it connects through the bond0 and not eth0 interface. Perhaps this is the issue here? Is there a way to specify a variable in the config file to try connect to noip through bond0?

 

 

Link to post
  • 2 months later...

I have an interesting situation.  The NoIP docker is correctly configured.  The log file shows the correct public IP address, the correct NoIP account and the correct domain name.  It is set to update every 30 minutes and claims it is setting the correct IP address.  It is not. 

 

The root of the problem is my own doing which I have no way of correcting; therefore, I was hoping this docker would help me fix it and override my mistake.

 

I lived in Mexico for three years during which time the NoIP domain name assigned to my unRAID server was updated by the Telmex router as it supported NoIP natively.  When I left Mexico, I forgot to reset the router to the defaults and the current occupant of the house is using the same router which is still configured to update my NoIP domain name with the public IP of the router.  It does this about once a week.  Two days ago, it again updated the domain name with the IP address from Mexico.  The NoIP docker, despite what it says in the logs, is not updating the NoIP domain name with my current (and correct) public IP address of my router in the US.  It runs every 30 minutes and reports that it has set the proper IP for the domain, but, nothing changes.

 

Of course, I can manually change the domain to the proper IP at the NoIP website, but, within a week, the router in Mexico will have changed it back to its IP address and the NoIP docker never changes it to the proper IP address.

 

Despite what is reported in the logs, is it possible that I have something improperly configured with the NoIP docker ?

 

Here is the output of strace:

 

NoIP.png.8d1623f0252b30ab63850af2043ad906.png

Edited by Hoopster
Link to post
  • 2 weeks later...

Uninstalled the docker and deleted folder on appdata. Reinstalled No-IP docker and reconfigured.  At the time the generated.conf file is created, the dynamic DNS IP address is properly updated on the No-IP website.  I watched it change within seconds of the file being generated.  However, the periodic updates do nothing despite what it claims in the log file. 

 

The rogue router is still updating the domain name with its IP address.  I also have Dynanic DNS configured in the Unifi docker, but, it only updates the IP address when it detects a change in the IP address assigned to the USG from the ISP.  It looks like my only option will be to create another domain name with No-IP since I cannot seem to get this docker to work.

Link to post

Hmm, well it appears that this docker is likely working, but, it does not do what I hoped it would do.  I just read this on the docker hub page for this docker:

 

"This is a simple Docker container for running the No-IP2 dynamic DNS update script. It will keep
your domain.ddns.net DNS alias up-to-date as your home IP changes. "

 

Apparently, it is only looking to see if the the router reports an IP address change.  If I understand this correctly, Instead of forcing an update to the dynamic IP address registered with No-IP.com at the set interval (whether or not IP address has changed), it is only checking to see if it has changed and only updating if it detects a change.  It would be better if it could compare the IP address the router is reporting with the IP address registered with No-IP for the specified domain and do an update if they do not match rather than simply checking to see if the router reports an IP address change. I am not sure whether that 2-way communication is possible through the No-IP2 script.

 

In my case, if the above is correct, due to another router to which I no longer have access also configured to update the same domain name, I have no way through this docker of overriding the changes made by that router.  It looks like I will have to register a different ddns domain and uninstall the No-IP docker as its functionality is no different than what the UnifI docker already allows me to do as far as updating dynamic DNS IP address changes on the USG router.

 

If your router does not manage No-IP dynamic DNS, then this docker should work for you.

Edited by Hoopster
Link to post
  • 3 weeks later...
On 9/28/2017 at 4:48 AM, mishmash- said:

I'm not a networking guru but I've noticed something with my openvpn, which is installed and working, and I noticed for some reason it connects through the bond0 and not eth0 interface. Perhaps this is the issue here? Is there a way to specify a variable in the config file to try connect to noip through bond0?

 

Inside my container, there's only eth0. Are you using bridged networking? If not, try that.

 

On 1/8/2018 at 1:42 AM, Hoopster said:

If I understand this correctly, Instead of forcing an update to the dynamic IP address registered with No-IP.com at the set interval (whether or not IP address has changed), it is only checking to see if it has changed and only updating if it detects a change.

 

Ug. The problem is that the no-ip people don't really give me control over when the update happens -- they have a binary that hides that logic.

 

That said... Does the container properly update your DNS when you restart it? If so, perhaps their binary force-updates when it's first started. So what I could do is compare the DNS lookup IP against my current IP, then force-restart their binary to "encourage" it to do the update.

Link to post
31 minutes ago, coppit said:

Ug. The problem is that the no-ip people don't really give me control over when the update happens -- they have a binary that hides that logic.

 

That said... Does the container properly update your DNS when you restart it? If so, perhaps their binary force-updates when it's first started. So what I could do is compare the DNS lookup IP against my current IP, then force-restart their binary to "encourage" it to do the update.

 

Yes. I figured no-ip wasn't giving you a lot of control through their script.  However, I did notice that creating generated.conf immediately forced an update.  Perhaps restarting the docker does the same.

 

I gave up and deleted the no-ip domain that was also being updated by the other router in Mexico.  I now have a different domain registered so I can be assured nothing other than my current router is attempting to update it.  However, I will manually change the IP address at noip.com to something bogus, restart the no-ip docker and see if that forces an IP address update.  When I get a chance to try this, I will post an update with the results.

Link to post

I created a test domain at noip.com and manually set it to an incorrect public iP address.  When generated.conf was created, the correct public IP address was set.  Restarting the container did not force an update either by issuing a restart command or by stopping and then starting the container.

 

The only way I could force the IP address update was to remove the docker, delete the generated.conf file (leaving noip.conf in place) and reinstall the docker.  Docker removal is necessary because a new docker of the same name and appdata path cannot be created until the prior one is deleted.  This is true, of course, whether it is installed via Community Applications or the docker run command line. I did it both ways.

 

My conclusion is that only by creating a new generated.conf file based on noip.conf can an update be forced.  Unfortunately, the only way I could do that was by uninstalling the docker container, deleting the existing generated.conf file and reinstalling the docker container.

Edited by Hoopster
Link to post
  • 3 weeks later...

Someone else has "access" to a device that has stored your account details, I think it would be more secure to change the password of your no-ip account, doing that also could have solved the problem caused by the Telmex's Modem. Of course it would be very unlikely for someone to get that information or actually care.

Link to post

Yeah, I did change the password and then I deleted the no-ip domain just to be safe.  I did not do that, however, until I was done testing.  I intentionally left it unchanged because I wanted to see how this conflict was handled and if there was some way to schedule forced updates with this docker, via my router, etc..  It appears that is not possible.

Link to post
  • 6 months later...

I switched the container from the phusion base image to Alpine linux. The size dropped from about 250MB to about 16MB. It also handles options set using environment variables rather than the config file better.

 

This is a pretty big change, so let me know if you guys see any issues.

Link to post

I updated this docker and it has been been throwing error "Failed to create noip2 configuration file /config/no-ip2.generated.conf. Exiting"   I removed the docker and recreated it purging the old directory, I also edited the noip.conf to contain my account information.  Before throwing the error it looks like its trying to read the conf but is misplacing the information, my password is showing up in user field, even though its placed properly in the conf.  It then times out waiting looking for host information.

Link to post

Are you saying that where it prints:

Configuration:
  USERNAME=foo
  PASSWORD=<hidden>
  DOMAINS=bar
  INTERVAL=baz
  DEBUG=zap

It displays your password in the USERNAME line? A couple of thoughts: Make sure that your password is within single-quotes like:

PASSWORD='your password goes in here'

However, if your password contains a single quote, then you have to escape it. LMK if that's the case.

 

Second, make sure that you aren't defining environment variables for the container that are overriding the config file.

Link to post

Okay I was able to get it working, it looks like the error was cause by the network, I had it set to host and the logs were throwing up an option to chose the network type that never got answered.  I'm guessing that is where it shifted the conf data.  The original print would be fine, but when it attempted to authenticate it tried to authenticate my password as the user.  I changed the network type to be a custom static IP, and it started working, changed it back to HOST and now the error is not replicating.  I'm not sure what caused the issue, but its working now.

Link to post

I'm having this issue with no-ip it was working properly. I'm using it with host but how can I set this up on the config file

 

Please select the Internet interface from this list.
By typing the number associated with it.
0 br0
1 docker0
3 as0t0
4 as0t1
5 as0t2
6 as0t3
7 as0t4
8 as0t5
9 as0t6

Link to post
  • 3 months later...
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.