在 Ubuntu 16.04 上打开端口时出现问题

在 Ubuntu 16.04 上打开端口时出现问题

我正在尝试在运行 Ubuntu 16.04 的计算机上打开几个端口,这将允许我在其上运行无人机模拟软件并将其连接到配套计算机(Odroid)。

我尝试使用 打开端口sudo ufw allow PORT#/tcp,但当我尝试连接或运行时,netcat -v 127.0.0.1 PORT#我收到Connection refused提示。如果我尝试使用我的计算机 IP 而不是环回通过本地网络连接,也会发生同样的情况。

什么可能阻塞了端口?

使用sudo ufw status verbose我得到:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
PORT#1/tcp                   ALLOW IN    Anywhere                  
PORT#2/tcp                  ALLOW IN    Anywhere                  
PORT#3/tcp                   ALLOW IN    Anywhere                  
PORT#1/tcp (v6)              ALLOW IN    Anywhere (v6)             
PORT#2/tcp (v6)             ALLOW IN    Anywhere (v6)             
PORT#3/tcp (v6)              ALLOW IN    Anywhere (v6) 

使用sudo iptables -L我可以找到三个端口:

Chain ufw-user-input (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:PORT#1
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:PORT#2
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:PORT#3

答案1

似乎没有什么阻塞你的端口号。你的输出清楚地表明这不是防火墙问题。

Ubuntu 的默认安装没有可利用的监听服务,因此默认防火墙设置是 [接受] 所有连接。

最有可能的答案是,您根本没有任何服务在 PORT# 上监听以接收连接。应用程序在特定端口上监听 - 这就是系统知道哪个数据包适用于哪个应用程序的方式。

如果数据包到达的端口没有监听任何内容,则系统不知道如何处理该数据包,并向发送者发送“拒绝”消息。您似乎正在查看这样的“拒绝”消息。

命名法:

  • 您可以通过更改防火墙规则来打开防火墙中的端口。
  • 应用程序绑定并监听端口,接收已经通过防火墙的数据包。

历史:防火墙在具有内置可利用监听服务的系统上变得非常重要,管理员无法通过其他方式控制或禁用这些服务。Ubuntu 的默认安装不包含任何此类服务(如果您发现此类服务,请提交错误报告。我们不喜欢这些服务)。

相关内容