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

netcat не может подключиться к удаленному хосту

Я спросил об этом на форуме 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

и никогда ничего не слышу. При вводе текста он не появляется на другом конце. Я пробовал эти точные команды на локальных машинах, подключенных через мою локальную сеть, и они отлично работают. Также даже при прослушивании портов сканирование nmap возвращает порт как filtered.

Кто-нибудь знает, что может быть причиной этого? Я просматривал все учебники и искал столько сайтов, сколько смог найти за последние 24 часа, и безуспешно. Я предполагаю, что это простое решение, и я не ввожу правильные условия поиска.

Причина - межсетевой экран. Либо на вашей капле, либо вокруг вашего локального компьютера (то, что вы можете использовать этот порт в своей локальной сети, не означает, что внешние соединения могут его использовать). В большинстве случаев вы можете удалить брандмауэр капли 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-порт, торрент-порт или что-то еще, он может быть заблокирован в центре обработки данных. Однако я не могу сказать, делает ли это DigitalOcean.