主机名未解析(主机无法连接)

主机名未解析(主机无法连接)

我认为这不是通常的“主机名未解析”问题,并且我认为这与我下面讨论的服务无关:

  1. 我有一个安装了 Anaconda 的 jupyter notebook 的集群,该笔记本已启动,其端口也已启动。基本上,jupyter notebook 是在主机上运行的一项服务,用户可以从其工作站访问它。
  2. 要访问该服务,用户需要访问http://主机名:端口
  3. 在主机上,我可以使用http://本地主机:端口
  4. 在同一台主机上,当我尝试http://主机名:端口,我被拒绝并显示错误:无法连接到主机
  5. 我能够从我的工作站和同事的工作站 ping 主机。

    那么这里到底出了什么问题?

    非常感谢。任何提示都值得感激。

答案1

此类问题通常是因为该服务仅针对本地网络配置。

您可以通过在命令提示符中输入以下命令来检查这一点:

netstat -an 

检查输出中具有 LISTENING 条目的带有您的端口号的条目。

如果它正在监听所有接口,它将有一个或类似的,取决于它是在 IPv4 还是 IPv6 中监听,或者两种模式都监听。

如果是这种情况,则需要更改服务以使用所有接口。

答案2

首先,请验证服务器的端口开放情况。请从另一个工作站进行 telnet。

telnet 主机端口

如果这不起作用,请运行以下命令

sudo netstat -upant | grep <port>

应该有一个

tcp        0      0 0.0.0.0:<port>           0.0.0.0:*               LISTEN 

如果有 127.0.0.1 而不是 0.0.0.0,这就是出现此行为的原因

如果您可以看到 0.0.0.0 或主机的 IP 地址,请检查防火墙设置(Linux 中的 iptables)

因此,请更改服务的配置以监听任何接口或主机的特定接口。检查您的配置,可能只有一个适用于本地主机的配置。

我认为这个 URL 可以帮助您获取更多信息:-

http://jupyter-notebook.readthedocs.io/en/stable/public_server.html

相关内容