Назад | Перейти на главную страницу

Заблокирован сервером после запуска js-сервера TCP node. Зачем?

Недавно я установил узел на свой VPS и попытался пройти обучение. Я сохранил этот код в server.js и нажал 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.");

Связана ли эта проблема с брандмауэром серверов? Что я могу сделать, чтобы решить эту проблему?

Без дополнительной информации о вашей платформе рассуждать сложно. Однако, если вы можете подключиться по SSH с другого компьютера, проверьте правила iptables с помощью iptables -L как корень. Вы можете увидеть правила в цепочке 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, что удалит правило в моем примере.