Commit 0bbad483dbdb2fda0524249599f285ab8dd1e15d
1 parent
baef00dd
Fixed minor markdown layout issues with Gitlab and closed #4
Showing
1 changed file
with
21 additions
and
21 deletions
README.md
| ... | ... | @@ -51,15 +51,15 @@ The setup of this solution consists of the following steps: |
| 51 | 51 | 1. Ensure that the Perl modules CGI and Net::DNS are installed. |
| 52 | 52 | * on Debian/Ubuntu linux this can be done by: |
| 53 | 53 | |
| 54 | - ``` | |
| 54 | + ~~~ | |
| 55 | 55 | sudo apt-get install libcgi-pm-perl libnet-dns-perl |
| 56 | - ``` | |
| 56 | + ~~~ | |
| 57 | 57 | |
| 58 | 58 | * or directly from CPAN (assuming that is installed): |
| 59 | 59 | |
| 60 | - ``` | |
| 60 | + ~~~ | |
| 61 | 61 | cpan CGI Net::DNS |
| 62 | - ``` | |
| 62 | + ~~~ | |
| 63 | 63 | |
| 64 | 64 | 2. Install the file `dyndns.pl` either in your cgi-bin directory or in a |
| 65 | 65 | separate folder |
| ... | ... | @@ -74,21 +74,21 @@ The setup of this solution consists of the following steps: |
| 74 | 74 | server's cgi-bin directory) add the following line to your Apache virtual |
| 75 | 75 | host configuration (replacing `[INSTALL_DIR]` with the install directory): |
| 76 | 76 | |
| 77 | - ``` | |
| 77 | + ~~~ | |
| 78 | 78 | ScriptAlias /dyndns [INSTALL_DIR]/dyndns.pl |
| 79 | - ``` | |
| 79 | + ~~~ | |
| 80 | 80 | |
| 81 | 81 | in case you have installed the script in a non-standard folder, you will |
| 82 | 82 | also need the following to make this work on Apache 2.4 (again replacing |
| 83 | 83 | `[INSTALL_DIR]` with the install directory): |
| 84 | 84 | |
| 85 | - ``` | |
| 85 | + ~~~ | |
| 86 | 86 | <Directory [INSTALL_DIR]/> |
| 87 | 87 | AllowOverride None |
| 88 | 88 | Options +ExecCGI -MultiViews -Indexes |
| 89 | 89 | Require all granted |
| 90 | 90 | </Directory> |
| 91 | - ``` | |
| 91 | + ~~~ | |
| 92 | 92 | |
| 93 | 93 | reload apache with `/etc/init.d/apache reload` to make the script |
| 94 | 94 | available at <http://myserver.mydomain.tld/dyndns>. |
| ... | ... | @@ -102,7 +102,7 @@ The setup of this solution consists of the following steps: |
| 102 | 102 | (e.g. `include "named.dyndns.conf";`). For a basic dynamic DNS setup a |
| 103 | 103 | configuration like below is required: |
| 104 | 104 | |
| 105 | - ``` | |
| 105 | + ~~~ | |
| 106 | 106 | // Define the keys for DynDNS |
| 107 | 107 | key "dyndns.mydomain.tld" { |
| 108 | 108 | algorithm hmac-md5; secret "QdDJC7QVYmsCxgWoSAUmBg=="; |
| ... | ... | @@ -125,7 +125,7 @@ The setup of this solution consists of the following steps: |
| 125 | 125 | grant siteuser name site.dyndns.mydomain.tld ANY; |
| 126 | 126 | }; |
| 127 | 127 | }; |
| 128 | - ``` | |
| 128 | + ~~~ | |
| 129 | 129 | |
| 130 | 130 | The above defines a domain zone file `dyndns/db.dyndns.mydomain.tld` with |
| 131 | 131 | two signer/keys. *siteuser* only can update `site.dyndns.mydomain.tld` |
| ... | ... | @@ -139,20 +139,20 @@ The setup of this solution consists of the following steps: |
| 139 | 139 | |
| 140 | 140 | * to generate a new key *dyndns.mydomain.tld*: |
| 141 | 141 | |
| 142 | - ``` | |
| 142 | + ~~~ | |
| 143 | 143 | ddns-confgen -a hmac-md5 -k dyndns.mydomain.tld -z dyndns.mydomain.tld |
| 144 | - ``` | |
| 144 | + ~~~ | |
| 145 | 145 | |
| 146 | 146 | * generate the required configuration for *siteuser* (or any new user): |
| 147 | 147 | |
| 148 | - ``` | |
| 148 | + ~~~ | |
| 149 | 149 | ddns-confgen -a hmac-md5 -k siteuser -s site.dyndns.mydomain.tld |
| 150 | - ``` | |
| 150 | + ~~~ | |
| 151 | 151 | |
| 152 | 152 | 6. Generate an initial zone file like the one below for the dyndns domain in |
| 153 | 153 | the location specified in the config file above. |
| 154 | 154 | |
| 155 | - ``` | |
| 155 | + ~~~ | |
| 156 | 156 | $TTL 3600 ; 1 hour |
| 157 | 157 | @ IN SOA auth.dns.mydomain.tld. hostmaster.mydomain.tld. ( |
| 158 | 158 | 2019000001 ; serial |
| ... | ... | @@ -164,7 +164,7 @@ The setup of this solution consists of the following steps: |
| 164 | 164 | TXT "Dynamic DNS zone for mydomain.tld" |
| 165 | 165 | |
| 166 | 166 | site A 1.2.3.4 |
| 167 | - ``` | |
| 167 | + ~~~ | |
| 168 | 168 | |
| 169 | 169 | Please note that Bind will rewrite this file and you need to be careful |
| 170 | 170 | with it. Entries do not need to exist initially, as long as the signer/key |
| ... | ... | @@ -507,7 +507,7 @@ DDNS registrations using a custom URL. The Basic format for the registration |
| 507 | 507 | URL to register is: |
| 508 | 508 | |
| 509 | 509 | ~~~ |
| 510 | -https://SERVER/cgi-bin/dyndns/update?host=HOSTNAME&ip=IPADDRESS&secret=KEY` | |
| 510 | +https://SERVER/cgi-bin/dyndns/update?host=HOSTNAME&ip=IPADDRESS&secret=KEY | |
| 511 | 511 | ~~~ |
| 512 | 512 | |
| 513 | 513 | Check the [list of parameters supported](req_params) for all available options, |
| ... | ... | @@ -552,13 +552,13 @@ https://SERVER/cgi-bin/dyndns/view?host |
| 552 | 552 | ------------------------------------------- |
| 553 | 553 | For Cisco routers add the following config: |
| 554 | 554 | |
| 555 | -``` | |
| 555 | +~~~ | |
| 556 | 556 | ip ddns update method DYNDNS |
| 557 | 557 | HTTP |
| 558 | 558 | add https://SERVER/cgi-bin/dyndns/update?host=<h>&ip=<a>&secret=SECRET |
| 559 | 559 | remove https://SERVER/cgi-bin/dyndns/delete?host=<h>&secret=SECRET |
| 560 | 560 | interval maximum 0 1 0 0 |
| 561 | -``` | |
| 561 | +~~~ | |
| 562 | 562 | |
| 563 | 563 | replacing `SERVER` for the host the script is installed on and `SECRET` |
| 564 | 564 | for a DNS key authorized to update the record. The cisco router will replace <a> |
| ... | ... | @@ -566,11 +566,11 @@ and <h> with the IPv4 address and hostname. |
| 566 | 566 | |
| 567 | 567 | To setup interface `Dialer0` to register as `hostname.dyndns.mydomain.tld` add: |
| 568 | 568 | |
| 569 | -``` | |
| 569 | +~~~ | |
| 570 | 570 | interface Dialer0 |
| 571 | 571 | ip ddns update hostname hostname.dyndns.mydomain.tld |
| 572 | 572 | ip ddns update DYNDNS |
| 573 | -``` | |
| 573 | +~~~ | |
| 574 | 574 | |
| 575 | 575 | Which instructs to register using the address of Dialer0 as soon as that is up |
| 576 | 576 | or changes (this also works for non-dialer devices). |
| ... | ... |