
最近、VPS にノードをインストールし、チュートリアルを完了しようとしました。このコードを server.js に保存し、putty で node server.js を実行しました。VPS から即座に「禁止」され、アクセスできなくなりましたが、他のコンピューターではアクセスできます。
var net = require('net');
var server = net.createServer(function (socket) {
console.log("Connection from " + socket.remoteAddress);
socket.end("Hello World\n");
});
server.listen(7000, "localhost");
console.log("TCP server listening on port 7000 at localhost.");
この問題はサーバーのファイアウォールに関連していますか? 解決するにはどうすればいいですか?
答え1
プラットフォームに関する詳細情報がなければ、推測するのは少し難しいです。ただし、別のマシンから SSH で接続できる場合は、iptables -L
root として iptables ルールを確認してください。マシンの IP アドレスに関連する「fail2ban」チェーンなどのルールが表示される場合があります。それらは DROP または REJECT で終わり、ボックスへのアクセスを回復するには、これらのルールを削除する必要があるでしょう。
これらをクリアするには、まず削除したいルールの行番号が必要です。iptables -L --line-numbers
これを表示するには pass します。次のような表示になります。
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- <some-ip> anywhere
次に、 を実行しますiptables --delete INPUT 1
。これにより、私の例ではルールが削除されます。