Linux Telnet拒绝了locahost,但通过IP工作?

Linux Telnet拒绝了locahost,但通过IP工作?,linux,jboss,ip,localhost,telnet,Linux,Jboss,Ip,Localhost,Telnet,我有一个奇怪的问题,具体来说是关于Jboss的JNDI和linux。 如果我通过ssh(Putty)在服务器上运行以下操作: telnet本地主机1099 它告诉我连接被拒绝了,但是。。。如果我跑步: telnet x 1099 其中x是服务器的ip地址,它连接,所有这些都在实际的服务器上 这怎么可能?不应该通过本地主机工作?我还尝试了127.0.0.1,但没有成功。听起来程序绑定到了特定的IP地址或网络接口。运行netstat-tnlp | grep:1099,您可能会看到它正在侦听非环回接口

我有一个奇怪的问题,具体来说是关于Jboss的JNDI和linux。 如果我通过ssh(Putty)在服务器上运行以下操作:

telnet本地主机1099

它告诉我连接被拒绝了,但是。。。如果我跑步:

telnet x 1099

其中x是服务器的ip地址,它连接,所有这些都在实际的服务器上


这怎么可能?不应该通过本地主机工作?我还尝试了127.0.0.1,但没有成功。

听起来程序绑定到了特定的IP地址或网络接口。运行netstat-tnlp | grep:1099,您可能会看到它正在侦听非环回接口


如果您可以指示应用程序侦听
0.0.0.0
(IPv4通配符地址),则可以从计算机上的任何网络接口访问该应用程序。

听起来该程序好像绑定到特定的IP地址或网络接口。运行netstat-tnlp | grep:1099,您可能会看到它正在侦听非环回接口


如果您可以指示应用程序侦听
0.0.0.0
(IPv4通配符地址),则可以从计算机上的任何网络接口访问该应用程序。

您确定环回接口已启动吗

# ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          ...

如果您没有看到
上环回运行
,而只看到
上环回
,请使用
ifconfig lo UP启动环回接口
,然后重试。

您确定环回接口已启动吗

# ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          ...

如果您没有看到
UP LOOPBACK运行
,而只看到
LOOPBACK
,请使用
ifconfig loup启动LOOPBACK接口
,然后重试。

我猜您的JBoss实例是通过选项--host=x(或-bx)启动的,其中x是IP地址(不是127.0.0.1,不是0.0.0.0,也不是localhost)

您可以通过检查JMXConsole中的系统属性来确定是否存在这种情况。找到MBeanjboss:name=SystemProperties,type=Service。找到名为showAll的操作并调用它。将显示系统属性。查找jboss.bind.address的值,您可能会发现它说的是x,而不是0.0.0.0,这听起来是你真正想要的

话虽如此,您可能对命名(jndi)上的绑定地址有一个特定的覆盖服务。--host=-b选项设置属性jboss.bind.address,该属性成为几乎所有网络服务的默认绑定地址,但可以将单个服务配置为与jboss.bind.address不同的特定绑定地址。请看一看查看JMXConsole中的jboss:service=NamingMBean,并查找BindAddress属性。该地址指示您可以连接到的接口。(如果它是0.0.0.0,那么它就是您的所有接口。)


希望能有所帮助。

我猜您的JBoss实例是以选项--host=x(或-bx)启动的,其中x是IP地址(不是127.0.0.1,不是0.0.0.0,也不是localhost)。这意味着JNDI将只监听x

您可以通过检查JMXConsole中的系统属性来确定是否存在这种情况。找到MBeanjboss:name=SystemProperties,type=Service。找到名为showAll的操作并调用它。将显示系统属性。查找jboss.bind.address的值,您可能会发现它说的是x,而不是0.0.0.0,这听起来是你真正想要的

话虽如此,您可能对命名(jndi)上的绑定地址有一个特定的覆盖服务。--host=-b选项设置属性jboss.bind.address,该属性成为几乎所有网络服务的默认绑定地址,但可以将单个服务配置为与jboss.bind.address不同的特定绑定地址。请看一看查看JMXConsole中的jboss:service=NamingMBean,并查找BindAddress属性。该地址指示您可以连接到的接口。(如果它是0.0.0.0,那么它就是您的所有接口。)


希望有帮助。

那么JBoss的绑定地址应该是0.0.0.0?或者JNDI服务如何绑定到0.0.0.0?这将是一个解决方案,是的。我已经尝试过了,JBoss绑定到0.0.0.0,问题仍然存在,这是“netstat-tnlp | grep:1099”的输出“tcp 0 0 172.20.41.135:1099 0.0.0.0:*听30306/java“根据该输出,它仍然绑定到172.20.41.135。我明白了,我会看一看,接受的答案。所以JBoss的绑定地址应该是0.0.0.0?否则JNDI服务如何绑定到0.0.0.0?这将是一个解决方案,是的。我已经尝试过了,JBoss绑定到0.0.0.0,问题仍然存在,这是来自的输出。”“netstat-tnlp | grep:1099”=“tcp 0 172.20.41.135:1099 0.0.0:*收听30306/java"根据该输出,它仍然绑定到172.20.41.135。我明白了,我会看看这个,接受的答案。我会在回去工作的时候试试这个。但我如何确保在服务器重新启动时启动环回呢?这取决于您的发行版。例如,在Debian上,您需要调整/etc/network/interfaces。在Red Hat上,我认为您必须e查看/etc/sysconfig/network脚本。我看到了正在运行的环回,还有其他建议吗?我会在回去工作时尝试这个。但是,我如何确保在服务器重新启动时环回启动?这取决于您的发行版。例如,在Debian上,您需要调整/etc/network/interfaces。在Red Hat上,我认为您必须查看/etc/sysconfig/net