Dynamic DNS

Overview


Some routers have the ability to configure custom Dynamic DNS URL in their configuration to be used for setting up A/AAAA DNS records automatically on IP-change. Dynamic DNS module gives you ability to use your existing HostBill DNS modules and provide/sell your own Dynamic DNS service to your customers

Activating the module


  1. If the module is included in your HostBill edition you can download it from your client portal.
  2. If the module is not included in your HostBill edition you can purchase it from our marketplace and then download it from the client area.
  3. Once you download the module extract it in the main HostBill directory.
  4. Go to Settings → Modules → Hosting Modules, find and activate Dynamic DNS module.

Connecting HostBill with Dynamic DNS


  1. Proceed to Settings → Apps → Add new App
  2. From Applications list select Dynamic DNS
  3. Enter:
    • Name - Name of this connection
    • DNS APP Connection - select existing connection to DNS module you've configured before
    • TTL - select default TTL for A records this module creates in your DNS
    • Basic-Authentication - when enabled module will require all requests to be authenticated using Basic-Authentication. Some routers require such auth method

      4. Verify entered credentials by clicking Test Connection to check if HostBill can connect
      5. Save Changes


Webserver configuration for dyndns2 support


To handle dyndns2:

  • Apache users
    in nic/update folder located in your main HostBill dir find and rename file template.htaccess to .htaccess
  • Nginx (including HostBill enterprise) users
    If you are using SEO URL rewrites described here, modify block @seohburl in /etc/nginx/locations/hostbill.conf to look like:

    location @seohburl {
        rewrite (*UTF8)^/nic/update/(.+)?$ /nic/update/index.php?do=$1 last;
        rewrite ^/(.+)$ /index.php?/$1 last;
    }


    If you are not using SEO urls, edit your location file (in server section, for HostBill enterprise it is /etc/nginx/locations/hostbill.conf, add

    location @dyndns2 {
        fastcgi_param HTTP_AUTHORIZATION $http_authorization;
        rewrite (*UTF8)^/nic/update/(.+)?$ /nic/update/index.php?do=$1 last;
    }


    Next, in main location modify try_files line:

    try_files $uri $uri/ index.php @dyndns2;


Adding Dynamic DNS product


  1. In HostBill go to Settings → Products & Services, and Add new order page
  2. From Order Types select Other
  3. After creating order page add new product in it, provide its name & Save changes
  4. In product configuration section proceed to Connect with App, select Dynamic DNS module and App server created in previous steps.
  5. Configure:
    1. dynDNS slots enter amount of subdomains customer can use, optionally use "Allow client to adjust during order" to create form element for client to modify during order (and optionally add charge for each item)
    2. Additional Domains:
      A list of domains separated by a semicolon (;) that the customer can choose when adding a subdomain in Dynamic DNS client function (see below).
      Note that all those domains set here needs to have corresponding zone present in DNS App configured in related App Connection


For more generic product configuration details including price, automation, emails settings refer to Product Configuration article.

Configuring Client Functions   


In Products & Services → Your Order Page → Your Product → Client Functions you can control what features customer will have access to in client portal, by clicking Enable/Disable next to the given option.
Use Edit button to adjust function appearance in the client portal.

For Dynamic DNS you can enable Dynamic DNS function + number of standard client functions.

In client portal, using Dynamic DNS function in related service client will have ability to:

  • List his existing subdomains available for Dynamic DNS service, including username and password for dyndns service
  • Remove subdomains
  • Show URLs for Dyndns (1&2) updates to configure in his router
  • Show remaining/available slots
  • Create new subdomain entry on Additional Domains configured in product, as well as on domains customer currently own