Назад | Перейти на главную страницу

В соединении отказано на порту 8100

У меня возникают трудности с доступом к службе прослушивания (Ionic) через порт 8100 из удаленного браузера.

У меня есть iptables на сервере Ubuntu 16.04 LTS, настроенный следующим образом:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p icmp -m state --state NEW -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 7
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 8100 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8100 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 7
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m tcp --sport 8100 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 8100 -m conntrack --ctstate ESTABLISHED -j ACCEPT

После того, как это не сработало, я попытался добавить правила с помощью UFW:

Status: active

To                         Action      From
--                         ------      ----
8100                       ALLOW       Anywhere                  
8100/tcp                   ALLOW       Anywhere                          
8100 (v6)                  ALLOW       Anywhere (v6)             
8100/tcp (v6)              ALLOW       Anywhere (v6)

Я все еще получаю ERR_CONNECTION_REFUSED когда я пытаюсь получить доступ к этому порту из удаленного браузера. Порты 80 и 22 работают в обычном режиме.

Что касается самой службы на порту 8100, я попытался прослушать ее следующим образом:

dev server running: http://localhost:8100/

и:

dev server running: http://<my server's IP>:8100/

Что приводит к той же ошибке.

Изменить, когда я бегу $ ss -ltnp "src :8100":

State      Recv-Q Send-Q                      Local Address:Port                                     Peer Address:Port              
LISTEN     0      128                          <server's IP address>:8100                                                *:*     

edit 2, Также попытался заставить его слушать следующим образом:

State      Recv-Q Send-Q                      Local Address:Port                                     Peer Address:Port              
LISTEN     0      128                                     *:8100                                                *:*   

С iptables выигрывает первое совпадение, поэтому

-A INPUT -j REJECT --reject-with icmp-port-unreachable

Все, что находится ниже этой строки во ВХОДЕ, будет отклонено, и вы получите сообщение об отказе в соединении.

Посмотри, что под ним

-A INPUT -p tcp -m tcp --dport 8100 -m state --state NEW -j ACCEPT
-A ВХОД -p tcp -m tcp --dport 8100 -m conntrack --ctstate НОВОЕ, УСТАНОВЛЕННОЕ -j ПРИНЯТЬ

Q.E.D.