Порт 9000 открыт в FW, но не отображается в NMAP

Я использую виртуальный сервер Ubuntu 20.0.4 LTS. Мне нужно иметь доступ к http://localhost:9000/ изнутри сервера для службы, которую я пытаюсь запустить, но я продолжаю получать ошибки «Отказано в соединении».

Я попытался запустить telnet на этот порт и получил следующее сообщение:

      $ telnet localhost 9000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Я знаю, что telnet работает, так как я успешно вошел в систему через разные порты (те, которые показаны в результатах nmap ниже).

Проверяем FW и iptables, вроде бы порт должен быть открыт:

IP-таблицы:

      $ sudo iptables -L
Chain ufw-user-input (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     udp  --  anywhere             anywhere             udp dpt:22
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9000
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9000
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     udp  --  anywhere             anywhere             udp dpt:443
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
ACCEPT     udp  --  anywhere             anywhere             udp dpt:3306
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     udp  --  anywhere             anywhere             udp dpt:80
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9000
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9000

ФВ:

      $ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22                         ALLOW IN    Anywhere
22/tcp                     ALLOW IN    Anywhere
9000                       ALLOW IN    Anywhere
443                        ALLOW IN    Anywhere
3306                       ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere                   # accept Apache
9000/tcp                   ALLOW IN    Anywhere
9000/udp                   ALLOW IN    Anywhere
22 (v6)                    ALLOW IN    Anywhere (v6)
22/tcp (v6)                ALLOW IN    Anywhere (v6)
9000 (v6)                  ALLOW IN    Anywhere (v6)
443 (v6)                   ALLOW IN    Anywhere (v6)
3306 (v6)                  ALLOW IN    Anywhere (v6)
80 (v6)                    ALLOW IN    Anywhere (v6)              # accept Apache
9000/tcp (v6)              ALLOW IN    Anywhere (v6)
9000/udp (v6)              ALLOW IN    Anywhere (v6)

Когда я запускаю nmap, я не вижу порт открытым:

      $ nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2022-08-09 11:04 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000073s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
3306/tcp open  mysql

Прикреплен мой журнал трассировки:

      $ sudo tcptraceroute localhost 9000
Running:
        traceroute -T -O info -p 9000 localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
 1  localhost (127.0.0.1) <rst,ack>  0.017 ms  0.005 ms  0.004 ms

РЕДАКТИРОВАТЬ:

результаты нетстата:

      tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      818/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      900/sshd: /usr/sbin
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      978/mysqld
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      947/redis-server 12
tcp6       0      0 :::22                   :::*                    LISTEN      900/sshd: /usr/sbin
tcp6       0      0 :::443                  :::*                    LISTEN      2401/apache2
tcp6       0      0 ::1:6379                :::*                    LISTEN      947/redis-server 12
tcp6       0      0 :::80                   :::*                    LISTEN      2401/apache2

Кажется, что у меня нет службы, прослушивающей порт 9000. Как это можно исправить?

Может ли кто-нибудь помочь мне диагностировать проблему?

Заранее спасибо.

1 ответ

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

      (venv) $ gunicorn opentaxii.http:app \
>   --bind localhost:9000 --config python:opentaxii.http --daemon
Другие вопросы по тегам