BIND Server - How to

echt0711

echt0711

Aktives Mitglied
Thread Starter
Dabei seit
11.10.2003
Beiträge
862
Reaktionspunkte
13
Wo wir gerade bei dem Thema sind… mir fallen da immer wieder die Zeilen in meiner sys-log auf…*anscheinend startet Apple "BIND"…*und zwar im Zusammenhang mit "Internet Sharing". Wenn ich mich recht erinner ist das ein Proxy, den ich von Linux her kenne. Aber wenn ich das Log richtig interpretiere, läuft er nicht richtig:

Jul 7 09:31:40 localhost named[356]: starting BIND 9.2.2 -c /etc/com.apple.named.conf.proxy -f
Jul 7 09:31:40 localhost named[356]: using 1 CPU
Jul 7 09:31:40 localhost named[356]: loading configuration from '/etc/com.apple.named.conf.proxy'
Jul 7 09:31:40 localhost named[356]: listening on IPv4 interface en0, 192.168.2.1#53
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:26: no forwarders seen; disabling forwarding
Jul 7 09:31:40 localhost named[356]: none:0: open: /private/etc/rndc.key: file not found
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:7: couldn't install keys for command channel 127.0.0.1#54: file not found
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:7: couldn't add command channel 127.0.0.1#54: file not found

Kann da jemand von euch was zu sagen?
Grüsse!
 
Hi
ja richtig in der /etc/hostconfig stehen die Systemdienste, die man ohne Probleme auch über Systemeinstellungen konfigurieren kann.
 
echt0711 schrieb:
Wo wir gerade bei dem Thema sind… mir fallen da immer wieder die Zeilen in meiner sys-log auf…*anscheinend startet Apple "BIND"…*und zwar im Zusammenhang mit "Internet Sharing". Wenn ich mich recht erinner ist das ein Proxy, den ich von Linux her kenne. Aber wenn ich das Log richtig interpretiere, läuft er nicht richtig:

Jul 7 09:31:40 localhost named[356]: starting BIND 9.2.2 -c /etc/com.apple.named.conf.proxy -f
Jul 7 09:31:40 localhost named[356]: using 1 CPU
Jul 7 09:31:40 localhost named[356]: loading configuration from '/etc/com.apple.named.conf.proxy'
Jul 7 09:31:40 localhost named[356]: listening on IPv4 interface en0, 192.168.2.1#53
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:26: no forwarders seen; disabling forwarding
Jul 7 09:31:40 localhost named[356]: none:0: open: /private/etc/rndc.key: file not found
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:7: couldn't install keys for command channel 127.0.0.1#54: file not found
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:7: couldn't add command channel 127.0.0.1#54: file not found

Kann da jemand von euch was zu sagen?
Grüsse!
Ja, da wird wohl BIND gestartet.

Eigenartig ist, das die conf-Datei "/etc/com.apple.named.conf.proxy" geladen wird.
Was steht dann da drin?
Normalerweise liegt die Conf Datei unter /etc/named.conf

Die letzten drei Zeilen weisen darauf hin, dass die Dateien, die für die Steuerung des BIND über rndc notwendig sind, nicht gefunden werden (wenn Du sie nicht selbst angelegt hast [incl. Schlüssel] , ist das kein Wunder ;))

Die viertletzte Zeile sagt aus, dass es keine Forwarder gibt; nachdem auch keine Zonendateien geladen werde funktioniert der Nameserver gar nicht ;)

Wennn Du den BIND gar nicht verwenden willst, änderst Du eine Zeile in der oben erwähnten /etc/hostconfig:
Anstelle von
DNSSERVER=-YES-
muss es dann
DNSSERVER=-NO-
heissen.
 
hallo maceis… ich sag es mal so: BIND wurde früher bei mir nicht gestartet, erst seitdem ich die Internetleitung über ein-und-dieselbe Ethernetkarte share (Setup: G5 wählt sich ein, hängt an einem Hub an dem auch der G3 hängt) startet OS X den BIND. Und genau seit diesem Zeitpunkt krieg ich auch die geposteten Fehlermeldungen in der Syslog. Habe selbst nichts dran geändert weil ich garnicht wüsste, wie! :) Fakt ist auch, daß Internet Sharing funktioniert (und auch da kapier ich bis heute nicht, wie er das überhaupt hinkriegt ohne eine zweite Ethernetkarte - normalerweise kenn ich das so: Über eine Karte raus ins netz, über die zweite Karte ans Hub und von dahin ins interne Netz). Kann jemand bestätigen, daß Apple hier beim "Internet Sharing" gepfuscht hat? Oder hab ich da einen Bug der sich nicht näher bemerkbar macht?
 
@maceis: die conf sieht so aus

=======
controls {
inet 127.0.0.1 port 54 allow {any; };
};

options {
directory "/var/named";
/*
* 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 uses an unprivileged
* port by default.
*/
// query-source address * port 53;

listen-on { 192.168.2.1; };
forward first;
forwarders { 145.253.2.196; 145.253.2.81; };
};

//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

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

acl can_query {any;};
=============

Die beiden IPs 145.253.2.196; 145.253.2.81; sagen mir schonmal garnix ;)
 
ist das die Datei "/etc/com.apple.named.conf.proxy" oder die Datei "/etc/named.conf". Vermutlich de erste.
Die beiden IP Adressen sind zwei Nameserver von Arcor.

Zwei Schnittstellen sind grundsätzlich gar nicht erforderlich, da eine Schnittstelle auch mehrere Adressen haben kann.
In Deinem Fall vermute ich aber, dass Du ein (DSL)-Modem verwendest. Damit hast Du schon die zweite Schnittstelle ;)
 
Zuletzt bearbeitet:
Hi

Ich versuch mich mal mit einer Erklärung:

Durch das Internetsharing muss das interne Netzwerk ja mit DNS-Servern versorgt werden. Dies erledigt der OSX eigene bind-server, der über die com.apple.named.conf.proxy konfiguriert wird, und zwar in dem Moment wo du das Sharing anschaltest.

Der DNS-Server nimmt requests aus dem internen Netzwerk entgegen und leitet sie an die Arcor-Nameserver weiter
listen-on { 192.168.2.1; };
forward first;
forwarders { 145.253.2.196; 145.253.2.81; };

Somit sollte es möglich sein, die Rechner im internen Netzwerk mit der DNS-Serveradresse 192.168.2.1 zu vrsorgen und alles sollte laufen.

HTH

W
 
@maceis: Jep das war die /etc/com.apple.named.conf.proxy

So ganz langsam steige ich durch, wie Apple das macht :) Nichts desto weniger scheinen sie aber geschlampt zu haben was die Konfiguration anbelangt…*woher sonst die Error Codes in der syslog?

@glotis: Thanks für die beiden Links, hab wieder gut was zu lesen :D
 
echt0711 schrieb:
@maceis: Jep das war die /etc/com.apple.named.conf.proxy

So ganz langsam steige ich durch, wie Apple das macht :) Nichts desto weniger scheinen sie aber geschlampt zu haben was die Konfiguration anbelangt…*woher sonst die Error Codes in der syslog?
nicht wirklich, denn die Konfiguration über rndc muss man mauell konfigurieren.
Eigenartig finde ich allerdings die Meldung:
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:26: no forwarders seen; disabling forwarding
, nachdem ka forwarder eingetragen sind.

@ Woulion
Dass es so funktioniert, wie Du es beschrieben hast ist nachvollziehbar.
Nur verstehe ich den Grund nicht so ganz, da doch jeder Benutzer des Internetsharing seine eigene Namensauflösung verwenden kann.
Die Zuordnung des Datenverkehrs zu den verschiedenen Rechnern erfolgt afair mit NAT.
 
@maceis: Jeder benutzer des internetsharings kann seine eigene namensauflösung verwenden? wie das? greifen nicht automatisch alle "shared" macs die sich die leitung teilen auf dieselben nameserver zu?
Macht es denn Sinn, daß ich mir anschaue ob und wie ich die Konfiguration über rndc selbst hinbekomme? Oder würdet ihr gleich sagen "lass es lieber" ;)
 
Hi
Internet sharing heisst doch nichts anderes als das der mac auf dem die
Freigabe gemacht wird als Router eingesetzt wird und somit auch
software-technisch die Funktionen eines Routers übernimmt, dazu gehört
eben ein DNS über named.
klar kann man in den clients direkt(manual) einen DNS eintragen aber man muss es nicht, dann versuchen die clients die Namensauflösung über den
"Router"

allg:
DNS setzt auf UDP auf und nutzt port 53 und wird von anderen Diensten
benutzt(htttp/smtp/...). Der Client kontaktiert zuerst den lokalen
Name-Server. Der Server prüft ob er die Antwort lokal beantworten kann,
falls ja =>Antwort an clients
falls nein recursive resolution:
er er versucht selbst weitere DNS im Baum bis zum Root-server
falls nein iterative resolution
er meldet dem client den Namen eines anderen Name-server
 
Hi

Jeder benutzer des internetsharings kann seine eigene namensauflösung verwenden? wie das? greifen nicht automatisch alle "shared" macs die sich die leitung teilen auf dieselben nameserver zu?

Das hängt natürlich davon ab, was Du als DNS-Server in den Netzwerk-Systemeinstellungen eingetragen hast, nämlich

- entweder gar nichts, dann wird der Router (Gateway) gefragt
- oder die DNS Server deines Providers
- oder sonst irgendwelche

So lange der Client die erreichen kann, fragt er die auch ab.
Du könntest natürlich auf jedem OSX System einen caching-DNS Server betreiben, dann wärst du total unabhängig von den DNS-Servern der Provider (so mach ich das auf dem Powerbook), oder einen DNS-Server wo mehrere forwarder eingetragen sind, die Möglichkeiten sind da mannigfaltig.

Das rdnc macht nur Sinn, wenn du auch aus der Ferne administrieren willst, ansonsten brauchst Du es nicht. Den Fehler im Log kannst du vernachlässigen, ist eher informativ. Eine Lektüre des BIND-Manuals kann an dieser Stelle auf jeden Fall nicht schaden.

Woulion
 
glotis schrieb:
...
allg:
DNS setzt auf UDP auf und nutzt port 53 und wird von anderen Diensten
benutzt(htttp/smtp/...). Der Client kontaktiert zuerst den lokalen
Name-Server. Der Server prüft ob er die Antwort lokal beantworten kann,
falls ja =>Antwort an clients
falls nein recursive resolution:
er er versucht selbst weitere DNS im Baum bis zum Root-server
falls nein iterative resolution
er meldet dem client den Namen eines anderen Name-server

afair so nicht ganz richtig.
1. kann dns auch über tcp durchgeführt werden (und zwar dann, wenn die Pakete zu groß werden für udp)
2. afaik führen Clients keine iterativen Abfragen durch.
Das ist die Aufgabe der nameserver.
Nur der letzte Schritt ist eine rekursive Abfrage bzw. Auflösung.
Macht auch keinen Sinn, denn wenn der Server die Antwort nicht bekommen kann, bekommt der Client sie auch nicht. Wenn der Server aber einen Rechner "kennt", der die Antwort weiss, kann er ihn auch selbst fragen.

Clients machen rekursive Abfragen; NameServer Machen iterative Abfragen, wenn Sie die Antwort nicht selbst kennen
 
Zuletzt bearbeitet:
Woulion schrieb:
Hi
[..] Dies erledigt der OSX eigene bind-server, der über die com.apple.named.conf.proxy konfiguriert wird, und zwar in dem Moment wo du das Sharing anschaltest.
genau und die Abfrage macht OSX in der
System/Library/StartupItems/IPServices/IPServices
 
Woulion schrieb:
...
Das rdnc macht nur Sinn, wenn du auch aus der Ferne administrieren willst, ansonsten brauchst Du es nicht.
...
Woulion

Nun ja; genau genommen stimmt das nicht ganz
Der rndc ist der Nachfolger des ndc und auch lokal ganz nützlich;
Die Möglichkeit der sicheren remote-Verwaltung ist ein zusätziches Feature.
Für das Internet-Sharing stimmt es aber wohl, dass er nicht benötigt wird.

Ich hätte da aber noch ne andere Frage.
Wenn ich den BIND selbst konfiguriert habe und dann Internet-Sharing aktiviere; Was passiert dann eigentlich ?
Weiss das jemand ?
 
@maceis: Du könntest Dir ja ein Backup von den Konfig-Files ziehen und es ausprobieren :) Würde mich auch mal interessieren, vor allem weil es ja durchaus ein Prinzip aufzeigen würde. Nämlich "wie geht Apple damit um, wenn der User sein System selbst konfiguriert" :)
 
Hi

Ja, das ist durchaus ein interessanter Vorschlag. Maceis, wenn Du die Zeit und den Spieltrieb haben solltest, dann könntest du das ja mal für die Community testen.

Ich habe den alten Thread teilen lassen, damit wir uns hier in diesem Thread auf bind konzentrieren können. Bind ist meiner Meinung nach ein zu wenig beackertes Thema, da könnten mehr Leute was von haben.

Woulion
 
Hi
echt0711 schrieb:
Jul 7 09:31:40 localhost named[356]: starting BIND 9.2.2 -c /etc/com.apple.named.conf.proxy -f
Jul 7 09:31:40 localhost named[356]: using 1 CPU
Jul 7 09:31:40 localhost named[356]: loading configuration from '/etc/com.apple.named.conf.proxy'
Jul 7 09:31:40 localhost named[356]: listening on IPv4 interface en0, 192.168.2.1#53
Jul 7 09:31:40 localhost named[356]: /etc/com.apple.named.conf.proxy:26: no forwarders seen; disabling forwarding

kann es sein das du beim Systemstart nicht automatisch mit dem internet
connectest ?
das würde die Fehlermeldung oben erklären
dein Nameserver versucht zu den eingetragenen DNS-server "kontakt" aufzunehem aber da du selbst noch keine stehende Internetverbindung hast
gibt er dann den Fehler aus.
 
@glotis: natürlich - das wirds sein! Ich verwende keinen Router sondern der G5 hängt per Ethernetkabel am Hub, an diesem hängt wiederum das DSL Modem. Ich connecte mich manuell über die GUI mit dem Internet. Das erklärt die fehlenden "forwarders", richtig?
Das Problem erledigt sich vermutlich, sobald ein Router da steht - wobei ich dann ja auch auf BIND verzichten kann :)
Die Konfiguration der rndc interessiert mich trotzdem… hat jemand hier einen Link mit Background-Infos wie "was ist rndc" und "wie richtet man es ein"? Nur aus Interesse…
 
Zurück
Oben Unten