• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] 127.0.0.1 in /etc/hosts 'richtig' konfigurieren

wbwb

Hacker
Hallo,

ich versuche auf einer neu aufgesetzten 42.3 Kiste OpenMPI Programme zum laufen zu bringen. Dabei sind zwei Fragen mit Namensauflösung aufgetaucht:
  • es gab anfänglich gethostbyname failed Fehler die mich annehmen ließen, das localhost nicht als Name aufgelöst wird. Ich habe daraufhin meine /etc/hosts Datei geändert von anfänglich
    Code:
    127.0.0.1       localhost
    ::1             localhost ipv6-localhost ipv6-loopback
    ....
    auf
    Code:
    127.0.0.1       localhost  Name.Meines.Rechners.de
    ::1             localhost ipv6-localhost ipv6-loopback
    ....
    Ich weiß nicht genau warum ich das gemacht habe - war nur so ein Mittelwert aus ca. 10 Dr. Google Rezepten ;)

    Darf/kann/soll/muss man so etwas machen?

    Auf jeden Fall hat diese Veränderung von /etc/hosts mein Problem mit der OpenMPI gelöst.
  • Ich bekomme
    Code:
    nslookup localhost
    Server:		xxxxxx
    Address:	yyyyyy
    ** server can't find localhost: REFUSED
    Ist das richtig, dass ich den localhost nicht auflösen kann/darf? Wenn nicht, wie ändere ich das?

wbwb
 
OP
W

wbwb

Hacker
Verstehe die Frage nicht? Das hängt doch vom dhcp server ab? Meine IP Adresse kann kann irgendetwas sein und /sbin/ifconfig sagt 'jetzt' etwas anders als 'morgen'?

Meine Frage ist einfach nur, ob es üblich ist den Maschinennamen explizit und händisch in der /etc/hosts mit dem loopback zu verbinden ... oder ob das nicht üblich ist.

(Wahrscheinlich könnte ich in die /etc/hosts für mein Problem auch irgendeine andere loopback Adresse, z.B. die 127.0.0.2 mit dem Maschinennamen verbinden ...)
 

marce

Guru
nslookup geht nicht gegen die /etc/hosts sondern fragt den DNS-Server ab. Und der kann "localhost" garantiert nicht auflösen - wird es auch niemals können und soll das auch gar nicht.

Daß "der Rest" mit Einträgen in der hosts-Datei funktioniert hängt daran, daß alle anderen Tools eben zuerst die /etc/hosts auswerten (sehr vereinfacht und verallgemeinernd).

Ansonsten spricht nichts dagegen, in die /etc/hosts alles mögliche als Hostnamen reinzuschreiben und auf 127.0.0.1 oder jede beliebige andere IP zu verlinken - solange Du den Überblick nicht verlierst und ggf. vergisst, daß ein entsprechender Eintrag gesetzt ist.
Bei mehreren PCs und einigen Einträgen ist es dann evtl. irgendwann sinnvoll, über einen eigenen DNS-Server nachzudenken...
 
wbwb schrieb:
Verstehe die Frage nicht? Das hängt doch vom dhcp server ab? Meine IP Adresse kann kann irgendetwas sein ... 127.0.0.2 mit dem Maschinennamen verbinden ...)

Du verstehst die Frage nicht? Die war doch ganz einfach:
Welche IP hat dein Rechner?

wbwb schrieb:
ich versuche auf einer neu aufgesetzten 42.3 Kiste OpenMPI Programme zum laufen zu bringen.

Wenn du mit OpenMPI arbeitest, dann geht es in Richtung MPI_cluster oder wenigstens nach MPI messages über InfiniBand.
Mit DHCP requests nach Irgendwohin wirst du keinen Erfolg haben. Deshalb sollte dein /etc/hosts folgend aussehen:
Code:
127.0.0.1	localhost
192.169.31.31	wbwb.domain.lan	wbwb
Um das zu testen, verwendest du hostname, weil hostname garantiert nach /etc/nsswitch.conf vorgeht.
# hostname
muß ergeben wbwb
# hostname -d
ergibt domain.lan
# hostname -f
wbwb.domain.lan

Nur wenn das richtig funktioniert, liefern auch gethostbyname(), gethostbyaddr(), etc. die richtigen Resultate
OpenMPI ist sehr strikt und deshalb sind hostname, domainname und FQDN einzuhalten.
Verwendest du einen DNS in deinem lokalen Netz, dann beschränkt sich das obige /etc/hosts ausschließlich auf die erste Zeile.
hostname, domain und FQDN werden dann von diesem geliefert.

Gruß
Gräfin Klara
 
OP
W

wbwb

Hacker
Hi,

Gräfin Klara schrieb:
Wenn du mit OpenMPI arbeitest, dann geht es in Richtung MPI_cluster oder wenigstens nach MPI messages über InfiniBand.
Nein, nein ... ;) (Auf unserem cluster laufen mein codes bestens - und das gehört wohl auch nicht in dieses Forum ;) )
Ich will nur auf den paar Cores meines Laptops (Leap 42.3) mit ein paar Prozessen ein bisschen debuggen.

Deshalb vielleicht noch mal anders gefragt:
  • Wenn ich auch meinem Laptop in yast->network settings unter hostname 'aaa' und unter domain name 'bb.cc.dd' stehen habe
  • und dann in die /etc/hosts eine Zeile
    Code:
    127.0.0.2 aaa.bb.cc.dd
    rein schreibe,
ist das erlaubt?

Wenn ich das mache, gibt MPIs gethostbyname() auf meinem Laptop zumindest keine Fehler mehr aus und einfache MPI Testprogramme funktionieren. Aber - wie gesagt - ich weiß eben nicht, ob der oben nachgefragte Eintrag in meine /etc/hosts erlaubt ist? Vielleicht weißt die Tatsache, dass ich so etwas machen muss ja auch eher auf einen Fehler in meiner Konfiguration hin? Usw., usw.?

wbwb
 
wbwb schrieb:
Hi,

Gräfin Klara schrieb:
Wenn du mit OpenMPI arbeitest, dann geht es in Richtung MPI_cluster oder wenigstens nach MPI messages über InfiniBand.
Nein, nein ... ;) (Auf unserem cluster laufen mein codes bestens - und das gehört wohl auch nicht in dieses Forum ;) )
Ich will nur auf den paar Cores meines Laptops (Leap 42.3) mit ein paar Prozessen ein bisschen debuggen.
ok

wbwb schrieb:
Deshalb vielleicht noch mal anders gefragt:
  • Wenn ich auch meinem Laptop in yast->network settings unter hostname 'aaa' und unter domain name 'bb.cc.dd' stehen habe
  • und dann in die /etc/hosts eine Zeile
    Code:
    127.0.0.2 aaa.bb.cc.dd
    rein schreibe,
ist das erlaubt?
127.0.0.2 aaa.bb.cc.dd
ist falsch.

Wenn du auf DHCP verzichtest, also beim Start kein query absetzt und eine statische IP wählst, dann mach es so wie ich es oben beschrieben habe.

Du willst nicht auf DHCP verzichten?
Über DHCP beziehst du den domainnamen. Der wird gesetzt und du hast damit also nichts mehr zu tun.
Über DHCP beziehst du auch den hostnamen, sofern der server so konfiguriert ist. Er schickt dir den Namen auf deine MAC.

Ist nicht der Fall?
Dann brauchst du einen DHCP hook. Den sollte der Distributor eigentlich zur Verfügung stellen.
Dieser hook (script) setzt beim Empfang der DHCP Nachricht den Hostname und dann steht er zur Verfügung,

Tut er nicht?
Pffffh

Dann mußt du den hostnamen bei Empfang der DHCP Information im hook selbst eintragen.
Das geht mit:
# hostname -v klarissa
oder direkt in den kernel
# echo "klarissa" > /proc/sys/kernel/hostname
oder auf Standard systeme
# echo "klarissa" > /etc/hostname
oder
du schreibst ihn gemeinsam mit localhost in /etc/hosts
Code:
127.0.0.1	localhost
192.169.31.31	klarissa.bb.cc.dd	klarissa

wbwb schrieb:
Wenn ich das mache, gibt MPIs gethostbyname() auf meinem Laptop zumindest keine Fehler mehr aus ...

gethostbyname()
macht ein query, zuerst schaut er in lokale files dann DNS, oder umgekehrt, je nach Systemkonfiguration
Wenn also
gethostbyname("klarissa")
dann bekommt er in meinem Beispiel 192.169.31.31 zurück.
In deinem Fall erhält er 127.0.0.2.
Er meckert zwar nicht, aber das ist sicher nicht deine IP, also falsch.

Der Hostname ist nicht wirklich trivial.
Stell die vor, du hast 2 Netzwerkkarten.
Willst du nun einen globalen Hostname oder 2 Hostname je IP?
Wenn global, dann trage ihn wie oben beschrieben mit hostname oder direkt in den kernel ein.
Wenn hostname je IP, dann trage das ein in /etc/hosts,
also
Code:
127.0.0.1	localhost
192.168.31.20	klarissa.bb.cc.dd	klarissa
192.189.31.21	paulinchen.bb.cc.dd	paulinchen

Alles klar?
 
OP
W

wbwb

Hacker
Gräfin Klara schrieb:
Nein - sonst würde ich hier ja nicht dusselig fragen ;)
Ich versuche einfach mal gaaanz langsam, der Reihe nach durch deine Antworten durch zu gehen. Mal sehen wann Du keine Lust zum Antworten mehr hast. Ich fange erst mal mit dem einfachsten an.
Gräfin Klara schrieb:
Code:
127.0.0.2 aaa.bb.cc.dd
ist falsch.
Das habe ich mir natürlich nicht aus den Fingern gesogen, sondern (i) man findet diesen Vorschlag in diversen MPI-Foren und (ii) ich habe diese Einstellung von meinen letzten 3 Laptops der letzten ~10 Jahre 'artig' tradiert und habe damit nie Probleme mit DHCP oder ähnlich fürchterlichen Dingen die Du beschreibst gehabt und ich hänge täglich in zig unterschiedlichen Netzwerken drin ... das sagt natürlich alles nix und ist bisher auch keine Frage, sondern nur eine Feststellung.
Die erste Frage kommt jetzt
Gräfin Klara schrieb:
Du willst nicht auf DHCP verzichten?
Über DHCP beziehst du den domainnamen. Der wird gesetzt und du hast damit also nichts mehr zu tun.
Über DHCP beziehst du auch den hostnamen, sofern der server so konfiguriert ist. Er schickt dir den Namen auf deine MAC.
Natürlich verzichte ich nicht auf DHCP und dass man seinen hostname/domainname über DHCP bekommen sollte, lese ich auch immer wieder. So viel zur Theorie. In der Praxis aber musste ich bisher bei jeder SuSE Installation die ich privat gemacht habe einen hostname und einen domainname eingeben und die selbigen stehen nachher, solange ich mich daran erinnern kann unter yast->network settings in hostname und in domainname und der Befehl hostname spuckt dann natürlich 'hostname.domainname' aus und das hat mir alles noch nie Probleme mit DHCP bereitet.

Wie soll man das denn bitte mit Deiner Aussage über DHCP zusammenbringen? Könntest Du mir dass bitte erst einmal entwirren?

wbwb
 

spoensche

Moderator
Teammitglied
Folgendes ist falsch:
Code:
127.0.0.1 localhost dein.rechner

Es muss
Code:
127.0.0.1 localhost localhost.localdomain

lauten.
 

marce

Guru
Doofe Frage: Was ist daran falsch?

Einträge wie "127.0.0.1 localhost mein.pc dreckskiste test.domain.de" sind völlig valide und keinerlei Problem.
 

stka

Guru
Weil 127.0.0.1 IMMER nur auf localhost zeigt. Steht auch in den RFCs 2606 und 6761. Und aus diesem Grund sind alle anderen Einträge eben NICHT valide.
Hast du keinen DNS-Server kannst du deine Rechner in deinem Netz mit dem Namen und der IP zusätzlich eintragen.
 

spoensche

Moderator
Teammitglied
127.0.0.1 ist explizit reserviert für den Hostnamen localhost bzw. localhost.localdomain. Für alle anderen Namensgebungen ist die 127.0.1.1 zu verwenden.
Die 127.0.1.1 wird z.B. bei der IP Zuweisung mittels DHCP verwendet.
 
OP
W

wbwb

Hacker
Gräfin Klara schrieb:
Mit oder Ohne DNS im LAN?
(i) Jetzt bin ich gerade in einem WiFi
(ii) und DNS(?) ... na, ja also ich bekomme
Code:
~>nslookup www.wikipedia.org
Server:		192.168.0.1
Address:	192.168.0.1#53
Name:	www.wikipedia.org
Address: 91.198.174.192
dementsprechend ist der WiFi Router (192.168.0.1) wohl gerade der DNS Server, was auch hiermit übereinstimmt
Code:
~>cat /etc/resolv.conf
blabla
search bb.cc.dd   <- die von mir bei der Installation eingetragene domain, die so auch im yast steht
nameserver 192.168.0.1
So. Bin auf Deine Antwort auf meine obige 'erste Frage' gespannt.
.
.
spoensche schrieb:
Es muss
Code:
127.0.0.1 localhost localhost.localdomain
lauten.
Hmm, diese Zeile führt genau zu demselben Fehler der OpenMPI wie ursprünglich gepostet.
.
.
marce schrieb:
Einträge wie "127.0.0.1 localhost mein.pc dreckskiste test.domain.de" sind völlig valide und keinerlei Problem.
Abgesehen davon, dass mein Rechner natürlich viel netter heißt ;) , ist es genau ein solcher Eintrag, der die OpenMPI fehlerfrei arbeiten lässt. Ich habe zwar inzwischen eine zusätzliche Zeile
Code:
127.0.0.2   meinrechnername.meine.domä.ne
in die /etc/hosts rein geschrieben und die 127.0.0.1 Zeile so gelassen wie ursprünglich - aber 127.0.0.2 ist ja auch noch loopback.

Und da habe ich jetzt doch noch die Frage: wenn marce seinen Rechner und Domäne einfach mein.pc dreckskiste test.domain.de nennen würde und das auch noch fest in die /etc/hosts schreiben würde, wie passt das mit Gräfin Klaras Aussage zusammen, dass solche Namen alle vom DHCP kommen (von dem ich annehme, dass er bei marce auch funktioniert)?

wbwb
 

marce

Guru
stka schrieb:
Weil 127.0.0.1 IMMER nur auf localhost zeigt. Steht auch in den RFCs 2606 und 6761. Und aus diesem Grund sind alle anderen Einträge eben NICHT valide.
spoensche schrieb:
127.0.0.1 ist explizit reserviert für den Hostnamen localhost bzw. localhost.localdomain. Für alle anderen Namensgebungen ist die 127.0.1.1 zu verwenden.
Die 127.0.1.1 wird z.B. bei der IP Zuweisung mittels DHCP verwendet.
Ich mag mich irren, aber beide erwähnten RFCs sagen nur was zu localhost und localdomain - aber nicht zu 127.0.0.1.
Es wird dort auch nirgends eine alternative Zuordnung anderer Namen auf die 127.0.0.1 verboten - eher andersherum - 127.0.0.1 mappt zwingend auf localhost - es wird aber nicht verboten, das "rsnlgmpf" auf 127.0.0.1 mappt.

Daß 127.0.1.1 als "Alternative" verwendet wird ist wohl eine Debian-Spezialvariante. Macht ja nichts, ist ja in 127.0.0.1/8 enthalten.

-> ich bleibe bei meiner Aussage.

(wäre ja auch verwunderlich, wenn viele OS bei der Standard-Installation sich nicht RFC-Konform verhalten würden, indem sie in die hosts-Datei den vom User vergebenen Hostnamen auch auf die 127.0.0.1 eintragen / mappen)
 

stka

Guru
127.0.0.1 und der Mist von Debian mit der 127.0.1.1 auf den Hostname lässt dich spätestens bei einem Samba und AD verzweifeln weil der Join nicht klappt. Aber mach was du willst, des Menschens Wille ist sein Himmelreich ;-)

Also 127.0.0.1 ist und bleibt localhost. alles andere kann man machen, ist aber dann Kacke :D
 

marce

Guru
stka schrieb:
Also 127.0.0.1 ist und bleibt localhost.
Eher anders herum - oder ergänzend
localhost ist und bleibt 127.0.0.1 (und nichts anderes)
... während die RFCs zu 127.0.0.1 und den zugeordneten Hosteinträgen sehr offen sind. localhost muss, alles andere kann.

(ob man die man-Page der hosts-Datei als relevanten Doku-Eintrag hier verlinken sollte / kann bin ich mir nicht so sicher - zumindest auf Linux-basierenden Systemen ist das aber auch "relevant" - mag sein, daß andere OS da restriktiver agieren)

Was natürlich klar sein sollte ist, daß man bei irgendwelchen Mappings sehr darauf aufpassen muss, daß sich da nichts mit anderen, externen "DNS-Services" beißt (wenn man die hosts-Datei als solchen bezeichnen will)
 
wbwb schrieb:
Natürlich verzichte ich nicht auf DHCP und dass man seinen hostname/domainname über DHCP bekommen sollte, lese ich auch immer wieder. So viel zur Theorie. In der Praxis aber musste ich bisher bei jeder SuSE Installation die ich privat gemacht habe einen hostname und einen domainname eingeben und die selbigen stehen nachher, solange ich mich daran erinnern kann unter yast->network settings in hostname und in domainname und der Befehl hostname spuckt dann natürlich 'hostname.domainname' aus und das hat mir alles noch nie Probleme mit DHCP bereitet.

Wie soll man das denn bitte mit Deiner Aussage über DHCP zusammenbringen? Könntest Du mir dass bitte erst einmal entwirren?

wbwb
Ok, ich gehe nun davon aus, dass der DHCP Server richtig konfiguriert ist und im LAN ein DNS zur Verfügung steht,
In den Eingabemasken, die dir Suse zur Verfügung stellt, sind Hostname und Domainname eingetragen.
MHS (Eingabemaske Hostname) steht "paulchen"
MDN (Eingabemaske Domainname) steht "suse.lan"

Du fährst nun deinen Rechner im Netz hoch, MHS, MDN und jede eventuell konfigurierte IP werden vom System als NICHT GÜLTIG markiert, da du DHCP ausgewählt hast.
Es wird nun ein vom Distributor gestelltes script ausgeführt, dass einen DHCP client startet. Dieser setzt einen DHCP broadcast ab.
Das geht auch nur auf diese Weise, weil noch keine IP oder andere Informationen über dieses Netz zur Verfügung stehen.

Dieser DHCP broadcast - er besteht aus deiner MAC und der Information "Hallo,ich bin neu hier" - wird von allen Rechnern im Netz empfangen aber auch von allen ignoriert - außer von einem, dem DHCP Server. Der sammelt nun die Informationen für dich zusammen. Der Domainname ist simpel. Der DHCP Server ist ja zuständig für ein Subnet, z.B. 192.168.96.32/27. Das wären 30 Hosts und alle diese Hosts bekommen denselben Domainnamen, sind also alle Mitglied in dieser domain. Danach schaut er in seinen pool an IP Adressen und holt sich eine heraus, die er noch nicht vergeben hat. Mit dieser gefundenen IP wendet er sich an den DNS und fragt dort mit gethostbyaddr(IP) an, welcher hostname dieser IP zugegeteilt ist. Das kann natürlich schief gehen, weil nicht alle IPs am DNS eingetragen sein müssen. Die Hostname Information ist also keineswegs immer vorhanden. Hat der DHCP Server die Infos beisammen, sendet er sie als DHCP Broadcast in das Netz, natürlich gemeinsam mit deiner MAC. Alle Rechner im Netz empfangen dieses Paket, alle Rechner werfen es weg - außer dein Rechner - der DHCP client lauscht ja noch immer. Dieser erkennt die MAC und empfängt dieses Datenpaket. So ein Paket ist einfach aufgebaut und besteht aus:
a,) Deine neue IP Adresse
b,) Netzwerk Maske
c.) Gefault Gateway Adresse
d.) DNS Server Adresse
e.) Domainname
f.) Hostname ?? oder auch nicht
und noch ein paar anderer Sachen, die hier aber unwichtig sind

Mit dem Empfang dieses Paketes hat der DHCP client seine Arbeit getan. Er übergibt diese Daten an das script das ihn gestartet hat und verabschiedet sich.
Nun liegt es am script (DHCP hook) des Distributors, wie mit diesen Daten umgegangen wird.

a,b,c wird mit ifconfig oder einem anderen Programm in den kernel geschrieben, damit wird deine Netzwerkkarte konfiguriert.
d und e werden in /etc/resolv.conf geschrieben:
Code:
search domainname_vom_dhcp
nameserver DNS_IP_adresse_vom_dhcp
Hier gilt: MDN wird überschrieben oder als ungültig markiert, wenn MDN nicht DHCP_domainname!
Ist das nicht der Fall, dann ist das ein bug des Distributors,

Der hostname ist speziell. Ist er vorhanden oder nicht?
Ist er vorhanden, dann ist nur dieser gültig. Ist MHS nicht DHCP_hostname, dann wird MHS überschrieben oder als ungültig markiert
Ist das nicht der Fall, dann ist das ein bug des Distributors,
Das script schreibt in /etc/hosts
Code:
127.0.0.1	localhost
Mehr ist da nicht! Da der DHCP_hostname gültig ist, wird er vom DNS, aber nicht aus diesem file bezogen.
gethostbyname() wird also funktionieren.

War Hostname nicht im DHCP_Datenpaket, dann schreibt das script in /etc/hosts
Code:
127.0.0.1	localhost
IP_vom_DHCP	paulchen.domainname_vom_dhcp	paulchen
Damit steht dort der hostname aus MHS und die domain aus dem DHCP Paket.
gethostbyname() wird so funktionieren.

Wie du nun sehen kannst, ist der hostname in jedem Fall der IP_vom_DHCP zugeordnet,
entweder über den DNS oder über das hosts file.
In keinem Fall wird der hostname irgendwo innerhalb vom loopback (127.0.0.0/8) gesetzt.
Weiters wirst du nun erkennen, dass bei DHCP es NICHT notwendig ist, irgendwelche Änderungen an /etc/hosts vorzunehmen.
DHCP und das script des Distributors regeln das alles wie beschrieben. Dazu ist das DHCP ja da!

Noch ein Hinweis:
In routers arbeiten meist Mini_DHCP_server, die NUR a,b,c (siehe oben) zur Verfügung stellen.
In diesem Fall würde /etc/hosts richtigerweise bestehen aus IP_vom_DHCP und MHS und MDN,
Darüber sollten wir hier jedoch nicht diskutieren, weil die Verwendung von DHCP aus routern jeder Sicherheitsüberlegung widersprechen.

Gruß
Gräfin Klara
 
OP
W

wbwb

Hacker
Erst mal vielen Dank für all die Infos!
.
Gräfin Klara schrieb:
So ein Paket ist einfach aufgebaut und besteht aus:
a,) Deine neue IP Adresse
b,) Netzwerk Maske
c.) Gefault Gateway Adresse
d.) DNS Server Adresse
e.) Domainname
f.) Hostname ?? oder auch nicht

a,b,c wird mit ifconfig oder einem anderen Programm in den kernel geschrieben, damit wird deine Netzwerkkarte konfiguriert.
Ok. Also a,b,c wird vom OS richtig behandelt, sonst wäre ja nicht mal die Netzwerkkarte richtig konfiguriert und ich würde hier kaum im Netz sein.
.
Gräfin Klara schrieb:
d und e werden in /etc/resolv.conf geschrieben:
Code:
search domainname_vom_dhcp
nameserver DNS_IP_adresse_vom_dhcp
Nein. Bei mir steht hier
Code:
search MDN
nameserver DNS_IP_adresse_vom_dhcp
Bevor wir uns jetzt darauf zurückziehen, dass es
Gräfin Klara schrieb:
ein bug des Distributors
ist, möchte ich einen Schritt zurück und fragen, ob es irgend eine Möglichkeit für mich gibt festzustellen, ob der DHCP client Deine beiden Items: e.) Domainname und f.) Hostname nach dem DHCP broadcast überhaupt aus dem Netzt zurück bekommt und wenn ja, wo diese Info im System evtl. noch außer in der /etc/resolv.conf zu finden wären?
.
Gräfin Klara schrieb:
Der hostname ist speziell. Ist er vorhanden oder nicht?
Ist er vorhanden, dann ist nur dieser gültig. Ist MHS nicht DHCP_hostname, dann wird MHS überschrieben oder als ungültig markiert
Ist das nicht der Fall, dann ist das ein bug des Distributors,
Das script schreibt in /etc/hosts
Code:
127.0.0.1	localhost
Mehr ist da nicht! Da der DHCP_hostname gültig ist, wird er vom DNS, aber nicht aus diesem file bezogen.
gethostbyname() wird also funktionieren.

War Hostname nicht im DHCP_Datenpaket, dann schreibt das script in /etc/hosts
Code:
127.0.0.1	localhost
IP_vom_DHCP	paulchen.domainname_vom_dhcp	paulchen
Wenn ich Dich hier richtig verstehe, dann bedeutet es im Umkehrschluss, dass wenn ich in der /etc/hosts keine Zeile der Art
Code:
IP_vom_DHCP	paulchen.domainname_vom_dhcp	paulchen
habe, dass dann der DHCP client einen DHCP_hostname bekommen haben müsste?
(i) ich habe im /etc/hosts keine solche Zeile,
(ii) das Kommando hostname oder uname -n ergibt bei mir einfach MHS.MDN und
(iii) in YAST gäbe es in den Netzwerkeinstellungen im Reiter Hostname/DNS, wo man Hostnamen über DHCP setzen evtl. konfigurieren könnte - aber der ist 'aus-ge-graut'.

Bisheriges Fazit: weder weiß ich ob ich einen domainname_vom_dhcp oder einen DHCP_hostname bekomme, und wenn ja, dann wird davon rein gar nix in /etc/resolv.conf oder /etc/hosts rein geschrieben.

Jetzt brauche ich dann wohl weitere Infos?

Gruß wbwb


PS.: ich nutze seit mindesten einer Dekade mit mindestens 3-4 OpenSuse distros auf mehreren Laptops im wesentlichen die selbe Netzwerkkonfig. und das sind einfach nur die Standard-Vorgaben von SuSE. Anlass meiner Frage war ja nur ob dieses Reinschreiben von 127.0.0.2 meinrechnername.meine.domä.ne in die /etc/hosts verboten ist. ... wenn ich Dich aber bis hierhin richtig verstanden habe, müsste ich jetzt annehmen, dass OpenSuSEs default Netzwerkkonfiguration im DHCP Betrieb fehlerhaft ist ... hmmm
 
>> dass OpenSuSEs default Netzwerkkonfiguration im DHCP Betrieb fehlerhaft ist ... hmmm

Das kannst du nur wissen, wenn du einen dhcp broadcast ins Netz sendest
Beispiel:
# nmap --script broadcast-dhcp-discover -e enp2s2 .... oder wie immer dein device sich nennt
 
Oben