포트 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 사용을 허용합니다.