Telnetローカルポートは機能しませんが、IP試行は機能します。

Telnetローカルポートは機能しませんが、IP試行は機能します。

私のアプリケーションはポート8180でリッスンします。

ポート8180にローカルに接続しようとすると、接続が拒否されました。しかし、IPを使用してポートに接続しようとすると。接続できます。

[root@MUMLGOMAPP002 ~]# telnet 10.209.129.54 8180
Trying 10.209.129.54...
Connected to MUMLGOMAPP002 (10.209.129.54).
Escape character is '^]'.
^]
telnet> q
Connection closed.


[root@MUMLGOMAPP002 ~]# telnet localhost 8180
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused

私のインターフェースは次のとおりです

[root@MUMLGOMAPP002 ~]# ifconfig
bond0     Link encap:Ethernet  HWaddr 44:1E:A1:73:F7:50
          inet addr:10.209.129.54  Bcast:10.209.129.63  Mask:255.255.255.224
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:322997568 errors:23 dropped:0 overruns:0 frame:0
          TX packets:304470664 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:213628580915 (198.9 GiB)  TX bytes:217449664400 (202.5 GiB)

Telnet localhostとipの違いが何であるかを知りたいです。

答え1

ネットワークプロセスはbind特定のアドレスまたは任意のアドレスに存在できます。

現在実行中のタスクを表示するには、を試してくださいlsof -n -i TCP:8180 -s TCP:LISTEN

あなたは見なければなりません:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
[lots of other stuff...............................] 10.209.129.54:8180 (LISTEN)

または

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
[lots of other stuff...............................] *:8180 (LISTEN)

まず、あなたのプロセスがその特定のIPアドレスにバインドされていることを知らせます。これはあなたが見るでしょう。

これにより、ホスト名がtelnet localhost 8180IPtelnetアドレスで解決されます。解決する必要があります127.0.0.1。したがって、あなたのシステムはに接続しようとします127.0.0.1:8180。サーバーが単に受信している場合、10.209.129.54:8180ネットワーク層はへの接続を拒否します127.0.0.1:8180

両方を機能させる必要がある場合は、使用するサーバープログラムによって異なります。

JBossと言えば、通常はポート8180を使用しているようです。https://developer.jboss.org/thread/168789両方を操作する方法を学びます。同じホストで複数の JBoss サーバーを実行している場合、これが混乱を招く可能性があります。

関連情報