端口 8100 上的连接被拒绝

use*_*364 1 ubuntu firewall iptables ufw ubuntu-16.04

我无法从远程浏览器访问端口 8100 上的侦听服务 (Ionic)。

我在 Ubuntu 16.04 LTS 服务器上有 iptables,设置如下:

-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
Run Code Online (Sandbox Code Playgroud)

在这不起作用之后,我尝试使用 UFW 添加规则:

Status: active

To                         Action      From
--                         ------      ----
8100                       ALLOW       Anywhere                  
8100/tcp                   ALLOW       Anywhere                          
8100 (v6)                  ALLOW       Anywhere (v6)             
8100/tcp (v6)              ALLOW       Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)

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                                                *:*     
Run Code Online (Sandbox Code Playgroud)

编辑 2,还试图让它听如下:

State      Recv-Q Send-Q                      Local Address:Port                                     Peer Address:Port              
LISTEN     0      128                                     *:8100                                                *:*   
Run Code Online (Sandbox Code Playgroud)

use*_*517 5

使用 iptables 第一场比赛获胜,所以,

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

INPUT 中该行以下的所有内容都将被拒绝,您将收到一条连接被拒绝的消息

看看下面是什么

-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

QED