연결 거부 문제를 식별하는 방법은 무엇입니까? [폐쇄]

연결 거부 문제를 식별하는 방법은 무엇입니까? [폐쇄]

포트 5701에서 Java 프로세스(Hazelcast)를 실행하는 Linux 서버가 있습니다. 하지만 이 서버에 연결하는 데 문제가 있어 연결 거부 문제가 발생하고 있습니다. 자세한 내용은 다음과 같습니다.

3개의 노드가 있습니다. 노드 중 두 개(노드 A와 노드 B)는 텔넷을 통해 포트 5701을 통해 서로 연결됩니다. 그러나 세 번째 노드(노드 C)가 있습니다. 노드 C가 텔넷을 통해 노드 A에 연결을 시도하면 작동합니다. 그러나 노드 C가 텔넷을 통해 노드 B에 연결을 시도하면 연결이 거부됩니다.

텔넷의 출력은 다음과 같습니다.

노드 A는 노드 B에 연결됩니다.

11:54:16 # telnet <node B hostname> 5701
Trying <node B hostname>...
Connected to <node B hostname>.
Escape character is '^]'.

노드 C는 노드 B에 연결됩니다.

11:38:44 # telnet <node B hostname> 5701 
Trying <node B hostname>...
telnet: connect to address <node B hostname>: Connection refused

Node B의 방화벽 상태도 확인했습니다.

12:30:57 # firewall-cmd --list-all
public
  target: DROP
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: dhcpv6-client ssh
  ports: 5701/tcp 8089/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

노드 A의 방화벽 상태

12:32:02 # firewall-cmd --list-all
public (active)
  target: DROP
  icmp-block-inversion: no
  interfaces: ens160
  sources: 
  services: dhcpv6-client ssh
  ports: 5701/tcp 8089/tcp 8000/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

방화벽 상태 노드 C:

12:32:30 # firewall-cmd --list-all
public (active)
  target: DROP
  icmp-block-inversion: no
  interfaces: ens160
  sources: 
  services: dhcpv6-client ssh
  ports: 8443/tcp 8089/tcp 5701/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

참고: 제가 게시한 내용은 다음과 같습니다.스택 오버플로하지만 아직까지 답변을 받지 못했습니다. 그래서 여기에 게시합니다.

답변1

이 문제는 우리가 사용하는 클라우드 공급자의 NAT 설계로 인해 발생합니다. 유동 IP를 통해 동일한 가용 영역에 있는 노드 간의 통신이 제한되어 연결이 거부됩니다. DNS 별칭은 항상 유동 IP에 매핑되므로 노드 C의 /etc/hosts를 업데이트하여 개인 IP를 DNS 별칭에 매핑해야 합니다. 클라우드 공급자는 동일한 AZ 내 및 AZ 간 통신에 개인 IP 사용을 허용합니다.

관련 정보