Bind9 Konfig-Problem
Hallo,
ich habe hier auf einer physischen Maschine ein CentOS 7.1 mit bind9 installiert, der Dienst läuft, der Check für die named.conf und der Zonencheck laufen beide ohne Fehler durch. Ich habe noch keine Reverse-Lookup Zone angelegt, da ich erst schauen wollte,
ob die Forward-Zone funktioniert. Wenn ich jetzt z.B. von einem Debian Client aus versuche, einen Hostnahmen aufzulösen, schlägt das fehl.
Hier meine named.conf
Und hier meine db.invenient.test
Es befinden sich nur 2 A Records in der Zone, ein Debian Client mit der .238 und der DNS-Server selber (Glue-Record) mit seiner .30 IP.
Gehe ich jetzt auf einen anderen Client u. versuche den Debian Host über DNS aufzulösen, kann er den DNS-Server nicht erreichen. Hier das Ergebnis vom Client:
So sieht die resolv.conf aus:
Iptaples ist auf dem DNS Server nicht gestartet, ich bekomme jedenfalls das Ergebnis:
Wenn ich von einem Client aus allerdings per nmap den DNS-Server scanne, erscheint der DNS-Dienst dort nicht, dass wundert mich.
Wenn der DNS-Server selber eine Hostabfage mit dig macht, funktioniert das ganze:
Welchen Fehler habe ich da noch drin, ich komme einfach nicht weiter, wer kann mir bitte helfen?
Gruß
TiTux
ich habe hier auf einer physischen Maschine ein CentOS 7.1 mit bind9 installiert, der Dienst läuft, der Check für die named.conf und der Zonencheck laufen beide ohne Fehler durch. Ich habe noch keine Reverse-Lookup Zone angelegt, da ich erst schauen wollte,
ob die Forward-Zone funktioniert. Wenn ich jetzt z.B. von einem Debian Client aus versuche, einen Hostnahmen aufzulösen, schlägt das fehl.
Hier meine named.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[root@centi named]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { none; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "invenient.test" {
type master;
file "db.invenient.test";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
Und hier meine db.invenient.test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@centi named]# cat /var/named/db.invenient.test
$TTL 3600
@ IN SOA centi.invenient.test. test.invenient.test. (
2015042301 ; Serial
12h ; Refresh
1h ; Retry
10d ; Expire
1h ; Negative Cache TTL
)
IN NS centi.invenient.test.
IN NS ns6.kasserver.com.
IN MX 10 centi
centi IN A 192.168.100.30
debian IN A 192.168.100.238
Es befinden sich nur 2 A Records in der Zone, ein Debian Client mit der .238 und der DNS-Server selber (Glue-Record) mit seiner .30 IP.
Gehe ich jetzt auf einen anderen Client u. versuche den Debian Host über DNS aufzulösen, kann er den DNS-Server nicht erreichen. Hier das Ergebnis vom Client:
1
2
3
4
5
6
2
3
4
5
6
root@lap1:~# dig @192.168.100.30 debian
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @192.168.100.30 debian
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
So sieht die resolv.conf aus:
1
2
3
4
5
2
3
4
5
root@lap1:~# cat /etc/resolv.conf
domain invenient.test
search invenient.test
nameserver 192.168.100.30
nameserver 192.168.100.254
Iptaples ist auf dem DNS Server nicht gestartet, ich bekomme jedenfalls das Ergebnis:
1
2
3
4
5
2
3
4
5
[root@centi ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
iptables.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
Wenn ich von einem Client aus allerdings per nmap den DNS-Server scanne, erscheint der DNS-Dienst dort nicht, dass wundert mich.
Wenn der DNS-Server selber eine Hostabfage mit dig macht, funktioniert das ganze:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@centi ~]# dig @localhost debian
; <<>> DiG 9.9.4-RedHat-9.9.4-18.el7_1.1 <<>> @localhost debian
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 26811
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;debian. IN A
;; AUTHORITY SECTION:
. 10748 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015042201 1800 900 604800 86400
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Do Apr 23 12:31:01 CEST 2015
;; MSG SIZE rcvd: 110
Welchen Fehler habe ich da noch drin, ich komme einfach nicht weiter, wer kann mir bitte helfen?
Gruß
TiTux
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 270019
Url: https://administrator.de/forum/bind9-konfig-problem-270019.html
Ausgedruckt am: 09.04.2025 um 23:04 Uhr
11 Kommentare
Neuester Kommentar

Moin,
Als "Status" muss dort stehen NOERROR.
ändere mal die Nameserver-Zeile im Zonenfile
http://askubuntu.com/questions/330148/how-do-i-do-a-complete-bind9-dns- ...
Gruß jodel32
Wenn der DNS-Server selber eine Hostabfage mit dig macht, funktioniert das ganze:
Nein das tut es dort ebenfalls nicht, dieser Output zeug ebenfalls davon das es nicht klappt, siehst du an der Meldung NXDOMAIN und ANSWER: 0 !Als "Status" muss dort stehen NOERROR.
- Wurde bind nach den Änderungen neu gestartet ?
- Was sagt das syslog nach dem Start von bind "/var/log/syslog" ?
ändere mal die Nameserver-Zeile im Zonenfile
1
2
2
invenient.test. IN NS centi.invenient.test.
invenient.test. IN A 192.168.100.30
Gruß jodel32

Jup da ist die Firewall dicht ...schalte also Port 53 (UDP/TCP) frei
1. "dig" verwendet standardmäßig keine Suchdomain aus resolv.conf. Also entweder "dig @192.168.100.30 debian.invenient.test A" oder die +search option verwenden.
2. allow-query { localhost; }; muss natürlich auch angepasst werden, guckst du hier: http://wiki.ubuntuusers.de/DNS-Server_Bind/Erweiterte_Konfiguration
3. Falls Bind nicht als resolver cache arbeiten soll auch "recursive no;" setzen, falls er beides tun soll (was nicht empfohlen ist) "allow-recursion { <dein internes netz>; }"; verwenden.
Gruß
Andi
2. allow-query { localhost; }; muss natürlich auch angepasst werden, guckst du hier: http://wiki.ubuntuusers.de/DNS-Server_Bind/Erweiterte_Konfiguration
3. Falls Bind nicht als resolver cache arbeiten soll auch "recursive no;" setzen, falls er beides tun soll (was nicht empfohlen ist) "allow-recursion { <dein internes netz>; }"; verwenden.
Gruß
Andi
Hallo,
Bind kann beides DNS-Server und (caching) Resolver. Das erste bedeutet er ist der Master für eine oder mehrere Domains und beantwortet nur direkte Anfragen, als Resolver hingegen gräbt er sich auch rekursiv durch den DNS Baum. Das zweite will man üblicherweise nicht für alle Clients freigeben, da damit DoS Attacken möglich werden. Der Parameter "recursive no;" schaltet den Resolver part ab, allow-query ist recht neu bzw. der Default ist meine ich "all", deshalb taucht es in vielen Büchern noch nicht auf.
Gruß
Andi
Bind kann beides DNS-Server und (caching) Resolver. Das erste bedeutet er ist der Master für eine oder mehrere Domains und beantwortet nur direkte Anfragen, als Resolver hingegen gräbt er sich auch rekursiv durch den DNS Baum. Das zweite will man üblicherweise nicht für alle Clients freigeben, da damit DoS Attacken möglich werden. Der Parameter "recursive no;" schaltet den Resolver part ab, allow-query ist recht neu bzw. der Default ist meine ich "all", deshalb taucht es in vielen Büchern noch nicht auf.
Gruß
Andi