如何在 Linux 中为同一网络中的其他用户开放端口?

如何在 Linux 中为同一网络中的其他用户开放端口?

我有一个正在运行的应用程序正在监听端口 7896。我可以使用本地主机和端口 7896 访问它,但同一网络中的其他用户无法使用我的 IP 地址和端口 7896 访问它。我已禁用防火墙。

我应该怎么做才能使网络上的其他用户能够访问它。

输出netstat -lntu

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:33583         0.0.0.0:*               LISTEN     
tcp        0      0 10.42.0.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:7896          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:1720            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:14777         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:9050          0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:7896                :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 10.42.0.1:5060          0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:40172           0.0.0.0:*                          
udp        0      0 0.0.0.0:1900            0.0.0.0:*                          
udp        0      0 10.42.0.1:53            0.0.0.0:*                          
udp        0      0 0.0.0.0:67              0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 0.0.0.0:41207           0.0.0.0:*                          
udp6       0      0 :::35359                :::*                               
udp6       0      0 :::5353                 :::*                               
udp6       0      0 :::5353                 :::*                               
udp6       0      0 :::5353                 :::* 

答案1

如果可以,请将服务配置为监听地址0.0.0.0而不是127.0.0.1。指定127.0.0.1是监听该端口的程序所需的明确操作,因此该服务似乎仅适用于本地客户端,或者这只是默认配置。

如果您无法配置要监听的服务,最简单的解决方案是使用或0.0.0.0设置重定向。xinetdsystemd

相关内容