
Hier sind 2 Server
- 192.168.0.12
- 192.168.0.21
Auf dem Server 192.168.0.12 läuft ein Dienst im Port 50070
wenn ich Telnet vom Server 192.168.0.21 aus mache, schlägt es fehl:
$telnet 192.168.0.12 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
Wenn ich den Hostnamen angebe, schlägt es ebenfalls fehl:
$telnet master1.mycluster 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
Auch wenn ich es von 192.168.0.12 aus versuche, schlägt es fehl, wenn ich die IP-Adresse eingebe:
$telnet 192.168.0.12 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
Aber es funktioniert, wenn ich den Hostnamen angebe:
$telnet master1.mycluster 50070
Trying 127.0.0.1...
Connected to master1.mycluster.
Escape character is '^]'.
Ich fand diese FrageTelnet zu einem Server kann keine Verbindung ablehnen, aber ich habe alle Möglichkeiten ausprobiert. Folgendes habe ich versucht:
Iptables auf beiden Servern deaktiviert
ALLES hinzugefügt: ALLES in cat /etc/hosts.allow
Stellen Sie sicher, dass der Dienst auf diesem Port ausgeführt wird.
Aber nichts davon funktioniert bei mir.
Hier ist meine /etc/hosts
127.0.0.1 master1.mycluster master1
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.12 master1.mycluster master1
192.168.0.21 slave1.mycluster slave1
Fehlt mir sonst noch etwas, damit es funktioniert?
Antwort1
Ihr Dienst hört nur auf der Loopback-Adresse 127.0.0.1
.
Wenn Sie von dieser Adresse aus eine Verbindung herstellen 192.168.0.21
oder diese angeben ip
, funktioniert dies nicht, da Ihr Dienst nicht darauf hört ip
.
hostname
Wenn Sie das von verwenden, 192.168.0.12
funktioniert es, weil es eine Verbindung zur Loopback-Adresse herstellt. Das liegt daran, dass es zuerst in Ihrer Hosts-Datei nachsieht, /etc/hosts
die einen Eintrag enthält, der hostname
auf Ihren Loopback verweist ip
:127.0.0.1 master1.mycluster