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 がこれを実行しているかどうかはわかりません。