Как открывать порты не только локально?

Я пытаюсь открыть порт на своем VPS (Ubuntu), чтобы поиграть с программированием, связанным с сетью. Я использую UFW и не могу открыть порт 2794 для нелокальных подключений. Я добавил правило «ufw allow from any to any port 2794 proto tcp», но противники не хотят работать по какой-то причине.

Когда я запускаю свой простой сервер для прослушивания на порте 2794 соединений и запускаю nmap (nmap -p 2794 127.0.0.1) При запуске с VPS я получаю следующий вывод:

PORT     STATE SERVICE
2794/tcp open  unknown

Это показывает, что порт открыт, по крайней мере, для локального подключения. Но когда я запускаю nmap (nmap -p 2794 ) со своего рабочего стола, я получаю:

PORT     STATE  SERVICE
2794/tcp closed unknown

Кроме того, я успешно запускаю с него сервер Nginx, так как при просмотре IP / сайта в Firefox я вижу контент, то есть порт 80 и 22 открыты для внешних подключений. Любая помощь приветствуется.

0
задан 7 August 2020 в 23:29

1 ответ

Вы уверены, что проблема в брандмауэре? Может быть какая-то другая проблема.

Возможно, ваш простой сервер прослушивает только localhost ( 127.0.0.1 в IPv4 или :: 1 в IPv6). Это объяснило бы ваши результаты Nmap. Вы можете проверить это с помощью ss . Возьмите себе терминал и выполните ss -ltn | grep 2794 . Если в четвертом столбце (который является столбцом «Локальный адрес: порт») отображается что-то вроде 127.0.0.1:2794 или [:: 1]: 2794 , ваш простой сервер прослушивает только на localhost.

Если это так, у вас есть несколько вариантов. Вы можете использовать прокси-сервер для пересылки трафика из Интернета на ваш простой сервер. Вы можете использовать правило iptables для пересылки TCP-соединения. Или (и это, вероятно, самый простой вариант) вы можете изменить свой простой сервер, чтобы он прослушивал все интерфейсы. Для этого укажите, что он должен прослушивать 0.0.0.0 (IPv4) или :: (IPv6).

0
ответ дан 11 August 2020 в 20:08

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

Похожие вопросы: