Difference between revisions of "Bind"

From YobiWiki
Jump to navigation Jump to search
m
Line 5: Line 5:
   
 
==Requirements==
 
==Requirements==
===Server===
+
===Your DNS server===
 
apt-get install bind9
 
apt-get install bind9
 
This will be the nameserver '''ns0.foo.org''' for our dynamic subdomain '''dyn.bar.org''' so this has to be announced in the primary DNS of your bar.org domain:
 
This will be the nameserver '''ns0.foo.org''' for our dynamic subdomain '''dyn.bar.org''' so this has to be announced in the primary DNS of your bar.org domain:
Line 14: Line 14:
 
dyn.bar.org. 10800 IN NS ns0.foo.org.
 
dyn.bar.org. 10800 IN NS ns0.foo.org.
   
===Client===
+
===Your dynamic IP client===
 
apt-get install dnsutils bind9utils
 
apt-get install dnsutils bind9utils
 
git clone https://github.com/askarel/dynaname.git
 
git clone https://github.com/askarel/dynaname.git
==Setup==
+
==Setup on client==
 
To create e.g. home.dyn.bar.org:
 
To create e.g. home.dyn.bar.org:
 
cd dynaname
 
cd dynaname
 
./dynaname -G -H home.dyn.bar.org -S ns0.foo.org
 
./dynaname -G -H home.dyn.bar.org -S ns0.foo.org
  +
==Setup on server==
Then copy ns0.foo.org/etc/bind/dynaname.conf to ns0.foo.org:/etc/bind/
+
Copy client ns0.foo.org/etc/bind/dynaname.conf to ns0.foo.org:/etc/bind/
 
<br>and add a hook into ns0.foo.org:/etc/bind/named.conf:
 
<br>and add a hook into ns0.foo.org:/etc/bind/named.conf:
 
include "/etc/bind/dynaname.conf"
 
include "/etc/bind/dynaname.conf"
Line 29: Line 30:
 
file "/var/lib/bind/dyn/dyn.bar.org";
 
file "/var/lib/bind/dyn/dyn.bar.org";
   
For info dynaname.conf should look like:
+
For info dynaname.conf should now look like:
 
<pre>
 
<pre>
 
key home.dyn.bar.org {
 
key home.dyn.bar.org {
Line 72: Line 73:
 
Reload bind
 
Reload bind
 
/etc/init.d/bind9 reload
 
/etc/init.d/bind9 reload
==Update==
+
==Update from client==
 
./dynaname -H home.dyn.bar.org -S ns0.foo.org -A 1.2.3.4
 
./dynaname -H home.dyn.bar.org -S ns0.foo.org -A 1.2.3.4

Revision as of 00:33, 4 June 2014

Intro

Some notes how to setup a dynamic DNS...
Setup is based on Askarel's dynaname
Thank you Fred for the help!

Requirements

Your DNS server

apt-get install bind9

This will be the nameserver ns0.foo.org for our dynamic subdomain dyn.bar.org so this has to be announced in the primary DNS of your bar.org domain:

dyn    NS    ns0.foo.org.

To test it:

dig @your.primary.dns.for.bar.org dyn.bar.org
;; AUTHORITY SECTION:
dyn.bar.org.        10800    IN    NS    ns0.foo.org.

Your dynamic IP client

apt-get install dnsutils bind9utils
git clone https://github.com/askarel/dynaname.git

Setup on client

To create e.g. home.dyn.bar.org:

cd dynaname
./dynaname -G -H home.dyn.bar.org -S ns0.foo.org

Setup on server

Copy client ns0.foo.org/etc/bind/dynaname.conf to ns0.foo.org:/etc/bind/
and add a hook into ns0.foo.org:/etc/bind/named.conf:

include "/etc/bind/dynaname.conf"

I needed to set an absolute path to the file, so in dynaname.conf change

       file "dyn/dyn.bar.org";

to

       file "/var/lib/bind/dyn/dyn.bar.org";

For info dynaname.conf should now look like:

key home.dyn.bar.org {
        algorithm HMAC-MD5;
        secret "some secret...";
};

zone "dyn.bar.org" in {
        type master;
        file "/var/lib/bind/dyn/dyn.bar.org";
        update-policy {
                grant home.dyn.bar.org name home.dyn.bar.org A AAAA TXT;
        };
};

Create ns0.foo.org:/var/lib/bind/dyn

Create ns0.foo.org:/var/lib/bind/dyn/dyn.bar.org

Content of ns0.foo.org:/var/lib/bind/dyn/dyn.bar.org

$ORIGIN .
$TTL 3600    ; 1 hour
dyn.bar.org.      IN SOA    ns0.foo.org. me.bar.org. (
                  2014060301 ; serial, increment it every time you edit file
                  600        ; refresh (10 minutes)
                  300        ; retry (5 minutes)
                  86400      ; expire (1 day)
                  300        ; minimum (5 minutes)
                  )
dyn.bar.org.      IN NS     ns0.foo.org.
$ORIGIN dyn.bar.org.

Make sure bind has RW access:

root@ns0:/var/lib/bind/dyn# ls -al
total 16
drwxrwxr-x 2 root bind 4096 Jun  3 23:44 .
drwxrwxr-x 3 root bind 4096 Jun  3 23:15 ..
-rw-r--r-- 1 bind bind  389 Jun  3 23:44 dyn.bar.org

Reload bind

/etc/init.d/bind9 reload

Update from client

./dynaname -H home.dyn.bar.org -S ns0.foo.org -A 1.2.3.4