监听所有端口的有效方法是什么?

监听所有端口的有效方法是什么?

我要求所有端口 1-65535 都打开,但是我无法访问网络,因此我之前的解决方法是打开端口 22(和其他几个端口),即打开 vpn 上的端口,并通过 vpn 将专用 ip 地址转发到此机器。

此外,在这种情况下 - 我发现,在我的外部地址上,使端口在端口检查器网站上显示为“打开”的唯一方法(仅作为示例,对外界而言)是使用 ncat 命令让 ubuntu 监听特定端口号或在其上运行的服务,如 sshd。如果我对 1-65535 范围内的所有端口执行相同操作,我发现所有速度都会变慢,可能是因为端口太多。我知道如何打开 ufw 防火墙中的端口,但我认为仅凭这一点无法满足我目前尝试适应的云服务的要求,它被称为 lambda,如果有人听说过它,我正在将它与另一个 pinfi 网络集成,他们说所有端口都需要打开。

pinfi 有点像 defi。有什么有效的方法可以让它监听这些端口,或者有人知道我是否真的不需要将它们暴露在外面,因为我的 vpn 已经在本地网络之外的这些端口上打开了,尽管例如端口检查器(https://www.ipvoid.com/port-scan/)除非我有一个从本地 Linux 工作站监听的服务,否则无法在我的外部 IP 上告诉这一点。

这很有趣,因为它有点像让交换机监听不同的端口。

答案1

我将打开一个端口,并使用iptables模式DNAT将所有其他端口重定向到该端口。

iptables \
    -t nat \
    -I PREROUTING \
    -p tcp \
    -d 1.2.3.4 \
    \! --dport 12345 \
    -j DNAT \
    --to-dest 1.2.3.4:12345

其中 1.2.3.4 是您的本地 IP 地址,12345 是您使用 netcat 打开的端口。

相关内容