Jump to content
Froxlor Forum

Dynamic DNS in Froxlor


ServiusHack

Recommended Posts

Hi folks,

 

it has been quite some time ago that DynDNS cut off their free offering. I was in need of another solution. Since I'm already using Froxlor for a hosting server it seemed like a natural addition to implement dynamic DNS in Froxlor. Today I want to present this modification to you after it's been in use for several months.

 

It basically works like this: A user calls http://your-froxlor.com/updateip.php toset a new IP for one of his domains. As soon as the bind configuration is updated the new IP is in DNS and will be returned when resolving the domain.

 

As with the number of domains and other resources it can be configured how many dynamic domains (domains for which the IP can be updated by calling updateip.php) a user can have. The user can enable the dynamic DNS feature for any of his domains. The IP can also be set through the administrative interface.

 

post-373-0-82139900-1415998727_thumb.png

 

Calling the updateip.php script is fairly simple. It supports HTTP authentication and authentication using request parameters. A domain must be set for which the IP will be updated and either an IPv4 or IPv6 address must be provided or the auto-detection feature is used. An example: http://your-froxlor.com/updateip.php?domain=home.my-domain.com&ipv4=1.2.3.4

 

The dynamically changed IP (either set through the admin interface or by using updateip.php) will be set as the domain's IP instead of the server IP.

 

When dynamic DNS is enabled for a domain its TTL is set to 1 to ensure changes to the IP propagate quickly.

 

You can have a look at the code at https://github.com/ServiusHack/Froxlor/tree/dynamic-dns. I've made this post in the hope for any feedback on the feature or the code. If there is some interest in merging this I'm more than happy to fix any issue and make a pull request.

 

Best Regards

Severin Leonhardt

Link to comment
Share on other sites

Just my cents:

 

- a TTL of 1 is not conform to RFC's (at SOA's base, maybe allowed for an A record), you insert a task to froxlors cron so it takes just therefore more than 1 second

- your solution misses IPv6 support

- DNS is a fundamental service an should be high available, your updateip.php isn't

 

But all in all a nice thought an easy, lightweight solution implemented in froxlor. Thanks for sharing this.

Link to comment
Share on other sites

  • 1 year later...

Just my cents:

 

- a TTL of 1 is not conform to RFC's (at SOA's base, maybe allowed for an A record), you insert a task to froxlors cron so it takes just therefore more than 1 second

- your solution misses IPv6 support

- DNS is a fundamental service an should be high available, your updateip.php isn't

 

But all in all a nice thought an easy, lightweight solution implemented in froxlor. Thanks for sharing this.

 

Hey,

 

RFC 6781 "suggests" a minimum of 5 - 10 minute TTL for standard zone entries. Dynamic DNS was NOT conceptualized when that RFC was released. However, 1 second is a bit much. better would be 1 - 5 minutes. Irrespective of what the RFC states the TTL that is set in his script and the cronjob executing is in no way related other than the fact that the less frequent the cron run the longer the wait for the update.

 

Nothing about the stock Froxlor DNS service is HA. It is an exercise left up to the implementing admin to actually install his/her slave servers and setup the transfers. If they have done this then all is good. if not then they have much larger problems that has nothing at all to do with this script.

 

The IPv6 problem is a problem though.

 

Chuck

Edited by Slydder
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...