Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: lokaal LAN met dhcp (dhcp3) en dns (bind9) onder Gutsy (7.10) server  (gelezen 1512 keer)

Ik ben een tijdje geleden begonnen met het "spelen" met Ubuntu op mijn laptop --> en het bevalt me super !

Helaas crashte een paar weken geleden -door een stroomstoring- mijn Win2K3-server. Een hele schadepost, maar allez.
Nu ben ik een nieuwe server aan het opzetten en, gegeven de meer dan plezierige ervaring op mijn laptop, maar meteen in Ubuntu :-)  (een van de redenen is, dat mijn Win2K3-installatie over het algemeen al instabiel was tijdens de installatie, laat staan daarna :-S).

Dit is een schemaatje van mijn setup:


Internet --> ADSL router --> srvr1 (Ubuntu 7.10) --> switch --> clients
                              192.168.0.0              192.168.1.0

De bedoeling is, dat srvr1 dhcp-server én dns-server speelt (een niet heel ongebruikelijke combi in een klein LAN als dat van mijzelf).
De clients zijn o.a.: een netwerkprinter, werkstation, laptop, WLAN componenten met illustere namen als clnt1, clnt2, wlan1, wlan2, lpt1 (eigenlijk een foute naam, maar okay), en nas1.

Ik heb dhcp3 en bind9 geïnstalleerd maar krijg dit niet goed geconfigureerd; toegegeven: ik ben een amateur ;)

Zowel dhcp3 als bind9 starten zonder fouten op. Voor alle records in de DNS die er vast in staan (srvr1 en nas1) kan ik de hostnaam "vertalen" (host srvr1 levert: 192.168.1.1, host nas1 levert: 192.168.1.100),
Citaat
host nas1
nas1.cps.local has address 192.168.1.100
p.s.: vraag me niet hoe, maar dat werkt nu ook al niet meer :-S

De dhcp-server verstrekt de adressen en leases okay; ik zie hier dus ook clnt1, clnt2, lpt1, et cetera.

Wanneer ik echter vraag: host lpt1 dan krijg ik de volgende foutmelding:
Citaat
host lpt1
Host lpt1 not found: 3(NXDOMAIN)
Het lijkt erop, dat mijn dhcp-server dus niet de dns-records update naar gelang hij leases verstrekt aan zich aanmeldende clients.

Daarom heb ik flink geGoogeld en volgens mij zo'n beetje iedere tutorial gelezen die er bestaat en het een en ander geprobeerd. Dus ook het gebruik van de rndc.key om de dhcp-server en de dns-server met elkaar te laten communiceren over de dns-records.

Dan nog de volgende bijzonderheid: in /etc/bind/named.conf.options is een verwijzing naar
Citaat
directory "/var/cache/bind";
Kan iemand uitleggen waar die voor is ?

Al met al: wie weet raad ?

Hieronder volgen de diverse config bestanden (het is nogal een lap; excuses daarvoor):

Citaat
*/etc/dhcp3/dhcpd.conf*

option domain-name-servers 192.168.1.1;
option routers 192.168.1.1;
authoritative;
server-identifier 192.168.1.1;
ddns-updates on;
ddns-update-style interim;
ddns-domainname "cps.local.";
ddns-rev-domainname "in-addr.arpa.";
ignore client-updates;
include "/etc/bind/rndc.key";

zone cps.local. {
        primary 192.168.1.1;
        key rndc-key;
        }

zone cps.rev. {
        primary 127.0.0.1;
        key rndc-key;
        }

# cps.local.
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.1 192.168.1.100;
        option broadcast-address 192.168.1.255;
        option domain-name "cps.local";
        one-lease-per-client on;
        default-lease-time 14400;
        max-lease-time 14401;
        option ip-forwarding off;
        option routers 192.168.1.1;
        option domain-name-servers 192.168.1.1;
        # srvr1
        host srvr1 {
                ddns-updates on;
                hardware ethernet 00:00:e8:9d:b6:53;
                fixed-address 192.168.1.1;
                }
        }
Citaat
* /etc/bind/named.conf *

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/rndc.key";

// prime the server with knowledge of the root servers

zone "." {
   type hint;
   file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
   type master;
   file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
   type master;
   file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
   type master;
   file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
   type master;
   file "/etc/bind/db.255";
};

// zone "com" { type delegation-only; };
// zone "net" { type delegation-only; };

// From the release notes:
//  Because many of our users are uncomfortable receiving undelegated answers
//  from root or top level domains, other than a few for whom that behaviour
//  has been trusted and expected for quite some length of time, we have now
//  introduced the "root-delegations-only" feature which applies delegation-only
//  logic to all top level domains, and to the root domain.  An exception list
//  should be specified, including "MUSEUM" and "DE", and any other top level
//  domains from whom undelegated responses are expected and trusted.
// root-delegation-only exclude { "DE"; "MUSEUM"; };
Citaat
* /etc/bind/named.conf.local *
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization

include "/etc/bind/zones.rfc1918";

zone "cps.local" {
   type master;
   file "/etc/bind/zones/cps.local.db";
        allow-update { key "rndc-key"; };
   notify yes;
};

zone "cps.rev" {
   type master;
   file "/etc/bind/zones/cps.rev.db";
        allow-update { key "rndc-key"; };   
   notify yes;
};
Citaat
* /etc/bind/named.conf.options *
options {
   directory "/var/cache/bind";

   // If there is a firewall between you and nameservers you want
   // to talk to, you might need to uncomment the query-source
   // directive below.  Previous versions of BIND always asked
   // questions using port 53, but BIND 8.1 and later use an unprivileged
   // port by default.

   // query-source address * port 53;

   // If your ISP provided one or more IP addresses for stable
   // nameservers, you probably want to use them as forwarders.  
   // Uncomment the following block, and insert the addresses replacing
   // the all-0's placeholder.

   forwarders {
      195.121.1.34;195.121.1.66;
   };

   auth-nxdomain no;    # conform to RFC1035
   listen-on-v6 { any; };
};

controls {
        inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};
Citaat
* /etc/bind/zones/cps.local.db *
$TTL 86400
cps.local. IN SOA srvr1.cps.local administrator.cps.local. ($TTL 86400
@ IN SOA administrator.cps.local. (
    20071104 ; serial
    8H ; refresh
    4H ; retry
    4W ; expire
    1D ; minimum
)
@ IN NS 192.168.1.1.
@ IN MX 10 192.168.1.1.
localhost    IN A 127.0.0.1
nas1       IN A 192.168.1.100
srvr1        IN A 192.168.1.1
Citaat
* /etc/bind/zones/cps.rev.db *
$TTL 86400
@ IN SOA administrator.cps.local. (
    20071104 ; serial
    8H ; refresh
    4H ; retry
    4W ; expire
    1D ; minimum
)
IN NS srvr1.cps.local.
100 IN PTR nas1.cps.local.
1 IN PTR srvr1.cps.local.

lokaal LAN met dhcp (dhcp3) en dns (bind9) onder Gutsy (7.10) server
« Reactie #1 Gepost op: 2007/11/06, 23:18:00 »
hmm,

ik ben ook niet direkt een expert in DNS. ( JanC hheft het mogen ondervinden ;-)   )

ik vind de cps.local.db een beetje eigenaardig
Kan het misschien niet zijn dat die er als volgd kan uitzien ??
* /etc/bind/zones/cps.local.db *
$TTL 86400
cps.local. IN SOA srvr1.cps.local. administrator.cps.local. (
    20071104 ; serial
    8H ; refresh
    4H ; retry
    4W ; expire
    1D ; minimum
)
 IN NS 192.168.1.1
 IN MX 10 192.168.1.1

nas1       IN A 192.168.1.100
srvr1        IN A 192.168.1.1
Ben ook nog niet lang bezig met DNS'en

lokaal LAN met dhcp (dhcp3) en dns (bind9) onder Gutsy (7.10) server
« Reactie #2 Gepost op: 2007/11/07, 10:42:59 »
Dank voor je antwoord !

Ik heb nog lang zitten puzzelen, opschonen en veranderen en nu heb ik het aan het werken.
Als je heel zorgvuldig kijkt, dan heb je hier een punt gemist, daar een declaratie teveel, enzovoort.

Maar..... het werkt ineens ! Ik heb hieronder nog even enkele files geplakt; misschien helpt het de volgende die aan deze puzzel begint ;)

Als ik nu in cps.local.db kijk, dan zie ik plotseling een nieuw A record voor een van de clients (en kan ik -dus- de andere clients óók dhcp maken en benaderen via hun dns-naam):

Citaat
$ORIGIN .
$TTL 86400   ; 1 day
cps.local      IN SOA   cps.local. administrator.cps.local. (
            2007110403 ; serial
            28800      ; refresh (8 hours)
            14400      ; retry (4 hours)
            2419200    ; expire (4 weeks)
            86400      ; minimum (1 day)
            )
         NS   192.168.1.1.
$ORIGIN cps.local.
$TTL 43200   ; 12 hours
clnt2         A   192.168.1.24
         TXT   "00a15f0e72f0419fc7e12672cc5c1565db"
$TTL 86400   ; 1 day
localhost      A   127.0.0.1
lpt1         A   192.168.1.20
nas1         A   192.168.1.100
srvr1         A   192.168.1.1
Al met al denk ik, dat het in de dhcp3-configuratie zat; hier heb ik nog wel het meeste zitten schrappen, aanpassen en uitproberen. Hier is de dhcpd.conf (ik heb de code rndc maar even vervangen door blablabla ).

Citaat
server-identifier srvr1;
autoritative;
ddns-updates                on;
ddns-update-style           interim;
ddns-domainname             "cps.local.";
ddns-rev-domainname         "in-addr.arpa.";
ignore                      client-updates;

key "rndc" {
        algorithm hmac-md5;
        secret "blablabla";
};

zone cps.local. {
   primary 192.168.1.1;
   key rndc;
   }

zone 1.168.192.in-addr.arpa. {
        primary 192.168.1.1;
        key rndc;
        }

# mynet
subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.10 192.168.1.100;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.1.255;
   option domain-name "cps.local.";
   default-lease-time 86400;
   max-lease-time 172800;
   option routers 192.168.1.1;
   option domain-name-servers 192.168.1.1;
   }
Uiteindelijk is het wel een zoektocht; het zit ófwel in de configuratie van de dhcp3-server (die niet goed "praat" met de dns-server) óf juist andersom. Op een gegeven moment had ik geen enkele error (het helpt om regelmatig even "tail /var/log/syslog" te doen) en tóch werkte het niet. En dan is het lastig zoeken, natuurlijk (wanneer je zelf geen dhcp/dns-expert bent, zoals ik).

Overigens heb ik op de client die nu wel ineens door de dns-server van een A record wordt voorzien, ook de dhclient.conf aangepast en ik sluit niet uit dat dit een deel van de oplossing is:

Citaat
send host-name "clnt2";
Blijkbaar moeten netwerk clients actief hun hostname doorgeven; mijn HP netwerkprinter lijkt dat bijvoorbeeld niet te doen, dus die moet een "hard-coded " A-record blijven houden (i.e.: statisch IP-adres).