Networking
無法遠端登錄到伺服器
這裡有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,但我嘗試了所有的可能性。這些是我嘗試過的:
- 關閉兩個伺服器中的 iptables
- 在 cat /etc/hosts.allow 中添加了 ALL:ALL
- 確保服務正在該埠中執行
但這些都不適合我。
這是我的 /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
。當您使用
hostname
from時,192.168.0.12
它可以工作,因為它正在連接到環回地址。這是因為它將首先查看您的 hosts 文件,該文件有一個指向您的 loopback/etc/hosts
的條目:hostname``ip``127.0.0.1 master1.mycluster