将端口绑定到网络接口

将端口绑定到网络接口

在对为什么我的 debian 服务器突然停止使端口对网络上的其他设备可见进行故障排除时,我在下面的链接中找到了答案,但我不明白为什么。

打开端口不起作用

我有相同的 netstat 输出,答案是端口应该绑定到网络接口或网络 IP 地址而不是本地主机。但是,它实际上并没有说明如何执行此操作。有人可以解释一下在这里做什么吗?

编辑:下面列出了我的 netstat 输出。本质上,我使用这台机器在本地网络上运行一堆服务(xrdp、vsftpd、emby、plex、apache)。一切正常,直到断电几个月,但现在无法从其他设备访问任何内容。端口扫描仅显示端口 22 处于打开状态,我仍然可以从其他设备进行 ssh 连接。我对发生的事情感到非常困惑,因为据我所知,一切都没有改变。

史蒂夫@服务器/$ sudo netstat -tnlp
有效的互联网连接(仅限服务器)
Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称    
tcp 0 0 0.0.0.0:22 0.0.0.0:* 监听 683/sshd: /usr/sbin
tcp 0 0 127.0.0.1:631 0.0.0.0:* 监听 657/cupsd           
tcp 0 0 127.0.0.1:32600 0.0.0.0:* 监听 1170/Plex 调谐器服务器
tcp 0 0 127.0.0.1:35323 0.0.0.0:* LISTEN 1003/Plex 插件 [
tcp 0 0 192.168.0.107:40605 0.0.0.0:* 听 2638/rygel          
tcp 0 0 127.0.0.1:41505 0.0.0.0:* 监听 2122/Plex 插件 [
tcp 0 0 192.168.0.107:48807 0.0.0.0:* 监听 2607/qbittorrent    
tcp 0 0 127.0.0.1:48807 0.0.0.0:* 监听 2607/qbittorrent    
tcp 0 0 127.0.0.1:38089 0.0.0.0:* 监听 1170/Plex 调谐器服务器
tcp 0 0 127.0.0.1:3306 0.0.0.0:* 监听 747/mariadbd        
tcp 0 0 127.0.0.1:35661 0.0.0.0:* 监听 2638/rygel          
tcp 0 0 127.0.0.1:33583 0.0.0.0:* 监听 1170/Plex 调谐器服务器
tcp 0 0 127.0.0.1:32401 0.0.0.0:* 监听 844/Plex 媒体服务
tcp6 0 0 ::1:3350 :::* 听 695/xrdp-sesman     
tcp6 0 0 :::22 :::* 监听 683/sshd: /usr/sbin
tcp6 0 0 ::1:631 :::* 听 657/cupsd           
tcp6 0 0 ::1:35033 :::* 听 2638/rygel          
tcp6 0 0 :::3389 :::* 监听 764/xrdp            
tcp6 0 0 :::8096 :::* 监听 658/EmbyServer      
tcp6 0 0 fe80::3edd:d094:c:48807 :::* 听 2607/qbittorrent    
tcp6 0 0 ::1:48807 :::* 听 2607/qbittorrent    
tcp6 0 0 :::5900 :::* 监听 2636/gnome-remote-d
tcp6 0 0 :::36559 :::* 监听 2791/apache2        
tcp6 0 0 :::32400 :::* 监听 844/Plex 媒体服务
tcp6 0 0 :::80 :::* 监听 812/apache2         
tcp6 0 0 fe80::3edd:d094:c:41877 :::* 听 2638/rygel          
tcp6 0 0 :::21 :::* 听 679/vsftpd          

答案1

所以我用最令人满意的方式修复了它——无意中。我正在查找 ufw 并没有在启动时自动启动,尽管它已设置为,并且其他人提到了与 firewalld 的冲突,并且禁用它解决了问题。它也对我有用,并且一定也因为某种原因而使我的端口被封锁。

答案2

再会;

您尚未指定您正在运行的哪些服务或软件需要绑定端口,因此我无法具体说明,但是,设置侦听 IP 地址的配置选项通常驻留在服务/包配置文件中,例如,当运行 apache2 有一个名为 的选项Listen/etc/apache2/apache2.conf您可以告诉它应该监听哪些 IP 和端口。

如果我们假设您正在运行 apache2,则必须在 中输入以下内容/etc/apache2/apache2.conf

Listen 0.0.0.0:8000

希望能帮助到你。

答案3

我可以从netstat输出中看到您的服务侦听 IPv6 IP。一种示例方法是禁用 IPv6 并重新启动网络和守护程序(或整个计算机)。另外,在 / 中etc/hosts删除与 IPv6 相关的行。

相关内容