可以 ssh 但无法访问网络服务器

可以 ssh 但无法访问网络服务器

我有两个 Web 服务器正在运行。一个在 8888,另一个在 1234。我无法访问它们,但我可以 ssh。我注意到 ssh(端口 22)的设置与 Web 服务器端口的设置不同。例如,它们的本地地址为 :::,而不是 0.0.0.0。这有问题吗?

netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:1234            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:58034           0.0.0.0:*               LISTEN
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN
tcp6       0      0 :::55644                :::*                    LISTEN
tcp6       0      0 :::111                  :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:631                 :::*                    LISTEN

以上内容都在虚拟机上运行,​​相关适配器已桥接到我的家庭网络。我可以从家庭网络 ssh,但无法 curl 网络服务器。

例如curl 192.168.1.228:8888

答案1

我认为您的意思是“不能”卷曲网站?

netstat 的结果具有误导性 - 带有 ::: 的结果针对的是 IPV6 连接,如左侧的“tcp6”所示 - 您可以忽略它们。有类似的 tcp 连接是正确的。

我怀疑你会发现你的发行版已经预先配置了一个基本的防火墙,它允许 ssh 进入,但不允许其他流量(在没有建立出站请求的情况下)。你没有告诉你的发行版,所以我不能告诉你如何正确修复它,但你可以很容易地检查你是否有一个防火墙

iptables -vnL | less 将显示防火墙规则。如果有的话,那可能就是您需要查看的地方。

发出类似“/sbin/iptables -I INPUT -p tcp --dport 8888”的命令将临时在端口 8888 上打开 Web 服务器 [即直到重新启动]。您可能需要编辑适合您的发行版的文件 - 如果是基于 Redhat,请编辑 /etc/sysconfig/iptables - 然后重新启动它。

答案2

检查是否安装了某些防火墙规则。尝试

iptables -L

如果你有阻止某些操作的规则,它们可能是启动脚本的一部分,可以使用以下方法取消:

/etc/init.d/iptables stop

你没有说你使用的是什么发行版,所以我不确定这是否是困扰你的问题。

相关内容