「開いている」ポートは実際には開いていません

「開いている」ポートは実際には開いていません

Ubuntu でポート 2022 を開くには、次のコマンドを使用しました。

sudo iptables -A INPUT -p tcp --dport 2022 -j ACCEPT

しかし、ポート 2022 で Web サーバーを起動すると、アクセスできなくなります。

開いているポートを確認するコマンドを実行すると、次のようになります。

sudo iptables -vnL

出力は次のように始まります

ここに画像の説明を入力してください

現在、3000 や 4000 のように表示されるポートは機能しますが、2022 は機能しません。

何が起こっているのでしょうか? ポート 2022 を有効にするにはどうすればよいでしょうか?

答え1

順序は重要です。iptables の 2022 のエントリは の後ろにあるためDROP、 がDROP最初に一致し、ACCEPTエントリに到達することはありません。

追加ではなく挿入 (-Iではなく-A) する必要があります。

答え2

開けるポートはパケットフィルタがブロックしないポートです。このポートに到達するには、何かがそれにバインドする必要があり、TCPの場合は、聞くその上に。

ss -nlまたはを使用して何かが起こっているかどうかを確認できますnetstat -an | grep LISTEN

関連情報