
Недавно я установил node на свой VPS и попытался пройти обучающую программу. Я сохранил этот код в server.js и нажал node server.js в putty. Я получил мгновенный «бан» от своего 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 с iptables -L
правами root. Вы можете увидеть правила в цепочке "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
, что удалит правило в моем примере.