Linux 套接字服务器ip/端口问题

Linux 套接字服务器ip/端口问题,linux,networking,sockets,ubuntu,Linux,Networking,Sockets,Ubuntu,我正试图在ubuntu机器上设置一个套接字服务器。我一直在我自己的机器上设置相同的服务器脚本,它可以完美地工作。在我的路由器中,我将端口10007转发到正确的机器,并将ip绑定到本地ip(192.168…:10007) 现在我需要在一个专用服务器上设置它,这就是问题的开始。我的服务器上似乎没有本地ip,至少ifconfig不会显示一个。我尝试绑定到公共ip,或者绑定到127.0.0.1或0.0.0.0,如果我从同一台机器(而不是另一台机器)进行telnet,则效果很好。有人知道怎么解决这个问题吗

我正试图在ubuntu机器上设置一个套接字服务器。我一直在我自己的机器上设置相同的服务器脚本,它可以完美地工作。在我的路由器中,我将端口10007转发到正确的机器,并将ip绑定到本地ip(192.168…:10007)


现在我需要在一个专用服务器上设置它,这就是问题的开始。我的服务器上似乎没有本地ip,至少ifconfig不会显示一个。我尝试绑定到公共ip,或者绑定到127.0.0.1或0.0.0.0,如果我从同一台机器(而不是另一台机器)进行telnet,则效果很好。有人知道怎么解决这个问题吗?我需要设置某种端口转发吗?

不绑定到特定的IP地址;使用任何(IPv4)或全零地址

Ubuntu包括自己的防火墙作为系统的一部分。如果无法从另一台计算机连接,请检查该计算机是否配置为阻止与端口的连接



编辑:您和服务器之间也可能有防火墙阻止端口。您可以向您的托管提供商或服务协议查询;他们可能需要专门启用所需的每个附加端口。一些提供商提供不同的托管软件包,从只允许端口80的基本web共享托管软件包到允许完全访问机器和所有端口的专用服务器。

不绑定到特定IP地址;使用任何(IPv4)或全零地址

Ubuntu包括自己的防火墙作为系统的一部分。如果无法从另一台计算机连接,请检查该计算机是否配置为阻止与端口的连接


编辑:您和服务器之间也可能有防火墙阻止端口。您可以向您的托管提供商或服务协议查询;他们可能需要专门启用所需的每个附加端口。一些提供商提供不同的托管软件包,从只允许端口80的基本web共享托管软件包,到允许完全访问计算机和所有端口的专用服务器。

NAT-允许多台计算机在向internet提供一个公共地址的路由器后面拥有本地地址。使用旧服务器时,几乎可以肯定您是在路由器后面而不是运行NAT,这就是为什么您必须进行端口转发才能到达服务器的原因

如果您当前没有使用NAT设备,那么这就是为什么在192.168.x.x或172.16.x.x或10.0.x.x范围内看不到专用地址的原因。你直接连接到互联网,私人地址和公共地址没有区别。79.136.x.x是你的公共广播,你没有私人广播。只需绑定到它并运行您的服务器。

NAT-允许多台机器在路由器后面拥有本地地址,路由器向internet提供一个公共地址。使用旧服务器时,几乎可以肯定您是在路由器后面而不是运行NAT,这就是为什么您必须进行端口转发才能到达服务器的原因


如果您当前没有使用NAT设备,那么这就是为什么在192.168.x.x或172.16.x.x或10.0.x.x范围内看不到专用地址的原因。你直接连接到互联网,私人地址和公共地址没有区别。79.136.x.x是你的公共广播,你没有私人广播。只需绑定到该端口并运行服务器。

运行程序后,端口是否在netstat中列出(我使用netstat-a)?这将告诉您端口是否已打开并正在侦听

运行程序后,端口是否列在netstat中(我使用netstat-a)?这将告诉您端口是否已打开并正在侦听

好的,现在我已经尝试了0.0.0.0,使用ufw启用了端口10007,检查了我没有任何iptables限制,并尝试从不同的机器连接。但它仍然无法工作:/n您是否能够ping服务器机器?您是否成功连接到其他端口?你确定没有其他防火墙保护服务器吗?是的,正在ping 79.136。。。。ip工作正常,我可以通过ssh连接到它,它上的Web服务器(端口80)工作正常。如何确定是否有防火墙阻止端口?这似乎是唯一可能发生这种情况的方法,但我不知道去哪里看,iptables-L没有给出任何规则。好的,现在我已经尝试了0.0.0.0,使用ufw启用了端口10007,检查我没有任何iptables限制,并尝试从不同的机器连接。但它仍然无法工作:/n您是否能够ping服务器机器?您是否成功连接到其他端口?你确定没有其他防火墙保护服务器吗?是的,正在ping 79.136。。。。ip工作正常,我可以通过ssh连接到它,它上的Web服务器(端口80)工作正常。如何确定是否有防火墙阻止端口?这似乎是唯一可能发生这种情况的方法,但我不知道去哪里看,iptables-L没有给出任何规则。请澄清条款。“我的服务器上似乎没有本地ip”是什么意思?ifconfig中只显示lo接口,没有eth0,等等。?公共ip是指路由器的外部ip?我有lo和eth0,但没有192.168.x.x中的“内部”ip。eth0有79.136.x.x,例如可以通过ssh和http从internet访问。因此,您的新服务器位于数据中心或在家中直接连接到电缆调制解调器或其他什么?它不在NAT设备后面?它在数据中心是的。不了解NAS。请澄清术语。“我的服务器上似乎没有本地ip”是什么意思?ifconfig中只显示lo接口,没有eth0,等等。?公共ip是指路由器的外部ip?我有lo和eth0,但没有192.168.x.x中的“内部”ip。eth0有79.136.x.x,例如可以通过ssh和http从internet访问。因此,您的新服务器位于数据中心或在家中直接连接到电缆调制解调器或其他什么?它不是在一辆汽车后面