DNS-Server einrichten

S

schmuchal

Aktives Mitglied
Thread Starter
Dabei seit
28.08.2002
Beiträge
270
Reaktionspunkte
6
hallo,

kennt jemand eine anleitung, um unter mac os x 10.2.8 (client) einen eigenen dns-server zu starten/konfigurieren?

hintergrund: letztlich geht es mir darum, dass ich im LAN bspw. einen webserver nicht über seine IP-Adresse, oder den namen des rechners aufrufen muss, sondern z.b. über die simple browsereingabe "intranet" oder "gameserver" oder sowas ähnliches.

danke und gruss,
tobi
 
Wenn Du nur einen oder wenige Rechner hast, genügen einige Einträge in der /etc/hosts.

Ansonsten kannst Du den Nameserver in der Datei /etc/hostconfig einschalten.
Einfach die Zeile
DNSSERVER=-NO-
in
DNSSERVER=-YES-
ändern und neu starten.
Es handelt sich um den BIND, die Konfigurationsdatei liegt unter /etc/named.conf, die Zonendateien liegen unter /var/named bzw. müssen dort angelegt werden.

HTH
 
danke. nun gibt es ja das programm DNS Helper, dass entsprechende konfig-dateien erzeugt. ich komme allerdings nicht ganz klar damit. hast du - oder jemand anderes - erfahrung damit?
 
Ich habe den BIND manuell konfiguriert. Das Ganze ist einigermaßen komplex und lässt sich nicht so auf die Schnelle erklären.
Was spricht gegen den Einsatz der hosts Datei, das ist ganz einfach.
Für jeden Rechner fügst Du eine Zeile nach dem Muster
192.168.0.1 webserver.yourdomain.tld
ein.

Anleitungen für den BIND gibt es im Internet zuhauf, falls Du es dennoch versuchen möchtest
 
die konfiguration der host-datei hat wunderbar funktioniert und das gewünschte ergebnis gebracht, vielen dank!

allerdings: bei z.B. einer größeren LAN-party ist es aber nicht die eleganteste lösung, dass jeder user die host-datei konfigurieren muss. da wäre ein dns-server schon irgendwie "edler".

wie müssten denn /etc/named.conf und /var/named konfiguriert werden, dass bspw. die url "http://intranet" auf "http://192.168.0.1" zeigt?
 
schmuchal schrieb:
wie müssten denn /etc/named.conf und /var/named konfiguriert werden, dass bspw. die url "http://intranet" auf "http://192.168.0.1" zeigt?
wie maceis schon sagte ist das nicht so trivial, jedoch guggscht du hier http://www.ag-intra.net/linux-al-dns8.html ist zwar mit suse erklärt kommt aber aufs gleiche raus :D
 
Probiere Webmin mal aus, damit kannst Du alles einstellen was Du willst. Vielleicht entspricht das eher Deinen vorstellungen?
 
ok, vielen dank für die tipps. werde es mal ausprobieren. aber kennt sich niemand mit DNS-Helper aus?
 
schmuchal schrieb:
...
wie müssten denn /etc/named.conf und /var/named konfiguriert werden, dass bspw. die url "http://intranet" auf "http://192.168.0.1" zeigt?
Da gehts schon los;
http://intranet ist gar keine URL (Universal Resource Locator)
Eine URL hat die Form:
protocol://hostname.domain.tld/[directory/]file-name.file-extension

Wie Du am Umfang der von digger1 freundlicherweise verlinkten Webseite sehen kannst, lässt sich das wirklich nicht in wenigen Worten erklären.
Trotzdem ist es kein Hexenwerk und wenn Du konkrete Teilfragen hast, kannst Du dich gerne nochmal melden.

Vile Erfolg
 
@maceis:

die anleitung von digger1 ist prima, doch ich komme nicht weiter. es geht nicht. der nameserver und der webserver haben die IP 192.168.100.103. allerdings kann ich nicht über "intranet" oder "www.heim.netz" zugreifen. anbei meine files:

/var/named/db.mein.netz
$TTL 3h
heim.netz. IN SOA lago.heim.netz. root.lago.heim.netz. (
2004121501 ; seriennummer)
heim.netz. IN NS lago.heim.netz.
localhost. IN A 127.0.0.1
lago.heim.netz. IN A 192.168.100.103
http://www.heim.netz. IN CNAME lago.heim.netz.
intranet. IN CNAME lago.heim.netz.

/var/named/db.192.168.100
$TTL 3h
100.168.192.in-addr.arpa. IN SOA lago.heim.netz. root.lago.heim.netz. (
2004121501 ; seriennummer)
100.168.192.in-addr.arpa. IN NS lago.heim.netz.
103.100.168.192.in-addr.arpa. IN PTR lago.heim.netz.

/etc/named.conf:
options {directory "/var/named"; };

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

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

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};

zone "heim.netz" IN {
type master;
file "db.heim.netz";
};

zone "100.168.192.in-addr.arpa" IN {
type master;
file "db.192.168.100";
};

was habe ich evt. übersehen?
 
schmuchal schrieb:
...
was habe ich evt. übersehen?
hast Du die IP-Adresse des Nameservers in den Netzwerkeinstellungen unter "DNS-Server" eingetragen ?
Läuft der named ? (Testen mit "ps aux | grep named")
Hast Du den named neu gestertet, nachdem Du Änderungen an den Zonendateien vorgenommen hast ?
 
die IP-adresse habe ich eingetragen. wenn ich den befehl "ps aux | grep named" eingebe, erhalte ich folgende ausgabe:

root 282 0.0 0.1 2568 516 ?? Ss 12:57PM 0:00.04 named
tobias 461 0.0 0.0 1672 340 std S+ 1:08PM 0:00.01 grep named

mit welchem befehl starte ich denn den named neu, z.b. wenn ich änderungen vornehme, damit ich nicht immer neu booten muss?
 
"kill -HUP prozessnummer"
oder
"killall -HUP named"
 
Es gibt auch ein Tool namens "rndc" mit dem man den named Steuren kann.
Allerdings ist die Ersteinrichtung nicht ganz ohne.
Zunächst würde ich daher erstmal den named selbst zum Laufen bringen -
d. h. unter 10.2.8 wird afair noch "ndc" verwendet (funktioniert etwas einfacher).

Mach doch mal folgendes.
Öffne ein zweites Terminalfenster und gib folgendes ein.
tail -f /var/log/system.log
Jetzt kannst Du im Logfile live mitlesen.
Im ersten terminalfenster gibst Du nun folgendes ein:
sudo killall named
sudo named

Die folgende Ausgabe im Logfile kannst Du hier mal posten.
Nun kannst Du noch folgendes testen
nslookup http://www.heim.netz localost
und die Ausgabe hier posten.

Die TTL gebe ich übrigens als Zahl in Sekunden (ohne h oder s oder sowas) an, also nicht 3h

HTH
 
Zuletzt bearbeitet:
vielen dank für die zahlreichen hilfen. es geht nun, vermutlich war named nicht richtig gestartet. :D

allerdings noch ein kleines problem: das alias "www.heim.netz" funktioniert prima, allerdings nicht das alias "intranet".

/var/named/db.heim.
;
; Aliases
;
http://www.heim.netz. IN CNAME lago.heim.netz.
intranet. IN CNAME lago.heim.netz.

hm?
 
da kannst du mal nach manchen anderen thread hier suchen, das problem besteht darin, dass os x "intranet" nach "intranet.local" auflöst...
abhilfe schafft, dass du statt "intranet" das "intranet.irgendwas" nennst und dann als such domain "irgendwas" einträgst
 
Schreib das "intranet" ohne Punkt am Ende.

Wenn an den Clients als Suchdomain "heim.netz" eingetragen ist, wird auch "intranet allein richtig aufgelöst.
Unter Mac OS X trägt man die Suchdomain in den Netzwerkeinstellungen unter "Domainnamen" ein.
 
@maceis:

das war die lösung. man trage als alias "intranet", also ohne den sonst üblichen abschliessenden "." ein. was jedoch nicht nötig war, die suchdomain in den netzwerkeinstellungen einzutragen. vermutlich, weil BIND automatisch die domain anhängt, wenn kein punkt angegeben ist.

vielen dank an alle für die hilfe! :)
 
schmuchal schrieb:
...
also ohne den sonst üblichen abschliessenden "." ein. was jedoch nicht nötig war, die suchdomain in den netzwerkeinstellungen einzutragen. vermutlich, weil BIND automatisch die domain anhängt, wenn kein punkt angegeben ist.
...
Davon kann man eigentlich nicht wirklich ausgehen, da ja ein DNS Server durchaus viele Domains verwalten kann und daher bei einer Anfrage, bei der nur der hostname gesendet wird, nicht wissen kann, in welcher Zonendatei er nachsehen soll.
Um das genauer zu untersuchen (falls notwendig) könnte man mal einen Sniffer mitlaufen lassen und nachsehen, wie die Abfrage beim DNS-Server ankommt (mit oder ohne Domain).

Der Punkt ist übrigens das Symbol für die oberste Ebene der Domainhirarchie, was man sehr schön demonstrieren kann, wenn man beim Aufruf von Webseiten nach der tld einen Punkt mit eingibt, also zB www.macuser.de.
Wenn Du allerdings eine Namensabfrage mit intranet. startest, wird der BIND den Domainnamen nicht anhängen und die Abfrage schlägt fehl.

Schön dass jetzt alles funktioniert ;)
 
Zurück
Oben Unten