ich bin recht frisch dabei mit Debian und Linux und habe einige Fragen offen. Ich hoffe ihr könnt mir etwas unter die Arme greifen und mir bei meinem Problem helfen. Es geht um die korrekte Einrichtung eines DNS- und DHCP-Servers auf einer frischen Debian Squeeze Installation.
Mein Szenario ist eigentlich ziemlich simpel: Ein kleines Home-Office mit einigen Win7- und Linux-Clients, und zwei drei Linux-Servern. Mein frisch installierter Squeeze-Server heißt server01 und hat die IP 192.168.0.235. Er soll als Primary Domain Controller + Fileserver fungieren (mit Samba), als DHCP-Server, DNS-Server und NTP-Server. Samba ist noch nicht konfiguriert. Ich arbeite im 192.168.0.0/24 Subnet, mein Internet-Router hat die 192.168.0.1. Ich möchte dass mein DNS-Server nur für mein LAN erreichbar ist und auch nur für die Auflösungen intern zuständig sein soll. Wenn jemand ins Internet will, dann soll er direkt über die 192.168.0.1 auf DNS zugreifen und nicht meinen DNS-Server belasten. Ich bin mir jedoch nicht sicher, ob ich das korrekt eingestellt habe und ob ich hätte FORWARDING nutzen sollen oder nicht.
Ich habe momentan BIND und DHCP mit DDNS eingerichtet. Zuvor habe ich ein eigenes key-file generiert, das funktioniert auch soweit alles. Ich denke mein Netzwerk ist korrekt konfiguriert. Wenn ich hostname oder hostname -f absetze dann erhalte ich beide Male als Antwort server01.intern.mydomain.de
Meine wichtigsten Configs sehen so aus:
/etc/network/interfaces
Code: Alles auswählen
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.235
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
Code: Alles auswählen
domain intern.mydomain.de
search intern.mydomain.de
nameserver 127.0.0.1
nameserver 192.168.0.1
Code: Alles auswählen
127.0.0.1 localhost.intern.mydomain.de localhost
192.168.0.235 server01.intern.mydomain.de server01
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Code: Alles auswählen
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/bind.keys";
controls {
inet 127.0.0.1 allow { localhost; };
};
Code: Alles auswählen
options {
directory "/var/cache/bind";
forwarders {
192.168.0.1;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
query-source address * ;
recursion yes;
version "REFUSED";
allow-recursion {
127.0.0.1;
192.168.0.0/24;
};
allow-query {
127.0.0.1;
192.168.0.0/24;
};
};
Code: Alles auswählen
key mykeyfile {
algorithm HMAC-MD5;
secret "blablabla==";
};
zone "intern.mydomain.de" {
type master;
allow-update { key mykeyfile; };
file "/var/cache/bind/zone.intern.mydomain.de";
};
zone "0.168.192.in-addr.arpa" {
type master;
allow-update { key mykeyfile; };
file "/var/cache/bind/reversezone.192.168.0";
notify no;
};
Code: Alles auswählen
$ORIGIN .
$TTL 604800 ; 1 week
intern.mydomain.de IN SOA server01.intern.mydomain.de. hostmaster.server01.intern.mydomain.de. (
2011012104 ; serial
28800 ; refresh (8 hours)
7200 ; retry (2 hours)
604800 ; expire (1 week)
39600 ; minimum (11 hours)
)
NS server01.intern.mydomain.de.
router A 192.168.0.1
client1festip A 192.168.0.11
client2festip A 192.168.0.12
client3festip A 192.168.0.13
Code: Alles auswählen
$ORIGIN .
$TTL 604800 ; 1 week
0.168.192.in-addr.arpa IN SOA server01.intern.mydomain.de. hostmaster.server01.intern.mydomain.de. (
2011012103 ; serial
28800 ; refresh (8 hours)
7200 ; retry (2 hours)
604800 ; expire (1 week)
39600 ; minimum (11 hours)
)
NS server01.intern.mydomain.de.
1 PTR router
11 PTR client1festip
12 PTR client2festip
13 PTR client3festip
Code: Alles auswählen
RESOLVCONF=yes
OPTIONS="-u bind -4"
Code: Alles auswählen
INTERFACES="eth0"
Code: Alles auswählen
key mykeyfile {
algorithm HMAC-MD5;
secret "blablabla==";
};
server-name server01;
server-identifier server01;
ddns-updates on;
ddns-update-style interim;
ddns-domainname "intern.mydomain.de";
ddns-rev-domainname "in-addr.arpa.";
do-forward-updates on;
ignore client-updates;
option domain-name "intern.mydomain.de";
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.235, 192.168.0.1;
option broadcast-address 192.168.0.255;
option ntp-servers 192.168.0.235;
option ip-forwarding off;
default-lease-time 86400;
max-lease-time 172800;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.101 192.168.0.199;
option routers 192.168.0.1;
allow unknown-clients;
zone intern.mydomain.de. {
primary 127.0.0.1;
key mykeyfile;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key mykeyfile;
}
}
gebe ich jedoch die IP ein, dann erhalte ich:root@server01:/root# nslookup
> client1festip
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: client1festip.intern.mydomain.de
Address: 192.168.0.11
>
Wieso sieht die Reverse-Abfrage denn so aus mit dem Zusatz in-addr.arpa ??? Ich habe mal zwei DHCP-Clients andocken lassen. Die DDNS Vorgänge scheinen geklappt zu haben. Wenn ich das gleiche mit nslookup, jedoch mit einem dynamisch eingetragenen DHCP-Client mache, dann erhalte ich eine 'richtige' Schreibweise des FQDN, siehe hier:> 192.168.0.11
Server: 127.0.0.1
Address: 127.0.0.1#53
11.0.168.192.in-addr.arpa name = client1festip.0.168.192.in-addr.arpa.
> pc3
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: pc3.intern.mydomain.de
Address: 192.168.0.122
>
Ich hab daraufhin natürlich gleich in meine Zonendatei gespickelt, wie das der DHCP-Server über DDNS eingetragen hat. Siehe da, die DHCP-Clients wurden anders eingetragen, und zwar mit dem FQDN als Name.> 192.168.0.122
Server: 127.0.0.1
Address: 127.0.0.1#53
122.0.168.192.in-addr.arpa name = pc3.intern.mydomain.de.
>
/etc/var/cache/bind/zone.intern.mydomain.de
Code: Alles auswählen
[...]
NS server01.intern.mydomain.de.
$ORIGIN intern.mydomain.de. <-- das hier ist neu reingeschrieben worden
router A 192,168.0.1
client1festip A 192.168.0.11
client2festip A 192.168.0.12
client3festip A 192.168.0.13
-->und dieser Block wurde neu reingeschrieben
$TTL 43200 ; 12 hours
pc3 A 192.168.0.122
TXT "31ad7482f7a34b3fcf5ba116efb43eb1f3"
pc4 A 192.168.0.101
TXT "31a7bd32fb232e30364ad1587ea7894279"
$TTL 604800 ; 1 week <--bis hier
/var/cache/bind/reversezone.192.168.0
Code: Alles auswählen
[...]
NS server01.intern.mydomain.de.
neu reingeschrieben ab hier -->
$ORIGIN 0.168.192.in-addr.arpa.
1 PTR router
11 PTR client1festip
12 PTR client2festip
$TTL 43200 ; 12 hours
101 PTR pc4.intern.mydomain.de.
122 PTR pc3.intern.mydomain.de.
$TTL 604800 ; 1 week <-- bis hier
13 PTR client3festip
Hoffe ihr könnt mir diese Frage beantworten, genauso ob ich das Forwarding ein- oder ausschalten soll. Wie gesagt, ich möchte dass mein DNS-Server nur mit IPv4 lokal in meinem LAN arbeitet, ohne dass er von aussen erreichbar wäre (unabhängig obs die Firewall durchlässt) und dass er nur für lokale Adresse auflösen soll. Wenn ich ich nämlich in den Logs nachsehe, dann erscheinen dort Meldungen, dass Domainnamen aus dem Internet aufgelöst wurden. Das will ich aber nicht, denn das soll doch direkt mein Router beantworten und nicht mein DNS-Server lokal.
Hier einige Meldungen aus /var/log/syslog und /var/log/daemon.log die mich beunruhigen:
Code: Alles auswählen
Nov 15 18:26:22 server01 named[5161]: /etc/bind/named.conf:18: couldn't install keys for command channel 127.0.0.1#953: file not found
Nov 15 18:26:22 server01 named[5161]: /etc/bind/named.conf:18: couldn't add command channel 127.0.0.1#953: file not found
--> das ist die Zeile hier aus meiner named.conf, was ist daran falsch?? inet 127.0.0.1 allow { localhost; };
Nov 15 18:27:20 server01 named[5161]: success resolving 'teredo.ipv6.microsoft.com/A' (in 'microsoft.com'?) after disabling EDNS
Nov 15 18:27:20 server01 named[5161]: success resolving 'www.msftncsi.com/A' (in 'msftncsi.com'?) after disabling EDNS
Nov 15 18:29:36 server01 named[5161]: success resolving 'ksn2.kaspersky-labs.com/A' (in 'kaspersky-labs.com'?) after disabling EDNS
Nov 15 18:29:36 server01 named[5161]: success resolving 'ksn2.kaspersky-labs.com/AAAA' (in 'kaspersky-labs.com'?) after reducing the advertised EDNS UDP packet size to 512 octets
Nov 15 18:54:35 server01 named[5161]: managed-keys-zone ./IN: Unable to fetch DNSKEY set 'dlv.isc.org': timed out
![Smile :)](./images/smilies/icon_smile.gif)
Grüße,
Michael.