我最近在我的 VPS 上安装了 node,并尝试完成一个教程。我将此代码保存到 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 规则。您可能会看到“fail2ban”链或类似链下的规则,这些规则与您的机器的 IP 地址有关。它们将以 DROP 或 REJECT 结尾,它们是您需要删除的规则,以重新获得对您的机器的访问权限。
要清除它们,首先您需要要删除的规则的行号;传递iptables -L --line-numbers
以查看此内容。您将看到类似以下内容:
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- <some-ip> anywhere
然后您可以执行iptables --delete INPUT 1
,这将删除我的示例中的规则。