Dinamikus DNS

A HupWiki-ből...

Tartalomjegyzék

DHCP & NAMED → DDNS

Ez az oldal segítséget nyújt a dinamikus DNS szolgáltatás beállításához Debian rendszeren.

Szükséges szoftverek

Az általam használt verziók:

  1. dhcp3-server : 3.0.1
  2. bind : 9.2.4
  3. rndc : 9.2.4 (ez a binddel együtt van)

Beállítások

rndc

Először is az rndc-confgen parancs paraméter nélküli futtatása valami hasonlót eredményez:

# Start of rndc.conf
key "rndc-key" {
       algorithm hmac-md5;
       secret "T6f4SkD14LaqNneH5AWPlA==";
};
options {
       default-key "rndc-key";
       default-server 127.0.0.1;
       default-port 953;
};
# End of rndc.conf

Ez legyen a /etc/bind/rndc.conf fájl tartalma. A következő pedig a /etc/bind/named.conf fájlba kerüljön be:

 # Use with the following in named.conf, adjusting the allow list as needed:
 key "rndc-key" {
       algorithm hmac-md5;
       secret "T6f4SkD14LaqNneH5AWPlA==";
 };
 
 controls {
       inet 127.0.0.1 port 953
               allow { 127.0.0.1; } keys { "rndc-key"; }; 
 };
# End of named.conf

named/bind

A következő részlet a named.conf-ba kerül, és azt mondja meg a named-nek, hogy figyelje az rndc csatlakozásokat a 127.0.0.1:953 címen, illetve csak a localhostról és a 192.168.0.1 ipcímről lehessen csatlakozni a fent megadott "rndc-key" nevű kulccsal.

controls {
       inet 127.0.0.1 port 953
       allow {127.0.0.1; 192.168.0.1;} keys { "rndc-key"; };
};

Most jön a lényeg, meg kell mondani, hogy melyik zónára engedélyezzük a bejegyzésfrissítést, ez szintén a named.conf-ba kerül (egyébként célszerű a zóna definíciókat külön fájlba szedni, és az include parancs segítségével beilleszteni a named.conf-ba). Amelyik zónára engedélyezni szeretnénk a frissítést, annak a definíciójába kerüljön a következő:

allow-update { key rndc-key; };

Tehát például:

zone "lan" {
       type master;
       file "/var/cache/bind/lan.hosts";
       notify yes;
       check-names warn;
       allow-update { key rndc-key; };
       };
zone "0.168.192.in-addr.arpa" {
       type master;
       file "/var/cache/bind/192.168.0.rev";
       allow-update { key rndc-key; };
       };

dhcp3

A következő pár sorral bekapcsoljuk a dhcp szerverben a ddns támogatást, és megmondjuk, hogy milyen kulcsot használjon a nameddel való kommunikálás során, illetve a megfelelő zónákhoz a megfelelő kulcsot párosítjuk. A /etc/dhcp3/dhcpd.conf fájlba:

ddns-update-style interim;
ddns-updates on;
key rndc-key {
       algorithm hmac-md5;
       secret "T6f4SkD14LaqNneH5AWPlA==";
};
zone lan. {
       primary 192.168.0.1;
       key rndc-key;
}
zone 0.168.192.in-addr.arpa. {
       primary 192.168.0.1;
       key rndc-key;
}

Minden egyes subnethez meg lehet adni egy domain nevet:

subnet 192.168.0.0 netmask 255.255.255.0 {
       option domain-name-servers 192.168.0.1;
       option domain-name "lan";
       ddns-domainname "lan";
       ...
}

Illetve minden egyes hosthoz lehet rendelni hostnevet:

host tristram {
       hardware ethernet 00:14:85:47:9a:37;
       fixed-address 192.168.0.2;
       ddns-hostname "zsol";
}

Tippek

Ha valami nem működik, az rndc parancssori indításával általában ki lehet deríteni a hibát (ha a namedben van a bibi). Ha az rndc status parancs kiadása értelmes információval tér vissza, akkor valószínűleg nem a nameserver a hibás. Sok sikert!

Források

  1. DDNS howto
  2. Egy jó kis könyv a DNSről