无法阻止我的 Linux 服务器上的某些端口

无法阻止我的 Linux 服务器上的某些端口

我试图阻止我的服务器在端口 8001 上接收请求。我运行了sudo iptables -A INPUT -p tcp --dport 8001 -j DROP,然后我运行netstat -nlp以查看端口是否仍在监听。输出为:

will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:8001            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -               
tcp6       0      0 :::7777                 :::*                    LISTEN      1173/node       
tcp6       0      0 :::10050                :::*                    LISTEN      -               
udp        0      0 0.0.0.0:39192           0.0.0.0:*                           -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -  

看来该端口仍处于打开状态并正在监听请求。我该如何关闭它?

答案1

我可能遭受了误解(如果是这样,人们会告诉我的!)

iptables设置防火墙规则,并且您已将防火墙配置为不传递指向端口 8001 的项目

netstat显示程序正在监听的端口

因此,您的防火墙不允许端口 8001 通过,但某个程序正在侦听该端口上的 ping。这里没有冲突 - 如果您希望程序不侦听该端口,请关闭该程序。

如果您对防火墙中启用的规则感兴趣,请查看iptables -Liptables -S

相关内容