Я задал этот вопрос на форуме DigitalOcean, но не получил никаких ответов. У меня есть droplet, на котором работает 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.