![无法连接到 Red Hat 端口,但是可以 ping 通?](https://linux22.com/image/533582/%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%20Red%20Hat%20%E7%AB%AF%E5%8F%A3%EF%BC%8C%E4%BD%86%E6%98%AF%E5%8F%AF%E4%BB%A5%20ping%20%E9%80%9A%EF%BC%9F.png)
首先我要声明,我是 Linux 和网络方面的新手,所以说话要慢一点,要用大词。
我们有一台运行 GNOME 2.16 的 Red Hat 机器。我们正尝试在那里建立一个 Web 应用程序。从 Windows 开发环境,我们可以 ping RH,但无法 telnet 到 Web 容器
错误:
连接到 our.ip.address.## ...无法在端口 80## 上打开与主机的连接:连接失败
我已检查过的内容:
iptables 未运行
RH 框上的浏览器可以看到位于 127.0.0.1:80## 的 webapp
Web 应用程序默认包含 ip 0.0.0.0,这应该使其公开(对吗?)
两个盒子上的面具是一样的
RH 服务器也可以 ping 一个 subversion 服务器,但无法进行签出
我唯一能想到的就是窗户和 RH 盒子之间有防火墙,但我不知道如何检查。我想确保在敲 IT 的门之前我已经尝试了所有我能尝试的方法。
我还应该检查其他设置或 Linux 命令吗?
您的诊断是什么?
答案1
看起来您已经几乎涵盖了您可以在操作系统方面做的所有事情,去敲 IT 的门,看看他们要说什么。
答案2
我知道这个问题已经有一年了,但我刚刚遇到了完全相同的问题并想分享一下。
事实证明,系统启动时,我的主接口 (eth0) 不会自动连接。当 tomcat 启动时,它会绑定到所有已知接口 - 因此它从未绑定到我的外部 IP 地址,只绑定到 127.0.0.1。后来,当我启动接口并从 DHCP 服务器获取 IP 地址时,tomcat 已经在运行,并且不知道新 IP。
解决方案?停止 tomcat,确保所有接口都连接到有效的 IP 地址,然后重新启动 tomcat。
答案3
运行 tcpdump 来查看数据包是否到达你的服务器:
tcpdump -s 0 -X host x.x.x.x
其中 xxxx 是你说可以 ping 通的 Windows 测试机的 IP。
从该 Windows 机器,首先 ping Linux 服务器并确认您在 tcpdump 输出中看到这些 ICMP 数据包。这确认您正在监听正确的接口。然后尝试访问端口 80XX。
如果您没有看到这些 80XX 数据包,很可能是因为服务器之外的某些东西阻塞了连接(外部防火墙等)。
如果您确实看到了数据包,则说明您的服务器上需要进行一些调整。
因此,这不是一个解决方案,但它有助于缩小问题范围。
答案4
在你的 Red Hat 盒子上,运行:
数控-L-P 80##
然后在您尝试连接的盒子(或任何其他盒子)上运行:
nc 你的.fancy.ip.地址 80##
然后尝试输入一些内容并按回车键。它应该显示在 Red Hat 框中。
有关 netcat 的更多信息,请访问http://netcat.sourceforge.net/。
这将检查防火墙。如果成功,则表示您的应用服务器配置不正确。
祝你好运。