web-dev-qa-db-ja.com

サービスが機能する場合と機能しない場合がある

CentosBの33060ポートをCentosAから接続したい。

サーバーBにpingを実行できます。

[root@serverb ~]# ping 10.42.40.182
PING 10.42.40.182 (10.42.40.182) 56(84) bytes of data.
64 bytes from 10.42.40.182: icmp_seq=1 ttl=56 time=1.51 ms
64 bytes from 10.42.40.182: icmp_seq=2 ttl=56 time=1.51 ms
64 bytes from 10.42.40.182: icmp_seq=3 ttl=56 time=1.50 ms
64 bytes from 10.42.40.182: icmp_seq=4 ttl=56 time=1.51 ms
64 bytes from 10.42.40.182: icmp_seq=5 ttl=56 time=1.54 ms
64 bytes from 10.42.40.182: icmp_seq=6 ttl=56 time=1.58 ms

しかし、私が33060にtelnetしようとすると、それが機能することがあります。ほとんどの場合、機能していません。以下の状況をお待ちしております。

[root @ db2019〜] #telnet 10.42.40.182 3306010.42.40.182を試しています...

別のCentosを試してBの33060に接続しました。常に機能しています。

考えられる理由を教えてください。前もって感謝します!

1
Tester

私はあなたが内部からserverbにpingしていると思います:

[root @ serverb〜] #ping 10.42.40.182

2つは2つのホスト(同じネットワーク)に接続できます:

  • それぞれが同じサブネットワークにある必要があります
  • ファイアウォールを無効にするか、少なくともポート33060 tcp/udpをserverBで着信トラフィック用に、serverAで発信トラフィック用に開いておく必要があります

可能な解決策:

アプリがserverAとserverBから応答しているかどうかを確認します

$ nc -zv 10.42.40.182 33060

ServerB上のアプリがローカルホストまたはループバックインターフェイス(127.0.0.1)だけでなく物理インターフェイス10.42.40.182にバインドされているかどうかを確認します

$ netstat -tulpn | grep 33060

ファイアウォールルールを確認する(serverAおよびserverB)

$ iptables -L
1
lukascode