Порт 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