接続拒否の問題を特定する方法は? [閉鎖]

接続拒否の問題を特定する方法は? [閉鎖]

ポート5701でJavaプロセス(Hazelcast)を実行するLinuxサーバーがあります。ただし、このサーバーへの接続に問題があり、接続拒否の問題が発生しています。詳細は次のとおりです。

3つのノードがあります。ノードの2つ(ノードAとノードB)は、Telnet経由でポート5701を介して互いに接続されています。ただし、3番目のノード(ノードC)があります。ノードCがTelnetを介してノードAに接続しようとすると機能します。ただし、ノードCがTelnetを介してノードBに接続しようとすると、接続は拒否されます。

Telnetの出力は次のとおりです。

ノード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 を使用できるようにします。

関連情報