Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Не могу открыть порт для взаимодействия с сервером  (Прочитано 2787 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kikky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Всем доброго времени суток!  ;)

Уже 3-й день не могу настроить это соединение. Хотя задача вроде как тривиальная.

У меня стоит Ubuntu 20.04 на локальной машине и есть внешний сервер с CentOS 7. Для работы IDE PHPStrom на моем ПК с модулем PHP xDebug, который стоит на сервере, пытаюсь настроить общение между ними по какому-то порту. Вот сейчас порт 9005 пробую.

На данный момент на локальной машине вообще отключил UFW:
sudo ufw disable

Firewall stopped and disabled on system startup

И внес правила в iptables для этого порта и вообще разрешил всё что можно вроде как. Результат sudo iptables-save:

# Generated by iptables-save v1.8.4 on Tue Aug 25 10:20:12 2020
*filter
:INPUT ACCEPT [10187:6655404]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8703:1663218]
:ufw-after-forward - [0:0]
:ufw-after-input - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-before-input - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-output - [0:0]
:ufw-reject-forward - [0:0]
:ufw-reject-input - [0:0]
:ufw-reject-output - [0:0]
:ufw-track-forward - [0:0]
:ufw-track-input - [0:0]
:ufw-track-output - [0:0]
-A INPUT -p tcp -m tcp --dport 9002 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A INPUT -s 198.x.x.76/32 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9002 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9003 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9004 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9005 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 9002 -j ACCEPT
-A FORWARD -s 198.x.x.76/32 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 9003 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 9004 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 9005 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 9005 -j ACCEPT
COMMIT
# Completed on Tue Aug 25 10:20:12 2020


Результат ifconfig:

enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 30:9c:23:05:7b:2e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xdf000000-df020000 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 5591  bytes 459494 (459.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5591  bytes 459494 (459.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlx1831bf572169: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.128  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::b6de:47ab:4f9:9d7a  prefixlen 64  scopeid 0x20<link>
        ether 18:31:bf:57:21:69  txqueuelen 1000  (Ethernet)
        RX packets 162923  bytes 195309783 (195.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 79896  bytes 12171271 (12.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Результат sudo netstat -ntlp | grep LISTEN:

tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      767/systemd-resolve
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      810/cupsd           
tcp        0      0 0.0.0.0:3689            0.0.0.0:*               LISTEN      3329/rhythmbox     
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1038/mysqld         
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      995/redis-server 12
tcp6       0      0 :::4662                 :::*                    LISTEN      12180/java         
tcp6       0      0 ::1:631                 :::*                    LISTEN      810/cupsd           
tcp6       0      0 :::10137                :::*                    LISTEN      12180/java         
tcp6       0      0 127.0.0.1:6942          :::*                    LISTEN      12180/java         
tcp6       0      0 :::3689                 :::*                    LISTEN      3329/rhythmbox     
tcp6       0      0 ::1:6379                :::*                    LISTEN      995/redis-server 12
tcp6       0      0 :::9005                 :::*                    LISTEN      12180/java         
tcp6       0      0 127.0.0.1:63342         :::*                    LISTEN      12180/java         
tcp6       0      0 :::20080                :::*                    LISTEN      12180/java         
tcp6       0      0 :::80                   :::*                    LISTEN      1108/apache2     

Вот это на 9005 порте PHPStorm слушает соединение, но почему-то tcp6, а не tcp. Может в этом проблема?
tcp6       0      0 :::9005                 :::*                    LISTEN      12180/java 
Результат nmap --reason 159.x.x.43 (с сервера на мой ПК):

Host is up, received conn-refused (0.045s latency).
Not shown: 997 closed ports
Reason: 997 conn-refused
PORT     STATE    SERVICE REASON
646/tcp  filtered ldp     no-response
1080/tcp open     socks   syn-ack
4662/tcp open     edonkey syn-ack

Nmap done: 1 IP address (1 host up) scanned in 1.92 seconds



И если стучусь с сервера по конкретному порту через nc -vz 159.x.x.43 9005 (с сервера на мой ПК), то вот что получаю:

Ncat: Connection refused.


А если на роутере (miwifi от xiaomi) перед домашним ПК с Ubuntu делаю port forwarding TCP с 9001 по 9010, то при тесте с сервера на домашний ПК вот так меняются результаты для nmap --reason 159.x.x.43 (с сервера на мой ПК):

Not shown: 992 closed ports
Reason: 992 conn-refused
PORT     STATE    SERVICE    REASON
646/tcp  filtered ldp        no-response
1080/tcp open     socks      syn-ack
4662/tcp open     edonkey    syn-ack
9001/tcp filtered tor-orport no-response
9002/tcp filtered dynamid    no-response
9003/tcp filtered unknown    no-response
9009/tcp filtered pichat     no-response
9010/tcp filtered sdr        no-response

Nmap done: 1 IP address (1 host up) scanned in 1.85 seconds

И вторая команда nc -vz 159.x.x.43 9005:

Ncat: No route to host.

Получается, что без проброса портов на роутере домашнем запрос с сервера "дальше" проходит?


Уже из ушей пар идет  :D . Надеюсь на помощь сообщества. Спасибо зараннее!



Пользователь добавил сообщение 25 Августа 2020, 12:04:38:
Также забыл указать, что я делаю проброс порта с сервера на ПК через ssh вот так:

ssh -R 9005:localhost:9005 username@host -p 1988 -i id_rsa


Пользователь добавил сообщение 25 Августа 2020, 12:27:48:
После манипуляций с конфигом PHPStorm, эта программа теперь слушает 9005 порт по tcp, а не по tcp6:

tcp        0      0 0.0.0.0:9005            0.0.0.0:*               LISTEN      21479/java
Однако этот порт всё также не доступен с внешнего сервера. Те же результаты от Netcat и Nmap.
« Последнее редактирование: 25 Августа 2020, 12:27:48 от Kikky »

Оффлайн altwazar

  • Активист
  • *
  • Сообщений: 430
    • Просмотр профиля
ssh -R 9005:localhost:9005 username@host -p 1988 -i id_rsa
Этой командой ты даешь возможность через обращение к порту :9005 на машине "username@host" получить доступ к порту 9005: на ПК, откуда ты запустил команду.
Т.е. проброс портов на роутере в этом случае тебе не нужен, как и обращение по ип-шнику 159.x.x.43. У тебя 9005 порт должен быть доступен как localhost:9005 прямо на машине username@host

Оффлайн Kikky

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Спасибо, добрый человек! Ваш ответ мне помог разобраться и установить соединение.

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.