PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kann localhost nicht auflösen



DonVito
25.11.03, 22:31
hi leute,
mal wieder brauche ich euere Hilfe.
Ich sitze an meinem Laptop IBM T22 mit Suse 9.0.

Problem:
z.B. in den Browser localhost:8080 eingegeben und nix passiert - der sucht. aber 127.0.0.1:8080 und alles ist ok.
Hintergrund:
Es läuft der JBoss und ich entwickle an EJBs. Das Problem hat aber mit JBoss absolut nichts zu tun, es ist eine Systemeinstellung.
Mit ssh localhost bzw. ssh 127.0.0.1 habe ich genau das selbe Problem wie oben, nämlich, dass er im ersten Fall sehr lange (ca. 3 min) sucht.

in der /etc/hosts steht der entsprechende localhost Eintrag, irgendwas mit:

127.0.0.1 localhost
...

muss event. irgendein Dienst/ Server bei mir laufen, irgendwo eine zusätzliche Konfigdatei?
Unter Yast hab ich unter "Hostnamen" auch localhost 127.0.0.1 gesehen, also nix auffälliges.
Man muss dazu sagen, dass eth0 statisch auf 192. ... konfig. ist aber das dürfte ja nix mit localhost zu tun haben, habe sogar mal in die /etc/hosts
192.168. ... localhost

bräuchte also dringend euere Hilfe, vielen dank im voraus.

gruss
dv

Benno
25.11.03, 22:42
Versuche mal

http://localhost:80/index.html

Benno
25.11.03, 22:51
Starte mal den Apache .
Wenn Du das noch nicht gemacht hast, in der Console als su anmelden und rcapache start eingeben.
Dann nochmal mit der angegeben Adresse
http://localhost:80/index.html
im Browser aufrufen.

ObiJan
25.11.03, 22:53
aber ohne den apache wäre es doch auch mit der IP nicht gegangen, oder?

Benno
25.11.03, 22:55
Original geschrieben von ObiJan
aber ohne den apache wäre es doch auch mit der IP nicht gegangen, oder?
Das kann ich Dir nicht sagen.
Ich weiss ja nicht ob Du eine PhpSeite gesehen hast.
Was macht er denn wenn Du versuchst den Apache zu starten.
Schreib mir das mal

ObiJan
25.11.03, 23:00
Hi,

hier jetzt aber nicht die User durcheinander bringen. :) Bei mir läuft Apache sehr gut. Ich meine nur, daß der Local-Horst nicht existiert, wenn man keinen Webserver am laufen hat. Auch die lokale Adresse 127.0.0.1 für den Local-Horst dürfte dann nicht existieren. Nix für Ungut!

Gruß
Obi

Benno
25.11.03, 23:10
@obiJan
Entschuldigung habe Dich verwechselt.
Du hast natürlich recht.
Mir schien aber obiges etwas konfuss zu sein. Als wenn Don Vito nicht wüßte das man den Apache starten muß oder nicht.
Deswegen wollte ich nur definitiv wissen ob der Apache auch gestartet ist.
Manchmal ist es ja so das Leute hin und her springen, irgenwo etwas lesen und dann ein paar Schritte tun, die sie dann nicht mehr nachvollziehen können.
So kann es passieren das sie zwischenzeitlich den apache gestopt haben, auch irgendwelchen Gründen. Wie auch immer.
Wäre gut zu erfahren wie der Status vom Apache Server ist.

ObiJan
26.11.03, 00:45
ja stimmt - der apache status ist schon wichtig ("rcapache status" als root bringt das Ergebnis). Da er aber nach Eingabe der IP 127......1 auf die Startseite kommt, scheint der Indianer zu laufen, was? Die IP-Adresse 127.0.0.1 steht ja für den localhost. Die verschiedenen Ports laufen ja auch (der Don schrieb was von :8080).

Juht, aber wie kommen wir hier weiter? :)

Bis denne, wa

Obi

PS: Dir sei verziehen wegens der Verwechslung. :)
PPS: Wäre nicht so schlecht, wenn sich der Don mal melden würde, ob er das Problem noch hat oder irgendwie gelöst hat.

D_O_Z_E_R
26.11.03, 16:51
mahlzeit,

öhm wenn ich das hier richtig verstehe, soll localhost nur existieren wenn ein
server läuft??

wäre mir aber neu,localhost ist eigentlich auf jedem System ob mit oder ohne Server zu Hause. Bin ein wenig verwirrt....

ObiJan
26.11.03, 17:15
na, dann schalte mal Deinen Apache (so denn einer läuft) ab und gib in de Browser http://localhost ein. Dann kannste den Apache wieder einschalten und erneut probieren.

Immer noch verwirrt?

Gruß
Obi

Cosmo
26.11.03, 17:42
Da möchte ich noch ergänzen:
der Port 80 muss nicht angegeben werden da über die Adresse "http"
klar ist welcher dienst gefordert ist (es sei denn die httpd.conf wurde geändert)
also reicht "http://localhost/"
oder "http://127.0.0.1/"
Die Adresse bei SSH würde demzufolge lauten 127.0.0.1:22:

Wenn man allerdings einen ZOPE server installiert und zu laufen hat kommt man sogar auf dem Port 8080 zu einem Ergebnis

Virus2500
26.11.03, 18:36
nur so ... was steht in deiner datei /etc/hosts ?

'
x.x.x.x backup
127.0.0.1 localhost
'
sollt so aussehen nur statt x.x.x.x deine ip

D_O_Z_E_R
26.11.03, 18:47
na klar kann ich net über localhost auf http connecten wenn kein server läuft!!
hab es halt nur so verstanden,daß ohne server gar kein localhost vorhanden ist,das ist ja Unsinn.
hab das dann wohl falsch interpretiert...

DonVito
26.11.03, 21:43
hi leute,

danke für die vielen Antworten.

also, vielleicht habe ich ja das Problem unzulänglich beschrieben.
vergesst kurz mal den Apache oder sonstige Server.
Folgendes Szenario:

ssh 127.0.0.1 --> alles ist ok, ich kriege nen LoginPromt auf meiner eigenen Maschiene.

ssh localhost ---> nix passiert und nach ner weile sag er, dass er localhost nicht kennt.

Daraus folgt, dass er localhost nicht auflösen kann. ob man localhost hat oder nicht, hat nix mit servern zu tun - nur, dass man beim Apache dann auch irgendwas im browser sieht.

also liegt das Problem in der Zuordnung 127.0.0.1 --> localhost, aber wie bereits erwähnt, steht dies schon in der /etc/hosts, also die Frage:

woran liegts?

gruss
dv

Virus2500
26.11.03, 23:39
Original geschrieben von DonVito

also liegt das Problem in der Zuordnung 127.0.0.1 --> localhost, aber wie bereits erwähnt, steht dies schon in der /etc/hosts, also die Frage:


Sorry my fault. Hab mal wieder nicht richtig gelesen...

DonVito
28.11.03, 13:09
Ehm, haette da vielleicht irgendjemand noch ne Idee?

LKH
28.11.03, 13:24
Hi,

mach mal ein "nslookup localhost" (oder dig bzw. host). bekommst du als Ergebnis die IP 127.0.0.1? Wenn nicht schau mal in die "/etc/host.conf". Da wird die Reihenfolge der Namensauflösung festgelegt. Dort sollte "order hosts, bind" drin stehen (erst in /etc/hosts schauen, dann den Nameserver fragen).

Sicherheitshalber dann noch mal ein Blick in die /etc/nsswitch.conf: dort müsste "hosts: files dns" drin stehen - gleicher Grund wie oben.

Hoffe es hilft,

DonVito
01.12.03, 02:41
hi LKH,
danke für die tipps. also ein "nslookup localhost" bringt:

... //hier kommen server-ip u.ä. vom Inet-Provider
** server can't find localhost: NXDOMAIN


/etc/host.conf:
order hosts, bind
# The following options are used by the resolver library:
multi on
spoofalert off
------------------------------------------------------
/etc/nsswitch.conf:

passwd: compat
group: compat

hosts: files dns
networks: files dns

services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files

bootparams: files
automount: files nis
aliases: files
--------------------------------------------------------


also soweit die Dateien, ich denke die sind vom Inhalt her ok. Wenn ich z.B. einen
"host localhost mache" -->
host localhost
Host localhost not found: 3(NXDOMAIN)

naja und letztendlich die /etc/hosts:
127.0.0.1 localhost
# special IPv6 addresses
::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

Ich hab absolut keine Ahnung woran es liegen könnte, ich wäre sehr dankbar für weitere Hinweise.
gruss
dv

DonVito
01.12.03, 02:43
achja, bevor ich's vergesse, ein

ping localhost

funktioniert ganz normal.

LKH
01.12.03, 10:49
Hi,

den ganze Thread durchzulesen verwirrt mehr als es nutzt. ;) Also wenn der ping geht, geht auch lokal die Namensauflösung. Wenn dann ein Dienst nicht geht (wie ssh) dann ist dort anzusetzen. Also wirf mal einen Blick in die Konfigurationsdatei(en) des betreffenden Dienstes.

Cosmo
01.12.03, 11:44
Ich frag mal einfach zwischendurch "sind irgendwelche komischen Firewallregeln gesetzt?"

wenn ja mach mal "iptables -F" um erstmal alle zu "flushen"

Falls nicht lohnt auf alle fälle auch mal der Blick in die /etc/hosts da müssen nämlich die via File aufzulösenden Namen drinstehen:

127.0.0.1 localhost

//hatt sich wohl erledigt steht ja im Anfangsposting drinne
//für mich hiermit eine sechs und setzen :(

vielleicht habe ich das hier aber auch nicht genau gelesen?

DonVito
01.12.03, 14:16
hi,

ich geb's auf. Ich werde heute, wenn ich daheim bin nochmal die Firewall checken/ abschalten, die Konfigdateien durchgehen, wenn's nicht gehen sollte, werde ich ein fuer alle mal auf debian umsteigen.
Frustrierend ist die Tatsache, dass ich dieses und einige andere Probleme erst seit dem Upgrade auf Suse 9.0 habe. Vorher (Suse 8.2) lief alles einwandfrei.


moechte euch nochmals fuer die hilfe und die Tipps danken, gruss
dv

Benno
01.12.03, 21:08
Original geschrieben von DonVito
hi LKH,
danke für die tipps. also ein "nslookup localhost" bringt:

... //hier kommen server-ip u.ä. vom Inet-Provider
** server can't find localhost: NXDOMAIN


/etc/host.conf:
order hosts, bind
# The following options are used by the resolver library:
multi on
spoofalert off-------------------------------------------------------------------------
------------------------------------------------------
/etc/nsswitch.conf:

passwd: compat
group: compat

hosts: files dns
networks: files dns

services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files

bootparams: files
automount: files nis
aliases: files
--------------------------------------------------------


also soweit die Dateien, ich denke die sind vom Inhalt her ok. Wenn ich z.B. einen
"host localhost mache" -->
host localhost
Host localhost not found: 3(NXDOMAIN)

naja und letztendlich die /etc/hosts:
127.0.0.1 localhost
# special IPv6 addresses
::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

Ich hab absolut keine Ahnung woran es liegen könnte, ich wäre sehr dankbar für weitere Hinweise.
gruss
dv

Habe noch mal nachgesehen .In der etc/host.conf
hast Du irgenwo stehen ------spoofalert off---------
Das habe ich bei mir zum Beispiel nicht drin stehen.
Ein Versuch wäre es wert. Frag mich aber nicht was das heißt.

LKH
02.12.03, 10:46
Hi,

im Grunde ist doch alles gesagt: wenn ein ping auf localhost eine Antwort von 127.0.0.1 bringt, ist soweit alles in ordnung. Warum DonVitos Provider-DNS localhost nicht auflöst weiss ich nicht. Sowohl mein Intranet-DNS wie auch der des Providers lösen beide localhost auf.

Da die Einstellungen lokal aber so sind, dass zuerst die Datei /etc/hosts gelesen wird, wird der name schon richtig aufgelöst. Und wie gesagt, wenn ein Dienst nicht geht ist der flasch konfiguriert oder eine Firewall blockt den Zugriff; schlimmstenfalls hat man was "Böses" auf seinem System. ;)

"man 5 host.conf" gibt auch Auskunft über "spoofalert":



nospoof
Valid values are on and off. If set to on, the resolv+ library will attempt to prevent hostname spoofing to enhance the security of rlogin and rsh. It works as follows: after performing a host address lookup, resolv+ will perform a hostname lookup for that address. If the two hostnames do not match, the query will fail. The default value is off.

spoofalert
Valid values are on and off. If this option is set to on and the nospoof option is also set, resolv+ will log a warning of the error via the syslog facility. The default value is off.

spoof
Valid values are off, nowarn and warn. If this option is set to off, spoofed addresses are permitted and no warnings will be emitted via the syslog facility. If this option is set to warn, resolv+ will attempt to prevent hostname spoofing to enhance the security and log a warning of the error via the syslog facility. If this option is set to nowarn, the resolv+ library will attempt to prevent hostname spoofing to enhance the security but not emit warnings via the syslog facility. Setting this option to anything else is equal to setting it to nowarn.



Hoffe es hilft,

Benno
02.12.03, 12:38
Ja du hast recht.
Danke für die Auklärung. Es ist eigentlich auch schon alles gesagt worden.;)