Namensauflösung

Scorpion

Member
Hallo,

ich habe vor kurzem FreeBSD auf einen älteren PC gepackt und natürlich wollte ich nicht nur in der Konsole hängen bleiben. Also habe ich mir im wiki einmal die Seiten über die Konfiguration von X11 angeschaut, wo ich gelesen habe, dass die Namensauflösung kontrolliert werden soll.

Also habe ich die Konfigurationsdateien folgendermaßen geändert:

/etc/rc.conf:
hostname=

/etc/hosts:
::1 localhost localhost.Rechner.de
127.0.0.1 localhost localhost.Rechner.de

/etc/host.conf (Hier steht: #Auto-generated from nsswitch.conf, do not edit"):
hosts bind
dns

/etc/resolv.conf:
nameserver 195.50.140.178
nameserver 195.50.140.114

/etc/nsswitch.conf:
hosts: files dns

Wenn ich jetzt die Tests wie in der Anleitung zur Namensauflösung ausführe kommt folgendes:

hostname:
Hier steht gar nix

host <Meine IP-Adresse, die mir ifconfig mitteilt>:
0.184.58.84.in-addr.arpa domain name pointer dslb-084-058-184-000
Die Zahlen sind entsprechend der IP, die erste wird jedoch von hinten geschrieben.

host localhost:
Host localhost not found: 3(NXDOMAIN)


Ich benutze keine Firewall; die Server in der Datei resolv.conf kann ich beide anpingen, ändere ich diese aber, stehen sie nach einem Neustart wieder da; ins Internet gehe ich über DSL; Netzwerk gibt es keines, außer man müsste die Verbindung zum Router auch als Netzwerk zählen und ich habe keine feste IP, daher habe ich auch in rc.conf hostname= gesetzt, wie beschrieben, zumindest wenn ich das richtig verstanden habe. Ansonsten ist das System bis auf ein paar kleine Programme noch im "Originalzustand" :D .

Mit der Suchfunktion und Google habe ich leider auch nichts Hilfreiches (schreibt man das in diesem Kontext groß oder klein?) gefunden, falls ich etwas übersehen habe, bitte darauf hinweisen.

Ansonsten schonmal im Voraus Danke für eure Hilfe und Bemühung.


Der FreeBSD-Neuling

Scorpion
 
Du musst in '/etc/rc.c.conf' den Hostnamen definieren, z.b.

Code:
hostname="meinegeilekiste.dyndns.org"
 
Hallo,

Danke für deine Antwort, leider hat es nichts verändert.

Ich habe also in rc.conf hostname="Mein.Rechner.de", doch das einzige, was sich verändert hat: Bei dem Aufruf von hostname folgt nun eben der entsprechend eingetragene Wert. Ansonsten bleiben die Ausgaben jedoch so wie oben beschrieben.

Du musst in '/etc/rc.c.conf' den Hostnamen definieren, z.b.
Ist das ein Vertipper? Wenn nein, auch das hat nichts geändert.


Wie kann man eigentlich die Konfigurationsdateien neu laden lassen, um nicht den PC neu starten zu müssen?


Und ja, "das Hilfreiche" schreibt man gross!
Danke, gut zu wissen :D
 
War ein Vertipper, sollte natürlich '/etc/rc.conf' sein.

Das Netz startest du mit dem Aufruf von '/etc/netstart' neu.
 
Scorpion schrieb:
Wie kann man eigentlich die Konfigurationsdateien neu laden lassen, um nicht den PC neu starten zu müssen?

/etc/rc.conf führt die scripts in /etc/rc.d/ aus.
Du kannst z.B. <daemon> beim Booten starten
Code:
enable_<daemon>="YES"
oder direkt von Hand ausführen
Code:
/etc/rc.d/<daemon> start

edit:
siehe handbuch.
 
lars schrieb:
War ein Vertipper, sollte natürlich '/etc/rc.conf' sein.

Das Netz startest du mit dem Aufruf von '/etc/netstart' neu.

Was ist mit dem '/etc/netstart'? War das auf die Frage zum Neuladen der Konfigurationsdateien bezogen?

Ich habe also jetzt in /etc/rc.conf hostname="Mein.Rechner.de" eingetragen.
Aber jetzt erscheint beim Aufruf von hostname eben Mein.Rechner.de.
Ansonsten bleiben die Ergebnisse, wie oben genannt, also:
host <Meine IP-Adresse, die mir ifconfig mitteilt>:
0.184.58.84.in-addr.arpa domain name pointer dslb-084-058-184-000
Die Zahlen sind entsprechend der IP, die erste wird jedoch von hinten geschrieben.

host localhost:
Host localhost not found: 3(NXDOMAIN)

Woran kann es denn jetzt noch


[Edit]

/etc/rc.conf führt die scripts in /etc/rc.d/ aus.
Du kannst z.B. <daemon> beim Booten starten

Code:
enable_<daemon>="YES"

oder direkt von Hand ausführen

Code:
/etc/rc.d/<daemon> start

Aber welcher Daemon ist denn dafür verantwortlich, dass die Dateien geladen werden?
 
Zuletzt bearbeitet:
Probier doch Folgendes:
Code:
#/etc/rc.conf
ifconfig_<interface>="DHCP"

Ich hasse diese Antwort. Aber starte doch mal den PC neu...
 
Ich glaube du hast mich falsch verstanden.
Der Post bezieht sich ledeglich auf einzelne Daemons die in /etc/rc.conf geladen werden.

edit:
Falls DHCP, musst du den Nameserver nicht noch in /etc/resolv.conf eintragen.
 
Also ich habe jetzt in '/etc/rc.conf' ifconfig_tun0="DHCP" eingetragen und die nameserver aus resolv.conf ausgetragen. Ergebnis bleibt das Gleiche.

Ich weiß aber nicht, ob tun0 richtig ist, aber ifconfig sagt es stimmt :D .

[Edit]

Ich starte derzeit den PC nach jeder kleinen Änderung neu, daher auch meine Frage.
 
Zuletzt bearbeitet:
tun0 erhält beim Aufbau der Internetverbindung automatisch eine IP, also Finger weg.

Mache zuerst alle Änderungen, die du im Zusammenhang mit der Namensauflösung vorgenommen hast, rückgängig. Anschließend bearbeitest du die /etc/hosts so, daß nur und ausschließlich der nachfolgende Inhalt darin steht:
Code:
# file: /etc/hosts
127.0.0.1       localhost     [b]DeinRechnername.DeineDomain.TLD     DeinRechnername[/b]
::1             localhost ipv6-localhost ipv6-loopback
fe00::0         ipv6-localnet
ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
In /etc/rc.conf u.a. muß folgendes stehen:
Code:
# file: /etc/rc.conf
# [...]
ifconfig_tun0="up"     # [b]Keine[/b] IP eintragen oder gar DHCP verwenden!
hostname="[b]DeinRechnername.DeineDomain.TLD"[/b]
Fertig. Die Nameserver in der /etc/resolv.conf werden automatisch durch den PPP eingetragen, wenn in der ppp.conf die Zeile enable dns steht.
 
Ich gehe der Bequemlichkeit halber davon aus, dass du, wie ich auch, deinen
Rechner per Ethernet an einen Router angeschlossen hast.
Der Router hat einen DHCP-Server integriert und baut für dich die DSL-Verbindung auf.

Meine Kiste hängt im LAN, erhält die IP-Adresse, die Netzmaske, Gateway und Nameserver per DHCP.
Der Name der Netzwerkkarte ist 'vr0'.


Darum habe ich in meiner '/etc/rc.conf' dies stehen:
Code:
hostname="meine.kiste.de"
ifconfig_vr0="DHCP"

Mit statischer IP-Adresse, Netzmaske, Gateway und Nameservern hätte ich:
Code:
defaultrouter="192.168.1.1"
hostname="meine.kiste.de"
ifconfig_vr0="inet 192.168.1.12 netmask 255.255.255.0"
und in '/etc/resolv.conf' meine Schweizer Lieblings-DNS-Server:
Code:
nameserver 195.186.4.107
nameserver 195.186.4.109
nameserver 195.186.1.109

In '/etc/nsswitch.conf' hast du die Reihenfolge der Nameserver-Abfrage korrekt eingestellt.



Wenn du ohne Reboot alle Netzwerkdienste neu starten und damit
die Konfigurationsdateien neu einlesen willst, so musst du
mit Root-Privilegien das Shell-Script '/etc/netstart' aufrufen.
Code:
$ sudo sh /etc/netstart
 
So also ich habe zunächst alle Änderungen von mir rückgängig gemacht und dann die Einstellungen 0815Chaot versucht, ohne Erfolg. Es bleibt das gleiche Problem.

Auch mit den Einstellungen von lars hat sich nichts geändert. Mittlerweile kann ich nicht einmal mehr ins Internet :D .

Ich glaube ich setze die Kiste einfach nochmal neu auf und versuche es nochmal, momentan geht ja noch nicht sehr viel verloren.

Einen schönen Abend noch.
 
So da bin ich wieder, habe jetzt neu installiert und die Dateien wie von 0815Chaot angepasst, ansonsten habe ich nur die Internetverbindung wie hier beschrieben eingestellt.

Und wie war es anders zu erwarten....

Code:
# host <Meine IP-Adresse, die mir ifconfig mitteilt>
0.184.58.84.in-addr.arpa domain name pointer dslb-084-058-184-000.pools.arcor-ip.net.

und

Code:
# host localhost
Host localhost not found: 3(NXDOMAIN)

Woran kann denn das nur liegen?
 
Beschreib doch mal genau, wie deine Infrastruktur aussieht!

Falls du dich mit einem Router zu deinem Provider verbindest, brauchst du das Tutorial mit ppp nicht!!

Dein Router hat dann auch bestimmt einen DHCP Server den du, wie lars bereits beschrieben hat, verwenden kannst.

Code:
#/etc/rc.conf
hostname="meine.kiste.de"
ifconfig_vr0="DHCP"
 
Code:
% whatis host
host(1)                  - DNS lookup utility
Was hat /etc/hosts mit DNS zu tun?

Nichts.

Host(1) fragt die in /etc/resolv.conf eingetragenen Name-Server und die wissen nicht, was in /etc/hosts eingetragen wurde.

Es handelt sich also mehr um ein Verständnis- und weniger um ein Konfigurationsproblem.

ciao, jtsn
 
Hallo,

Beschreib doch mal genau, wie deine Infrastruktur aussieht!

Der PC hängt per Ethernet am Router und das war es eigentlich auch schon.

Ich habe jetzt einmal die Einstellungen zurückgesetzt und nochmals die von lars übernommen. So komme ich auch ins Internet aber die Ausgaben bleiben immer die gleichen.

Was soll ich mit der '/etc/hosts' machen? Ich habe sie jetzt erst einmal wieder folgendermaßen eingestellt:

Code:
# file: /etc/hosts
127.0.0.1       localhost     DeinRechnername.DeineDomain.TLD     DeinRechnername
::1             localhost DeinRechnername.DeineDomain.TLD
DeinRechnername.DeineDomain.TLD stimmt hier mit der Einstellung von hostname in '/etc/rc.conf' überein.

Die nameserver in '/etc/resolv.conf' werden auch jedesmal wieder automatisch auf die zwei ganz oben genannten zurückgesetzt.

Außerdem sagt ifconfig immer noch ich, ich würde über tun0 ins Netz gehen.

Wie sieht es mit der '/etc/host.conf' aus? Sie sieht momentan so aus:

Code:
#file: /etc/host.conf
hosts bind
dns

Und was ist mit der '/etc/ppp/ppp.conf', muss hier weiterhin 'enable dns' stehen, denn das tut es im Moment nicht.

So, das war glaube ich alles :D
 
Code:
% whatis host
host(1)                  - DNS lookup utility
Was hat /etc/hosts mit DNS zu tun?

Nichts.

Host(1) fragt die in /etc/resolv.conf eingetragenen Name-Server und die wissen nicht, was in /etc/hosts eingetragen wurde.

Es handelt sich also mehr um ein Verständnis- und weniger um ein Konfigurationsproblem.

ciao, jtsn

Sorry, aber hier komme ich jetzt nicht ganz mit :confused: , jetzt ist es auf jeden Fall ein Verständnisproblem :D .
 
Wie gesagt, falls du einen Router hast, der die Verbindung aufbaut, vergiss dass ganze Zeug mit PPP!! (vielleicht vermurgst es dir darum die DNS requests)

Einfach mit den Default-Configs einstecken und DHCP verwenden!
 
Das Netz startest du mit dem Aufruf von '/etc/netstart' neu.

Nein, die Netzwerkeinstellungen werden neu geladen, aber nicht das Netz neugestartet.


Wie kann man eigentlich die Konfigurationsdateien neu laden lassen, um nicht den PC neu starten zu müssen?
/etc/rc.conf führt die scripts in /etc/rc.d/ aus.

Nein, /etc/rc.conf führt gar nichts aus.
/etc/rc.conf ist ein Shell-Skript wo Variablen gesetzt werden die von /etc/rc gelesen werden.
Das ganze rc System neu zu starten ist nicht so einfach Möglich bzw. sollte man lassen.
Einzelne Teile kann man aber neu starten. Wie eben auch »/etc/netstart«.
Was nichts anderes ist als eine Sammlung von /etc/rc.d Aufrufen.

Du kannst z.B. <daemon> beim Booten starten
Jein, dafür ist die Voraussetzung das es auch ein rc.d Skript gibt.
Diese liegen in etc/rc.d/ Verzeichnissen.
Das Base-Verzeichnis für start-skripte ist /etc/rc.d/, welche Verzeichnisse noch durchgegangen werden steht in $local_startup, welche normalerweise wie alle anderen Defaulteinstellungen in /etc/defaults/rc.conf gesetzt wird.

oder direkt von Hand ausführen
/etc/rc.d/<daemon> start

Jein, ist kein enable_<daemon>="YES" gesetzt, so wird das bei den meisten daemons nicht bringen.
Will man ein daemon trotz fehlendem enable_* Eintrag starten, verwendet man statt »start« »forcestart«.


Aber welcher Daemon ist denn dafür verantwortlich, dass die Dateien geladen werden?
Kein daemon, sondern die portierten NetBSD rc-skripte.

man rc
man rc.d
man rc.conf
man rc.subr
 
Zuletzt bearbeitet von einem Moderator:
Scorpion schrieb:
Sorry, aber hier komme ich jetzt nicht ganz mit :confused: , jetzt ist es auf jeden Fall ein Verständnisproblem :D .
Es ist völlig egal, was Du in Deine ganzen Dateien einträgst, host(1) ist ein DNS-Resolver und beachtet es nicht. Dieser Umstand ist offenbar auch dem Rest der Threadposter gänzlich unbekannt, weswegen sie Dich ziemlich auf den Holzweg gebracht haben. Teste die Namen mit ping(1) oder so, das sollte funktionieren.

ciao, jtsn
 
Zuletzt bearbeitet:
Ich habe jetzt einmal alle Einstellungen auf die anfangswerte zurückgesetzt und einfach das Kabel drangehangen: Internet geht.

Teste die Namen mit ping(1) oder so, das sollte funktionieren.

Ich verstehe das jetzt so, dass ich den hostnamen, den ich in '/etc/rc.conf' eingetragen habe, anpingen soll und das geht auch wunderbar.

War das jetzt etwa die Lösung? :D
 
Ich mag ja in Shell-Scripting nicht so bewandert sein,
aber ruft man mit '/etc/netstart' nicht alle Netzdienste neu auf und liest gleichzeitig die jeweiligen Konfiguratinen ein?

Code:
# This file is NOT called by any of the other scripts - it has been
# obsoleted by /etc/rc.d/* and is provided here only for user
# convenience (if you're sitting in single user mode and wish to start
# the network by hand, this script will do it for you).
#

. /etc/rc.subr

load_rc_config 'XXX'
/etc/rc.d/pccard start
/etc/rc.d/devd start
/etc/rc.d/hostname start
/etc/rc.d/ipmon start
/etc/rc.d/ipfilter start
/etc/rc.d/ipnat start
/etc/rc.d/ipfs start
/etc/rc.d/sppp start
# /etc/rc.d/atm1 start
# . /etc/rc.d/atm2.sh start
# . /etc/rc.d/atm3.sh start
/etc/rc.d/netif start
/etc/rc.d/ipsec start
/etc/rc.d/dhclient start
/etc/rc.d/isdnd start
/etc/rc.d/ppp start
/etc/rc.d/ipfw start
/etc/rc.d/ip6fw start
/etc/rc.d/network_ipv6 start
/etc/rc.d/routing start
/etc/rc.d/mroute6d start
/etc/rc.d/route6d start
/etc/rc.d/mrouted start
/etc/rc.d/routed start
/etc/rc.d/nisdomain start

exit 0

Und so wie ich das verstehe, hat hosts(5) sehr wohl was mit DNS zu tun.

Wenn ein Programm /etc/nsswitch.conf' ausliest, würde es dann vielleicht
die Nameserver-Abfrage erst lokal ausführen, was aber, wie jtsn richtig bemerkt hat, bei host(1) nicht der Fall ist, da es nicht gethostbyname(3) nutzt.

Was bei
Code:
$ host localhost $nameserver
raus kommt, scheint provider-abhängig zu sein:

Arcor:
Code:
host localhost 195.50.140.178                                                                                         [11:55:40 on 06-08-18]
Using domain server:
Name: 195.50.140.178
Address: 195.50.140.178#53
Aliases:

Host localhost not found: 3(NXDOMAIN)

Swisscom/Bluewin:
Code:
host localhost 195.186.1.111                                                                                          [11:56:00 on 06-08-18]
Using domain server:
Name: 195.186.1.111
Address: 195.186.1.111#53
Aliases:

localhost has address 127.0.0.1
Using domain server:
Name: 195.186.1.111
Address: 195.186.1.111#53
Aliases:

localhost has IPv6 address ::1
Using domain server:
Name: 195.186.1.111
Address: 195.186.1.111#53
Aliases:
 
Zuletzt bearbeitet:
Zurück
Oben