Как включить конкретный порт в версии Ubuntu 22, чтобы он был доступен из внешнего мира?

Вопрос или проблема

Как включить конкретный порт в Ubuntu версии 22, чтобы он был доступен извне?

Я уже вошел на сервер через ssh, используя порт 22, и могу успешно выполнять все команды.

Я включил брандмауэр ufw и также разрешил порты 22, 80 и 22786.

Порты 22 и 80 работают нормально и доступны, но я не могу получить доступ к порту 22786 извне.

Нужно ли мне изменить какие-либо другие настройки брандмауэра, чтобы включить порт 22786?

admin@prod:~$ sudo ufw status numbered

Статус: активен
     Для                       Действие   Откуда
     --                         ------     ----
[ 1] 22786                    ДОПУСТИТЬ В   Везде
[ 2] 22                       ДОПУСТИТЬ В   Везде
[ 3] 80                       ДОПУСТИТЬ В   Везде
[ 4] 22786 (v6)               ДОПУСТИТЬ В   Везде (v6)
[ 5] 22 (v6)                  ДОПУСТИТЬ В   Везде (v6)
[ 6] 80 (v6)                  ДОПУСТИТЬ В   Везде (v6)

admin@prod:~$ sudo netstat -plunt

Активные интернет-соединения (только серверы)
Протокол Recv-Q Send-Q Локальный адрес         Зарубежный адрес       Состояние     PID/Имя программы
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1619/nginx: master
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      834/sshd: /usr/sbin
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      927/sshd: admin@pts
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      784/systemd-resolve
tcp6       0      0 :::80                   :::*                    LISTEN      1619/nginx: master
tcp6       0      0 :::22                   :::*                    LISTEN      834/sshd: /usr/sbin
tcp6       0      0 ::1:6010                :::*                    LISTEN      927/sshd: admin@pts
udp        0      0 127.0.0.53:53           0.0.0.0:*                           784/systemd-resolve

Я установил Nginx вручную и смог к нему получить доступ по адресу http://ipaddress

Но когда я проверяю через этот онлайн-инструмент (https://www.yougetsignal.com/tools/open-ports/), он показывает, что порты 22 и 80 открыты, а 22786 закрыт.

Порт 22 уже был открыт, когда я получил этот хост, а порт 80 стал доступен после установки Nginx и добавления его в ufw с помощью команды sudo ufw allow 80. Я использовал команду sudo ufw allow 22786 для включения этого порта тоже, но безуспешно.

Важно знать, есть ли приложение на сервере, которое слушает на TCP порту 22786.

Пожалуйста, приложите сюда ответ от команды netstat на вашем сервере.

sudo netstat -lntp

Вы также должны увидеть порт 22786 в списке прослушиваемых TCP портов.

Если netstat отсутствует, установите net-tools.

sudo apt-get update
sudo apt-get install net-tools

Вы можете попробовать netcat nc в качестве замены прослушивающему приложению, если вам не хватает необходимого приложения на порту 22786 для вашего теста.

sudo nc -l -p 22786 -k

В другом окне терминала (отличном от того, где работает nc), повторите команду netstat.

Ответ или решение

Чтобы сделать порт 22786 доступным из внешнего мира на сервере Ubuntu 22, необходимо выполнить несколько шагов и убедиться, что весь процесс настроен корректно. Рассмотрим пошаговое руководство.

1. Проверка, слушает ли приложение на порту 22786

Первым делом нужно убедиться, что какое-либо приложение или служба действительно слушает на порту 22786. Используйте команду netstat, чтобы проверить это:

sudo netstat -lntp | grep 22786

Если в результате вывода не будет никаких записей, это значит, что ни одно приложение не прослушивает этот порт, и вам следует его запустить. Для тестирования можно использовать netcat (nc):

sudo apt-get update
sudo apt-get install net-tools  # Установка net-tools, если он еще не установлен
sudo nc -l -p 22786 -k  # Запуск netcat для прослушивания порта 22786

Затем снова выполните команду netstat, и вы должны увидеть запись для порта 22786.

2. Проверка настроек UFW

Если приложение слушает на порту 22786, следующим шагом будет подтверждение, что UFW (Uncomplicated Firewall) настроен правильно. Вы уже выполнили команду:

sudo ufw status numbered

Вывод показывает, что порт 22786 разрешен. Убедитесь, что вы видите его в списке. Если все настроено верно, но доступ не осуществляется, проверьте, активен ли UFW:

sudo ufw status

3. Проверка конфигурации сервера и маршрутизации

Если UFW правильно настроен и приложение слушает на порту 22786, следующим шагом будет проверить настройки сетевого интерфейса и маршрутизации:

  • Убедитесь, что сервер имеет правильный внешний IP-адрес и доступен из Интернета.
  • Проверьте настройки NAT (Network Address Translation), если ваш сервер находится за маршрутизатором или в облачной среде (например, AWS, DigitalOcean). Вам может потребоваться настроить перенаправление портов.

4. Тестирование доступа к порту

Для тестирования доступа к порту 22786 из внешней сети вы можете использовать онлайн-инструменты, такие как YouGetSignal. Введите IP-адрес вашего сервера и номер порта, чтобы проверить его доступность.

5. Дополнительные советы и рекомендации

Если порт все еще остается недоступным, рассмотрите следующие варианты:

  • Проверьте другие правила брандмауэра, если используется более сложная конфигурация безопасности (например, iptables или другие фаерволы).

  • Временная деактивация UFW для тестирования:

    sudo ufw disable

    Если после этого доступ к порту стал возможен, проблема может заключаться в неправильной настройке UFW, и вам следует её внимательно пересмотреть.

  • Проверьте, не блокирует ли доступ к порту 22786 ваш провайдер хостинга.

Заключение

Следуя этим шагам, вы сможете настроить доступ к порту 22786 на вашем сервере Ubuntu 22. Если у вас возникнут дополнительные проблемы, предоставьте больше информации о состоянии сети и конфигураций вашего сервера.

Оцените материал
Добавить комментарий

Капча загружается...