RPiでノートパソコンに接続できますが、それ以外の場合は接続できません。

RPiでノートパソコンに接続できますが、それ以外の場合は接続できません。

私はJavaでサーバークライアントアプリケーション(コマンドラインベース)を開発しています。私はRaspberry Pi(RPi)で実行したいのですが、私のラップトップでサーバー部分にログインできないことがわかりました。問題は、私のアプリケーションのサーバー部分(ソケット、ポート4444)を実行すると、問題なくRPiからTelnet経由で接続できることです。

RPiでサーバ部を実行しても接続は確立されません。私はLinuxに慣れていませんが、これはiptablesで何をすべきですか?他の提案?

答え1

まず、ファイアウォール(iptables)が問題ではないことを確認します。 RPiでは、次のコマンドを使用してこれを確認できます。

$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

上記のようにファイアウォールが問題ない場合は、Javaアプリケーションを起動し、次のコマンドを使用して正しいポートでリッスンしていることを確認してください。

$ netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN      970/xbmc.bin
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      970/xbmc.bin
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      936/sshd
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1086/smbd
tcp        0      0 192.168.1.85:22         192.168.1.20:34971      ESTABLISHED 6762/0
tcp        0      0 :::53                   :::*                    LISTEN      829/connmand
tcp        0      0 :::22                   :::*                    LISTEN      936/sshd
tcp        0      0 :::445                  :::*                    LISTEN      1086/smbd

このコマンドは、各デーモンがリスニングするIPアドレスとポートを表示します。たとえば、次の行は次のようになります。

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      970/xbmc.bin

これは、プロセスIDが970(xbmc.bin)のプロセスがすべてのインターフェイス(0.0.0.0)のポート80でリッスンしていることを示しています。最後のビット「すべてのインターフェイス」は、複数のネットワークインターフェイス(イーサネット、Wi-Fiなど)がある場合、デーモンがこれらのいずれかの接続を受け入れることを意味します。

単に192.168.1.10などのIPアドレスを表す場合、デーモンはそのIPアドレスが割り当てられているインターフェイスの接続のみを許可します。

最後に注目すべき点は、上記デーモンが許可する接続タイプはTCPであることです。もう1つのタイプは、このデーモンでは許可されていないUDPです。

関連情報