notebook:cloudflare_ddns_configuration

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
notebook:cloudflare_ddns_configuration [2018/05/12 01:14]
macgeek312
notebook:cloudflare_ddns_configuration [2019/01/26 17:50]
jsimo
Line 1: Line 1:
-Recent firmware on the USG (I used 4.5.3dev but should work on recent 4.4x also) allows for native configuration of CloudFlare DDNS without a third party service (like the ever popular DNS-O-Matic).  The only catch is [for now] you have to use config.gateway.json (this file is on/needs to be created on the controller in the applicable site) to accomplish this (as of Controller 5.9.4).  Below is the config.gateway.json portion needed to make this work:+=== Cloudflare DDNS Configuration using config.gateway.json === 
 +\\ 
 +Recent firmware on the USG (tested on 4.5.3devbut should work on recent 4.4x also) allows for native configuration of CloudFlare DDNS without a third party service (like the ever popular DNS-O-Matic).
  
-         { +The only catch [for now], is you have to use config.gateway.json (this file is on/needs to be created on the controller in the applicable site) to accomplish this (as of Controller 5.9.4).
-         "service":+
-                "dns":+
-                        "dynamic":+
-                                "interface":+
-                                        "<WAN interface eg eth0": { +
-                                                "service":+
-                                                        "cloudflare":+
-                                                                "host-name": [ +
-                                                                        "<insert A record name here eg. usg.example.com>" +
-                                                                ], +
-                                                                "login": "<CloudFlare E-Mail>", +
-                                                                "options":+
-                                                                        "zone=<DNS Zone egexample.com>" +
-                                                                ], +
-                                                                "password": "<CloudFlare Global API Key>", +
-                                                                "protocol": "cloudflare", +
-                                                                "server": "www.cloudflare.com" +
-                                                        } +
-                                                } +
-                                        } +
-                                } +
-                        } +
-                } +
-        } +
-        }+
  
 +**If you need further information please see [[https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-Advanced-USG-Configuration|UniFi Advanced USG Configuration]] for help about where to create the config.gateway.json.**
 +\\
 +--------------------------------------------------------------------------------------------------------------------------
 +
 +__**PLEASE NOTE:**__
 +  * Prior to creating the .json file on your gateway, create the file in a text editor, such as Atom or Notepad++, and then validate your file at a JSON validator site such as https://jsonlint.com/.
 +  * If the syntax fails verification, and you provision it on your gateway, it could cause reboot issues.
 +  * If your unsure, reach out to the **[[https://discord.me/ubnt|Ubiquiti Discord Chat]]** or the **[[https://community.ubnt.com/t5/custom/page/page-id/Forums|UBNT Community Forums]]** **prior** to saving/provisioning for support.
 +
 +--------------------------------------------------------------------------------------------------------------------------
 +\\
 +Below is an example of the **config.gateway.json** needed to make this work:
 +<bootnote>Do not include the < > when adding the data, only add the information between the " " (quotes).</bootnote>
 +<code>
 +{
 + "service": {
 + "dns": {
 + "dynamic": {
 + "interface": {
 + "<WAN interface eg eth0>": {
 + "service": {
 + "cloudflare": {
 + "host-name": [
 + "<insert A record name here eg. usg.example.com>"
 + ],
 + "login": "<CloudFlare E-Mail>",
 + "options": [
 + "zone=<DNS Zone eg. example.com>"
 + ],
 + "password": "<CloudFlare Global API Key>",
 + "protocol": "cloudflare",
 + "server": "www.cloudflare.com"
 + }
 + }
 + }
 + }
 + }
 + }
 + }
 +}
 +</code>
 +<bootnote>To obtain your **Cloudflare Global API Key**, visit the https://www.cloudflare.com/ site, log in, and click **Get your API key** from the Overview Tab.</bootnote>
 +--------------------------------------------------------------------------------------------------------------------------
 +=== If the above does not work ===
 +The above did not work for me, on 4.4.36.5146617. But the following does
 +  - Upgrade ddclient to 3.9.0 (from 3.8.3)
 +  - Install the required dependency libdata-validate-ip-perl (Requires adding remotes, so make sure do not do upgrade of any packages)
 +  - Make sure the subdomain you want to automatically is set to any value at cloudflare.
 +  - Do the same config as above but **skip server** (as in remove that part of the json)
 +  - Now it should work.
 +
 +If it complaints about <code> Invalid Value for keyword 'ip' = ''"</code> don't worry it has nothing to do with getting the dynamic dns working.
  • notebook/cloudflare_ddns_configuration.txt
  • Last modified: 2019/01/26 17:50
  • by jsimo