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 часа, и не повезло. Я предполагаю, что это легко исправить, и я не набираю правильные условия поиска.

1 ответ

Решение

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

Если порт отличается от 5555, например, обычный порт IRC или торрент-порт, или любой другой, он может быть фактически заблокирован в центре обработки данных. Я не могу сказать, если DigitalOcean делает это, хотя.

Другие вопросы по тегам