
여기에는 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 '^]'.
이 질문을 찾았어요텔넷으로 서버 연결을 거부할 수 없습니다., 그러나 모든 가능성을 시도했습니다. 내가 시도한 것은 다음과 같습니다.
두 서버 모두에서 iptables를 껐습니다.
ALL 추가: cat /etc/hosts.allow에 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
작동시키기 위해 내가 놓친 다른 것이 있습니까?
답변1
귀하의 서비스는 루프백 주소에서만 수신 대기하고 있습니다 127.0.0.1
.
연결을 만들 192.168.0.21
거나 주소를 지정할 때 ip
서비스가 해당 주소를 수신하지 않기 때문에 작동하지 않습니다 ip
.
hostname
from 을 사용하면 192.168.0.12
루프백 주소에 연결되기 때문에 작동합니다. 이는 루프백을 가리키는 /etc/hosts
항목이 있는 호스트 파일을 먼저 살펴보기 때문입니다 .hostname
ip
127.0.0.1 master1.mycluster