bind einrichtung

Thomsson

Member
hallo, bin noch neu unter unix, deshalb hoffe ich, das mir jemand helfen kann.
ich möchte meinen bsd rechner als server für mein lokales netzwerk arbeiten lassen. der internetzugang, apache und andere dienste sollen drauf laufen.
das gateway und die interneteinwahl funktionieren.
mein bsd rechner heißt box, die lokale domain heißt mshome.lan wobei ich mshome.net bevorzugen würde, wenn das ging (damit tun sich alte windows maschinen leichter, aber naja).
die einwahl erfolgt über die ip adresse 10.10.0.10
die netzwerkkarten fürs heimnetzwerk sind unter 192.168.0.1 erreichbar.
meine clients können ins internet, JEDOCH muss ich auf diesen den dns server meines isps eintragen!
bind9 startet bei mir zwar aber richtig arbeitet der nicht. ich kann keine rechner in meinem lokalen netzwerk mit ihrem namen pingen. wenn ich bsd selber pinge, antwortet er mit 10.10.0.10, also mit der netzwerkkarte, die ins internet geht. weis nicht ob das von belang ist. (traceroute das selbe)
host hostname bringt mir als antwort Host hostname not found: 3(NCDOMAIN)

meine named.conf sieht folgendermassen aus.
---------------------------------------------------------------------------------------------------------
key "rndc-key" {
algorithm hmac-md5;
secret "Y7lrJetSkrE0FrWvO3VJxA==";
};

acl corpnets { 192.168.0.0/24; };
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};

options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
allow-query { corpnets; };

listen-on { 192.168.0.1; 127.0.0.1; };

forwarders {
193.189.244.197;
193.189.244.205;
};

};

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

zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};

// RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
type master;
file "master/localhost-v6.rev";
};

// RFC 1886 -- deprecated
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" {
type master;
file "master/localhost-v6.rev";
};

zone "mshome.lan" {
type master;
file "slave/mshome.lan";
allow-update { 192.168.0.1; };
// masters { 192.168.0.1; };
};

zone "0.168.192.in-addr.arpa" {
type master;
file "master/localhost.rev";
// file "slave/0.168.192.in-addr.arpa";
allow-update { key DHCP_UPDATE; };
};
---------------------------------------------------------------------------------------------------
mittlerweile ein schlachtfeld, da ich dutzende konfigurationen ausprobiert habe.
dhcpd läuft im moment, da ich vermute, das die lokale namesauflösung von windowsrechner bei der übergabe der dhcp-daten die namen mitbekommt. aber sicher bin ich mir da nicht.

und die zone files:
0.168.192.in.addr.arpa
---------------------------------------------------------------------------------------------------
$TTL 1D
@ IN SOA box root.mshome.lan (
2005071801
1H
15M
1W
15M )
NS box

@ IN PTR box.mshome.lan.
---------------------------------------------------------------------------------------------------
mshome.lan
---------------------------------------------------------------------------------------------------
$TTL 1D
@ SOA box hostmaster (
2005071801
1H
15M
1W
15M )
NS box

box A 192.168.0.1
box.mshome.lan IN A 192.168.0.1
localhost A 127.0.0.1
---------------------------------------------------------------------------------------------------


so siehts aus und nun lehne ich mich zurück und lasse mir helfen :cool:

vielen dank und schöne grüße
Thomsson
 
Komische Netzwerk-Config...

Also Dein Externes Interface hat eine private IP ? Wieso ? Bei wem hängt die Kiste im Netz ?

dhcpd läuft im moment, da ich vermute, das die lokale namesauflösung von windowsrechner bei der übergabe der dhcp-daten die namen mitbekommt. aber sicher bin ich mir da nicht.

Was hat dhcpd mit den windowsrechnern zu tun ? Hast Du dhclient.conf angepasst, damit die nameserver einstellungen nicht überschrieben werden ?

Warum stehen im reverse-lookup-file keine rechner ? Wo ist der Rest der Rechner im lookup-file ?

so siehts aus und nun lehne ich mich zurück und lasse mir helfen
tolle Einstellung... Kauf Dir TCP/IP Network Administration von O'Reilly und eigne Dir erstmal die Grundlagen an!
 
@ FishMac
mein externes interface, davon habe ich kein, an der netzwerkkarte hängt das dsl modem.

zwecks dhcp-windows: das habe ich so im netz gelesen. das ist es, was mich verwirrt, die vielen varianten am rumstochern um die probleme herum.
die nameserver in der resolf.conf werden tatsächlich immer überschrieben, hab vergessen das zu erwähnen. wie kann ich das verhindern?

und das eintragen von rechnern in der reverse-lookup-file versteh ich nicht, was ist der sinn von einem dns, wenn ich ihm die namen und die jeweiligen rechner zuweisen muss. der dns server selber sollte da stehen, klar, aber die anderen auch?

vielen dank und ich lehne mich nicht zurück
das ist ironisch gemeint. ich lese foren meißtens nur. fragen tu ich selten stellen, da man eigentlich die antwort immer irgendwo findet.
 
Code:
# $OpenBSD: dhclient.conf,v 1.1 1998/09/08 20:26:41 marc Exp $
#
# DHCP Client Configuration
#
# See dhclient.conf(5) for possible contents of this file.
# When empty default values are used:
#
# Example:
#
# send dhcp-lease-time 3600;
# send host-name "myhost";
# supersede host-name "myhost";
# supersede domain-name "my.domain";
# request subnet-mask, broadcast-address, time-offset, routers,
#       domain-name, domain-name-servers, host-name, lpr-servers, ntp-servers;
# require subnet-mask, domain-name-servers, routers;
# media "link0 link1", "link0 link1", "link0 link1", "-link0 link1";

supersede host-name "rumpelstilzchen";
supersede domain-name "maerchenland.de";
supersede domain-name-servers 127.0.0.1;

so sieht eine dhclient.conf aus... host-name und domain-name an Deine Bedürfnisse anpassen... muss aber mit DNS übereinstimmen...

in rc.conf steht dann

ifconfig_em0="DHCP"

em0 mit dem externen interface bei Dir ersetzen...!

/etc/resolv.conf:
Code:
search maerchenland.de
nameserver 127.0.0.1
domain entsprechend anpassen...!

hier gibt's was zum Thema dns/bind:
http://de.wikipedia.org/wiki/Bind


Desweiteren wirst Du nicht umhinkommen Dich mit pf zu beschäftigen...
 
Re: BIND einrichten

Thomsson schrieb:
.., die lokale domain heißt mshome.lan wobei ich mshome.net bevorzugen würde, wenn das ging (damit tun sich alte windows maschinen leichter, aber naja).
Füge in named.conf ein:
Code:
        auth-nxdomain yes;    # conform to RFC1035
        notify no;

};

Mit diesen Einträgen kannst Du Deine domain sogar microsoft.com nennen. www.microsoft.com wird dann allerdings in Deinem lokalen Netz gesucht werden, weil Dein BIND sich dann für microsoft.com zuständig fühlen würde und keine Anfragen an die Forwarder oder root-Server richtet.
 
Zuletzt bearbeitet:
maus schrieb:
.., die lokale domain heißt mshome.lan wobei ich mshome.net bevorzugen würde, wenn das ging (damit tun sich alte windows maschinen leichter, aber naja).

Füge in named.conf ein:
Code:
        auth-nxdomain yes;    # conform to RFC1035
        notify no;

};

Mit diesen Einträgen kannst Du Deine domain sogar microsoft.com nennen. www.microsoft.com wird dann allerdings in Deinem lokalen Netz gesucht werden, weil Dein BIND sich dann für microsoft.com zuständig fühlen würde und keine Anfragen an die Forwarder oder root-Server richtet.
und genau deswegen sollte man das nicht machen. leute, pfuscht doch nicht einfach im namespace rum, sondern machts richtig. was ist denn, wenn ein client mal nen falschen nameserver konfiguriert hat, aus welchem grund auch immer? dann landet er bei der echten domain und leakt potentiell irgendwelchen kram in die richtung. wenn man intern mit der domain zb auch mail macht, dann landen mails moeglicherweise irgendwo, wo sie gar nichts zu suchen haben.
 
- das "secret" muß übereinstimmen
- Du mußt auch angeben, daß auch das vorwärts aktualisiert werden darf
- wo ist Deine DHCP-Configuration?
 
TCM schrieb:
und genau deswegen sollte man das nicht machen. leute, pfuscht doch nicht einfach im namespace rum, sondern machts richtig. was ist denn, wenn ein client mal nen falschen nameserver konfiguriert hat, aus welchem grund auch immer? dann landet er bei der echten domain und leakt potentiell irgendwelchen kram in die richtung. wenn man intern mit der domain zb auch mail macht, dann landen mails moeglicherweise irgendwo, wo sie gar nichts zu suchen haben.
Bitte aufmerksam lesen, bevor man irgentwelche Behauptungen aufstellt.
1. Mit "notify no" wird verhindert, daß der lokale BIND den Servern im Internet auf den Geist geht, und Änderugen an seinen Zonenfiles mitteilt.
2. "auth-nxdomain yes" sorgt dafür, daß keine Anfragen zu hosts der lokalen Domains nach außen gestellt werden.

Einen Fehler habe ich gemacht, microsoft.com ohne ;) , denn das sollte Ironie sein.
 
maus schrieb:
Bitte aufmerksam lesen, bevor man irgentwelche Behauptungen aufstellt.
dito

1. Mit "notify no" wird verhindert, daß der lokale BIND den Servern im Internet auf den Geist geht, und Änderugen an seinen Zonenfiles mitteilt.
welchen servern sollte der denn auf den geist gehen? die muessten dann erstmal als slave in den zonefiles stehen. und was hat das mit meiner behauptung zu tun?

2. "auth-nxdomain yes" sorgt dafür, daß keine Anfragen zu hosts der lokalen Domains nach außen gestellt werden.
"If yes, then the AA bit is always set on NXDOMAIN responses, even if the server is not actually authoritative. The default is no; this is a change from BIND 8. If you are using very old DNS software, you may need to set it to yes." klingt nicht nach etwas, was im normalen betrieb ueberhaupt gesetzt werden sollte.

und ueberhaupt: damit setzt du voraus, dass der eigene bind immer benutzt werden muss und nie umgangen werden darf. fuer den fall, dass ein client doch mal nen anderen server benutzt, hast du mit dieser namespace-verschmutzung sicherheitstechnisch ein "fail-open", d.h. information ueber interne hostnamen, mails oder sonstwas leakt nach draussen.

was ist denn so schwer daran, entweder eine subdomain einer eigenen domain zu nehmen oder eine garantiert ungueltige tld zu benutzen? propagiert doch bitte nicht solche hacks als angebliche "best practice". das ist gefrickel, nichts weiter.
 
Zurück
Oben