netcat がリモート ホストに接続できない

netcat がリモート ホストに接続できない

DigitalOceanフォーラムでこの質問をしましたが、回答がありません。Debian 8.1 x64を実行しているドロップレットがあり、基本的なnetcat接続を設定しようとしています(ローカルマシンとリモートマシンの両方でnc.openbsdを使用しています)。サーバーにsshで接続し、次のように入力します。

nc -l -v 5555

そして戻ってくる

Listening on [0.0.0.0] (family 0, port 5555)

次にローカルマシンに移動して入力します

nc -v [domain.com] 5555

何も返ってきません。テキストを入力しても、相手側には表示されません。これらのコマンドを LAN 経由で接続されたローカル マシンで試してみましたが、問題なく動作しました。また、ポートをリッスンしているときでも、nmap スキャンはポートを として返しますfiltered

何が原因か知っている人はいませんか? 過去 24 時間、あらゆるチュートリアルを見て、できるだけ多くのサイトを検索しましたが、見つかりません。これは簡単に修正でき、私が正しい検索語を入力していないだけだと思います。

答え1

原因はファイアウォールです。ドロップレット上またはローカル マシンの周囲 (LAN 内でこのポートを使用できるからといって、外部接続で使用できるわけではありません) にあります。Debian ドロップレットのファイアウォールをブロックとして排除するには、次のコマンドを実行します。

iptables -I INPUT -p tcp --dport 5555 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 5555 -j ACCEPT

これにより、他のほとんどの iptables ルール (具体的には、INPUT および OUTPUT フィルター チェーンの非常に可能性の高い場所) を無視するこのポートに穴が開きます。

またはDebian 8.1がfirewalld上にある場合は、ファイアウォールのこと

ポートが 5555 以外 (一般的な IRC や Torrent ポートなど) の場合、データセンターで実際にブロックされている可能性があります。ただし、DigitalOcean がこれを実行しているかどうかはわかりません。

関連情報