local dns problem (zwei netzwerkkarten)

Thomsson

Member
hallo,

bin leider erst neu unter freeBSD, also bitte nich schlagen, wenn ich zu blöde fragen stelle.

mein szenario:
freeBSD 5.4, vier netzwerkkarten, davon drei erfolgreich gebridget und unter einer ip erreichbar. automatische einwahl ins interent per pppoe und das routen (über gateway_enable="YES") funktionieren. nur die lokalen computernamen kann ich nicht pingen, auch nicht den eigenen hostnamen (der von hostname angezeigt wird). externe domainnamen werden auf dem freeBSD rechner (server) korrekt über die externen (von meinem provider) vorgegebenen dns server umgesetzt. die clients in meinem netzwerk, die über den freeBSD server ins netz gehen, können keinen namen, nur IP pingen.

benutze das nat was bei der einwahl durch ppp angeboten wird (ppp_nat="YES")
die konfiguration von named (oder gar bind) sind mir unverständlich, da ich nicht verstehe, ob die extra laufen können, oder verbindlich sind, wenn man eigene namen im netzwerk umsetzen möchte. desweiteren habe ich das problem, mit ndc (respektive rndc) den name dämon zu kontrollieren, nachdem ich ihn gestoppt hab.

wenn mir jemand sagen kann, an welcher stelle ich ansetzen soll, wäre ich sehr dankbar.
 
Thomsson schrieb:
nur die lokalen computernamen kann ich nicht pingen, auch nicht den eigenen hostnamen (der von hostname angezeigt wird).
an der stelle waere es nuetzlich zu wissen, welche namen das konkret sind.

externe domainnamen werden auf dem freeBSD rechner (server) korrekt über die externen (von meinem provider) vorgegebenen dns server umgesetzt. die clients in meinem netzwerk, die über den freeBSD server ins netz gehen, können keinen namen, nur IP pingen.
die clients brauchen natuerlich auch eingetragene nameserver. dies kann im konkreten fall so aussehen, dass du in jedem client die provider-nameserver eintraegst, was aber nicht sehr elegant ist. besser waere, auf dem freebsd-rechner einen dns-server einzurichten, der entweder

1) nur ein cache ist und die provider-dns befragt
2) nur ein cache ist und mit sog. root hints bestueckt ist, d.h. sich selbstaendig von den rootservern aus zu den aufzuloesenden namen durchhangelt
3) nicht nur namen aufloest, sondern auch fuer deine interne domain autoritativ ist. hinzu kommt funktionalitaet von entweder 1) oder 2)

zu bevorzugen ist imho variante 3 + 2. dazu wirst du aber nicht daran vorbeikommen, dich in die konfiguration eines dns einzuarbeiten.
 
@tcm
danke,
lokale rechnernamen, sind normale namen wie box, diese einzeln in die hosts einzutragen will ich nicht, da ich viele wechselnde clients habe, die automatisch ip zugewiesen bekommen. alle rechner/namen sind in der pseudo domäne mshome.net (was an sich nur den namen example.net ersetzt, da ich keine domäne betreibe) analog zum workgroup namen unter windows? oder sehe ich das falsch,

jedenfalls spuckt z.B. hostname box.mshome.net

im moment arbeiten meine clients natürlich mit den dns server meines isp, weil ich sonst schwer surfen kann. *g*

deine varianten 3 und 1 sind meine bevorzugten, da die dns servers meines providers schneller sind.

der standard named.conf habe ich folgendes hinzugefügt.

zone "mshome.net" {
type slave;
file "slave/mshome.net";
masters {
192.168.0.1;
};
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "slave/0.168.192.in-addr.arpa";
masters {
192.168.0.1;
};
};

die daraus resultierende datei, die ich noch editiern muss, nämlich mshome.net, sieht wie folgt aus, wobei das nahezu unverstanden ist.

$TTL 3600
@ IN SOA mshome.net. box.mshome.net. (
5 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day

; Name servers
@ IN NS box.mshome.net.

;HostAddresses
localhost IN A 127.0.0.1
box IN A 192.168.0.1

außerdem wurde diese datei nicht im unterordner slave angelegt, naja.

vielen dank
 
Thomsson schrieb:
alle rechner/namen sind in der pseudo domäne mshome.net (was an sich nur den namen example.net ersetzt, da ich keine domäne betreibe) analog zum workgroup namen unter windows? oder sehe ich das falsch
example.net ist eine domain, die fuer dokumentationen reserviert ist, nicht fuer tatsaechliche interne benutzung. mshome.net ist sogar schon von microsoft benutzt. es ist nie gut, namen aus dem globalen namespace intern zu benutzen, selbst wenn zb mshome.net noch frei waere. besser ist es, eine unbenutzte tld zu verwenden (obwohl die heutzutage auch schneller tatsaechlich existieren kann, als man gucken kann, s. schwachsinn wie .mobi und .xxx etc.). optimal waere es, wenn du eine domain besitzt und intern dann einfach sowas wie lan.example.net benutzt. (das example.net war jetzt nur ein platzhalter fuer die angenommene echte domain). ich selbst hab frueher einfach .lan benutzt.

edit: http://www.rfc-editor.org/rfc/rfc2606.txt scheint da relevant zu sein.

der standard named.conf habe ich folgendes hinzugefügt.

zone "mshome.net" {
type slave;
file "slave/mshome.net";
masters {
192.168.0.1;
};
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "slave/0.168.192.in-addr.arpa";
masters {
192.168.0.1;
};
};
ok, hier solltest du dich wirklich mit bind vertraut machen. die eintraege sollten so aussehen, wenn du wirklich nur den einen server ohne slave hast:
Code:
zone "mshome.net" {
   type master;
   file "slave/mshome.net";
};
zone "0.168.192.in-addr.arpa" {
   type master;
   file "slave/0.168.192.in-addr.arpa";
};
wobei das unterverzeichnis "slave" dann natuerlich irrefuehrend benannt ist.

die daraus resultierende datei, die ich noch editiern muss, nämlich mshome.net, sieht wie folgt aus, wobei das nahezu unverstanden ist.
das kommt jetzt davon, dass der typ auf "slave" gesetzt war und noch dazu auf sich selbst als master gezeigt hat. auf einem normalen master-server legt man zonefiles meist von hand an. die werden in der regel nicht automatisch wie die slave-zonefiles erstellt.

hier mal ein template fuer ein zone-file, welches weitgehend "dynamisch" ist, d.h. nameserver und verantwortlicher im soa-record sind in relativer schreibweise angegeben (ohne angehaengten punkt), wodurch automatisch die sog. "origin" also der ursprung angehaengt wird. dieser kann, wie das $TTL, durch $ORIGIN gesetzt werden oder - imho bevorzugt - er wird bei weglassen aus dem "zone" statement in der named.conf abgeleitet. dadurch kann man ein und dasselbe zonefile fuer mehrere zones verwenden und alles passt weitgehend automatisch.

Code:
$TTL 1D
@         SOA box hostmaster (
              2005071801
              1H
              15M
              1W
              15M )
          NS  box

box       A   192.168.0.1

localhost A   127.0.0.1
 
Zuletzt bearbeitet:
Thomsson schrieb:
die clients in meinem netzwerk, die über den freeBSD server ins netz gehen, können keinen namen, nur IP pingen.

Wieso schlägst du dich mit Bind rum? Es würde doch reichen die /etc/hosts auf den Clients zu editieren damit die Clients sich intern pingen können. In einem überschaubaren Heim-Netz mit ein paar Clients ist das doch die einfachste Variante... Oder verstehe ich etwas falsch?
 
@moR-pH-euS

hab oft wechselnde windows clients im netz, möchte diese nicht immer eintragen wollen. außerdem ist das unter windows standard, das man clients ohne änderung der netzwerkconfig ansprechen kann, diesen komfort möchte ich nicht einbüssen, wenn ich bsd benutze, weil es dort genauso möglich ist.

@tcm

was ich nicht verstehe, ist wieso bsd sich selber nicht mehr erkennt. das er die anderen rechner nicht am namen kennt, ist ok, aber sich selber. ich meine, auch wenn named nicht läuft kennt es seinen namen.

hab die zone files und die named.conf geändert, aber bis jetzt kein unterschied. wenn ich wieder etwas zeit habe, ändere ich meinen domain namen in allen config files. vielleicht ändert das was, wobei ich weis, das mshome.net frei für solche zwecke ist, unter win2k3 habe ich diese auch verwendet.
kann es sein, das es am routing liegt, das bsd seine eigenen dns anfragen irgendwie verliert?
 
Zurück
Oben