PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Forward DNS Zone failed



Seiten : [1] 2

Badboy2000
05.10.03, 09:23
Hi, habe ein Problem mit meinem DNS Server. Um genau zu sagen mit dem forwarden der Host in die IP. Andersrum funktioniert es.
Kann mir da jemand helfen?
So sieht die Datei aus:
/var/named/server.home
-Anfang-
@ IN SOA server.home. badboy.server.home. (
199609206 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
1W ; expire, seconds
1D ) ; minimum, seconds
IN NS server.home.
IN NS 192.168.0.1

IN A 192.168.0.200
www IN CNAME server.home.
ftp IN CNAME server.home.
ws1 IN A 192.168.0.100
-Ende-
Hoffe euch fällt da was auf.

Bauchi
05.10.03, 10:40
Die TTL fehlt ...

ansonsten schau einfach in das Log vom bind rein ... das hilft wie in 90% aller probleme unter linux nämlich ...

sollte über default_syslog nach /var/log/messages geschrieben werden ...

stop/starte einfach den named und du wirst dort ne message finden die dich auf die richtige spur führt

Badboy2000
05.10.03, 10:54
Hi, also funktioniert jetzt alles. Hab nur noch ein Prob. Der Server fragt keinen externen DNS wenn er die Antwort nicht weis. Das Log-File sagt sowas:
Oct 5 11:48:28 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.35.51.31#53
Oct 5 11:48:28 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.41.162.31#53
Oct 5 11:48:28 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.26.92.31#53
Oct 5 11:48:28 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.12.94.31#53
Oct 5 11:48:29 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.42.93.31#53
Oct 5 11:48:29 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.31.80.31#53
Oct 5 11:48:29 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.5.6.31#53
Oct 5 11:48:29 server2 named[4391]: lame server resolving
'c.gtld-servers.net' (in 'gtld-servers.net'?): 192.33.14.31#53
Oct 5 11:48:30 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.41.162.31#53
Oct 5 11:48:30 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.26.92.31#53
Oct 5 11:48:30 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.12.94.31#53
Oct 5 11:48:30 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.42.93.31#53
Oct 5 11:48:31 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.31.80.31#53
Oct 5 11:48:31 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.5.6.31#53
Oct 5 11:48:31 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.33.14.31#53
Oct 5 11:48:31 server2 named[4391]: lame server resolving
'g.gtld-servers.net' (in 'gtld-servers.net'?): 192.35.51.31#53
Oct 5 11:48:32 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.26.92.31#53
Oct 5 11:48:34 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.42.93.31#53
Oct 5 11:48:34 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.31.80.31#53
Oct 5 11:48:34 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.5.6.31#53
Oct 5 11:48:35 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.33.14.31#53
Oct 5 11:48:35 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.12.94.31#53
Oct 5 11:48:35 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.35.51.31#53
Oct 5 11:48:35 server2 named[4391]: lame server resolving
'l.gtld-servers.net' (in 'gtld-servers.net'?): 192.41.162.31#53
-
Aber die Datei hab ich vorhin noch aktualisiert mit den Root-Servern anchdem es nicht geklappt hatte.
Woran kann das Liegen?
Und wie trag ich den DNS Server für extern am Besten ein?

Windoofsklicker
05.10.03, 11:01
in der /var/named.conf sollte sowas stehen:

zone "." IN {
type hint;
file "named.ca";
};

wie sieht die resolv.conf aus?

Badboy2000
05.10.03, 11:13
So habdas gez eingetafen. Das "IN" fehlte.
Jetzt krieg ich nur noch folgende Meldung im Log und trotzdem keine Verbindung zur Aussenwelt. :-( :
Oct 5 12:10:57 server2 named[4391]: lame server resolving
'ns2.namespace4you.de' (in 'de'?): 193.171.255.34#53
-
Resolv.conf:
nameserver 192.168.0.1 # das ist mein hw router

Badboy2000
05.10.03, 11:14
Und danach dann doch wieder das gleiche wie oben.

Windoofsklicker
05.10.03, 11:21
äehm.. könntest du bitte mal einen groben überblick, über deine netzwerkstruktur geben...?

Badboy2000
05.10.03, 11:28
Also ich hab nen hardware router der meine DSl-verbindung herstellt. Dann den Server, eine Linux Workstation und mein Notebook. Der Server soll intern die Domain server.home realiesieren und alle anderen Domainanfragen weiterleiten.

Doh!
05.10.03, 11:51
Bei den Einträgen IN NS darf keine IP Adresse stehen. Dein Zonefile müsste korrekt so lauten:




@ IN SOA server.home. badboy.server.home. (
199609206 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
1W ; expire, seconds
1D ) ; minimum, seconds
IN NS Name.Deines.DNS.

Name.Deines.DNS. IN A IP-DEINES-DNS
www IN CNAME server.home.
ftp IN CNAME server.home.
ws1 IN A 192.168.0.100


Per Definition darf nach einem NS Eintrag keine IP folgen, sondern es muss ein FQD-Name folgen. Die IP-Adresse des FQDN wird dann weiter unten mit einem A - Record gesetzt.

Badboy2000
05.10.03, 12:05
Sieht jetzt so aus:
$TTL 86400
@ IN SOA @ badboy.server.home. (
4 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)


IN NS ns.server.home.

ws1 IN A 192.168.0.100
ns IN A 192.168.0.205

Badboy2000
05.10.03, 12:17
funktioniert so gut wie vorher auch. nur intern. nicht extern.

Jasper
05.10.03, 14:33
Original geschrieben von Badboy2000
funktioniert so gut wie vorher auch. nur intern. nicht extern.

könntest du nochmal sagen, was genau das problem ist? oder was du erreichen willst? so richtig blicken tu ich das nicht.

-j

nunja
05.10.03, 14:41
Desweiteren sollte der Eintrag CNAME nicht verwendet werden sondern die korrekte schreibweise dazu

z.B.
ftp A 192.168.0.1
www A 192.168.0.1

Jasper
05.10.03, 15:40
Original geschrieben von nunja
Desweiteren sollte der Eintrag CNAME nicht verwendet werden sondern die korrekte schreibweise dazu

z.B.
ftp A 192.168.0.1
www A 192.168.0.1

warum denn das? einzig mx-rr sollten nicht auf cnames weisen.

-j

nunja
05.10.03, 15:48
Nunja, mal die einschlägigen Bretter - meist in englischer Sprache - dazu lesen dann ergibt sich das ganz von selbst.

Badboy2000
05.10.03, 15:50
Mein Problem ist folgendes:
Ich möchte über den DNS meine interne Domain verwalten und wenn mein interner DNS die Antwort nicht kennt soll er einen externen DNS Server abfragen.
Mein Problem ist nur das er den externen nicht abfragt oder nicht weiterleitet.
Die interne Domainabfrage funktioniert.

nunja
05.10.03, 16:08
Könntest Dir ja mal folgendes BIND Beispiel Archiv herunterladen

http://mungo.homelinux.org/linux/comm/bind/bind.beispiele.tar.bz2

Nach dem Auspacken schmeißt Du die Einträge für das dritte Netzwerk raus und paßt die Namen und Nummern entsprechend an.
Das Ganze läuft bei mir ohne Probleme.

Dazu sind bei mir BIND und BIND-Utils installiert (Red Hat 9). SuSE könnte das in einem Paket haben.

Ach ja, und nicht vergeßen die Verzeichnisse und Dateien müßen dem Anwender "root" gehören!

Jasper
05.10.03, 16:18
Original geschrieben von nunja
Nunja, mal die einschlägigen Bretter - meist in englischer Sprache - dazu lesen dann ergibt sich das ganz von selbst.

geht das ganze auch etwas genauer? was für probleme treten mit cnames für A-RR auf? und welche einschlägigen bretter meinst du denn? die ISC-ML?

-j

Jasper
05.10.03, 16:32
Original geschrieben von Badboy2000
Mein Problem ist folgendes:
Ich möchte über den DNS meine interne Domain verwalten und wenn mein interner DNS die Antwort nicht kennt soll er einen externen DNS Server abfragen.
Mein Problem ist nur das er den externen nicht abfragt oder nicht weiterleitet.
Die interne Domainabfrage funktioniert.

ok, alles klar. welche fehlermeldung bei auflösen eines externen namens? wie sieht deine named.conf aus? willst du selber auflösen oder z.b. den dns deines providers als forwarder verwenden? aus deinen postings vermute ich mal, du willst einen forwarder verwenden. dazu musst du in deine named.conf den forwarder unter 'options' eintragen:

forwarders { <ipaddr>; };

wobei <ipaddr> die ip-adresse des dns-servers ist, an den du die requests weiterleiten willst, also z.b. der dns-server deines providers. dazu muss allerdings eine evtl. vorhandene firewall requests von deinem dns-server an den externen erlauben, udp als auch tcp. damit die filterregel einfacher wird, empfiehlt es sich, bind zu veranlassen, requests immer von port 53 aus zu stellen. das wird mit

query-source port 53;

in 'options' erledigt.

sehr gute doku dazu ist "bind administrator reference manual", sollte mit bind installiert sein. ansonsten mal danach suchen.

-j

Doh!
05.10.03, 23:55
Original geschrieben von nunja
Desweiteren sollte der Eintrag CNAME nicht verwendet werden sondern die korrekte schreibweise dazu

z.B.
ftp A 192.168.0.1
www A 192.168.0.1

Sorry Nunja, genau das ist unsauber. Sämtliche Literatur zu NS sagt genau das Gegenteil. Man kann es so machen, wie Du gesagt hast, es ist aber sehr unsauber. Du kriegst unsaubere Antworten, wenn Du mit dig nachsiehst. Das macht man nur unter ganz bestimmten Umständen (wenn man z.B. neben www.domain.tld einen host haben will. der über die Domäne ohne www Angesprochen werden soll). Das mit den CNAME ist scho korrekt so.

Doh!
05.10.03, 23:57
Original geschrieben von Jasper
ok, alles klar. welche fehlermeldung bei auflösen eines externen namens? wie sieht deine named.conf aus? willst du selber auflösen oder z.b. den dns deines providers als forwarder verwenden? aus deinen postings vermute ich mal, du willst einen forwarder verwenden. dazu musst du in deine named.conf den forwarder unter 'options' eintragen:

forwarders { <ipaddr>; };

wobei <ipaddr> die ip-adresse des dns-servers ist, an den du die requests weiterleiten willst, also z.b. der dns-server deines providers. dazu muss allerdings eine evtl. vorhandene firewall requests von deinem dns-server an den externen erlauben, udp als auch tcp. damit die filterregel einfacher wird, empfiehlt es sich, bind zu veranlassen, requests immer von port 53 aus zu stellen. das wird mit

query-source port 53;

in 'options' erledigt.

sehr gute doku dazu ist "bind administrator reference manual", sollte mit bind installiert sein. ansonsten mal danach suchen.

-j

Und nimm in der /etc/named.conf noch die Option forward only rein.

Jasper
06.10.03, 00:08
Original geschrieben von Doh!
Und nimm in der /etc/named.conf noch die Option forward only rein.

nein, nur das nicht. damit werden seine domains nicht mehr aufgelöst. der default (first) für 'forward' ist schon richtig.

-j

Doh!
06.10.03, 10:07
Original geschrieben von Jasper
nein, nur das nicht. damit werden seine domains nicht mehr aufgelöst. der default (first) für 'forward' ist schon richtig.

-j

Auch das ist so nicht richtig. Die Option "Forward only" bedeutet NICHT, wie man vielleicht vermuten könnte, dass der bind ausschließlich forwarded ("only"), sondern dass er zunächst in seiner eigenen Datenbank (Zonenfiles und Cache) nachsieht, und nur dann forwarded (daher das "only" - sehr schlecht gewählt von ISC), wenn er nichts in seiner eigenen Datenbank findet.

Dagegen bedeutet "Forward first", dass er bevor er in den eigenen Datenbanken nachsieht, zuerst bei den Forwardern nachsieht und wenn er dort nichts findet, seine eigenen Datenbanken konsultiert. Das verlangsamt aber den DNS vor allem für interne Abfragen!

Wir haben dieses Verhalten in der Firma ausgiebig getestet, weil wir zunächst nämlich auch davon ausgegangen waren, dass "only" bedeutet, er würde nicht in den eigenen Datenbanken nachsehen. Tatsächlich schaut bind aber immer in den eigenen Datenbanken nach, per Option kann nur angegeben werden, in welcher Reihenfolge. Diese Funktion ist teilweise im Netz falsch dokumentiert!

Jasper
06.10.03, 13:07
Original geschrieben von Doh!
Tatsächlich schaut bind aber immer in den eigenen Datenbanken nach, per Option kann nur angegeben werden, in welcher Reihenfolge. Diese Funktion ist teilweise im Netz falsch dokumentiert!

hat sich das zwischen bind4/8/9 geändert? als ich das mit einer frühen bind8 getestet hab, bedeutete 'forward only' auch wirklich 'forward only'. ist ja klasse, dass das jetzt korregiert wurde.

-j

zini2001
07.10.03, 23:41
so!! jetzt ist auch mir der kragen geplatzt!! schaut euch die conf.dateien von mir an und sacht mir bitte was ich wo falsch gemacht hab. ICH seh da nix!!!
vermute mal das es was mit diesemacl krams zu tun hat, doch lass ich den wech dann geht gar nix mehr.

###/etc/named.conf
acl internal { 127.0.0.1; 192.168.2.0/24; };

options {
directory "/var/lib/named";
#forwarders { 62.53.142.30; 193.189.244.205; };
forwarders { 217.146.128.3; 217.146.128.4; };

#forward first;
forward only;
listen-on port 53 { 192.168.2.1; 127.0.0.1; };
listen-on-v6 { any; };
query-source port 53;
#transfer-source * port 53;
#notify-source * port 53;
allow-query { internal; };
cleaning-interval 120;
#statistics-interval 0;
notify no;
};


zone "." in {
type hint;
file "root.hint";
};

zone "localhost" in {
type master;
file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};

zone "ewart" in {
type master;
file "ewart.zone";
};

zone "2.168.192.in-addr.arpa" in {
type master;
file "2.168.192.zone";

###/var/lib/named/ewart.zone

$TTL 2D
@ IN SOA server.ewart.netz. root.server.ewart.netz. (
2003081701 ; serial (d. adams)
8D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS server.ewart.netz.

server.ewart.netz. IN A 192.168.2.1
www IN CNAME ewart.netz.

### /var/log/messages (start)
Oct 8 00:18:28 server named[6768]: starting BIND 9.2.2 -t /var/lib/named -u named
Oct 8 00:18:28 server named[6768]: using 1 CPU
Oct 8 00:18:28 server named[6770]: loading configuration from '/etc/named.conf'
Oct 8 00:18:28 server named[6770]: /etc/named.conf:70: option 'statistics-interval' is not implemented
Oct 8 00:18:28 server named[6770]: listening on IPv4 interface lo, 127.0.0.1#53
Oct 8 00:18:28 server named[6770]: listening on IPv4 interface eth0, 192.168.2.1#53
Oct 8 00:18:28 server named[6770]: command channel listening on 127.0.0.1#953
Oct 8 00:18:28 server named[6770]: command channel listening on ::1#953
Oct 8 00:18:28 server named[6770]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Oct 8 00:18:28 server named[6770]: dns_master_load: 2.168.192.zone:15: ignoring out-of-zone data (1.2.168.192.in-addr-arpa)
Oct 8 00:18:28 server named[6770]: zone 2.168.192.in-addr.arpa/IN: loaded serial 2003081701
Oct 8 00:18:28 server named[6770]: dns_master_load: ewart.zone:5: ignoring out-of-zone data (ewart.netz)
Oct 8 00:18:28 server named[6770]: dns_master_load: ewart.zone:13: ignoring out-of-zone data (server.ewart.netz)
Oct 8 00:18:28 server named[6770]: zone ewart/IN: could not find NS and/or SOA records
Oct 8 00:18:28 server named[6770]: zone ewart/IN: has 0 SOA records
Oct 8 00:18:28 server named[6770]: zone ewart/IN: has no NS records
Oct 8 00:18:28 server named[6770]: zone localhost/IN: loaded serial 42
Oct 8 00:18:28 server named[6770]: running

### /var/log/messages (nach einem reload)
Oct 8 00:28:14 server named[6770]: loading configuration from '/etc/named.conf'
Oct 8 00:28:14 server named[6770]: dns_master_load: ewart.zone:10: ignoring out-of-zone data (server.ewart.netz)
Oct 8 00:28:14 server named[6770]: zone ewart/IN: has no NS records

und nu kommt ihr.......

Jasper
08.10.03, 16:49
Original geschrieben von zini2001

zone "ewart" in {
type master;
file "ewart.zone";
};


benenne die zone 'ewart' in 'ewart.netz' um.

-j

zini2001
08.10.03, 17:32
etwa so??

zone "ewart.netz" in {
type master;
file "ewart.zone";
};

Jasper
08.10.03, 18:08
Original geschrieben von zini2001
etwa so??

zone "ewart.netz" in {
type master;
file "ewart.zone";
};

yep.

-j

zini2001
08.10.03, 18:20
hat auch nicht so wirklich geklappt!!!!
ABER..... ich hab mal ein bischen probiert und den
query-source port 53;
in der named.conf audkommentiert....jetzt gehts!

komisch das?!?!? wozu ist dieser eintrag??

Jasper
08.10.03, 18:51
Original geschrieben von zini2001
hat auch nicht so wirklich geklappt!!!!


das ändern der zonenbezeichnugn hilft auf jeden fall gegen diese fehlermeldungen:

Oct 8 00:28:14 server named[6770]: dns_master_load: ewart.zone:10: ignoring out-of-zone data (server.ewart.netz)
Oct 8 00:28:14 server named[6770]: zone ewart/IN: has no NS records



ABER..... ich hab mal ein bischen probiert und den
query-source port 53;


du hättest vielleicht sagen sollen, was nicht geht. ich dachte, du wolltest die fehlermeldungen wegkriegen.

'query-source' gibt an, unter welcher ip-adresse und port der dns-server seine requests und antworten rausschickt.

'query-source port 53' bedeutetm der dns-server sendet nur über port 53. gibt man das nicht an, verwendet der dns-server irgendeinen freien port > 1024.

das sieht bei dir nach firewall/paketfilter-problem aus.

-j