Networking

無法遠端登錄到伺服器

  • May 30, 2018

這裡有2台伺服器

  • 192.168.0.12
  • 192.168.0.21

伺服器 192.168.0.12 的 50070 埠中有一個服務正在執行

當我從 192.168.0.21 伺服器進行遠端登錄時,它失敗了:

$telnet 192.168.0.12  50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused

當我給出主機名時,它也會失敗:

$telnet master1.mycluster 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused

即使我從 192.168.0.12 嘗試,如果我提供 IP 地址,它也會失敗:

$telnet 192.168.0.12 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused

但如果我給出主機名,它會起作用:

$telnet master1.mycluster 50070
Trying 127.0.0.1...
Connected to master1.mycluster.
Escape character is '^]'.

我發現這個問題can’t telnet to a server connection reject,但我嘗試了所有的可能性。這些是我嘗試過的:

  1. 關閉兩個伺服器中的 iptables
  2. 在 cat /etc/hosts.allow 中添加了 ALL:ALL
  3. 確保服務正在該埠中執行

但這些都不適合我。

這是我的 /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

我還缺少什麼使其正常工作嗎?

您的服務僅在環回地址上偵聽,127.0.0.1.

當您從地址建立連接192.168.0.21或指定ip地址時,它不起作用,因為您的服務沒有在偵聽該地址ip

當您使用hostnamefrom時,192.168.0.12它可以工作,因為它正在連接到環回地址。這是因為它將首先查看您的 hosts 文件,該文件有一個指向您的 loopback/etc/hosts的條目:hostname``ip``127.0.0.1 master1.mycluster

引用自:https://unix.stackexchange.com/questions/446893