telnet 在境内外不同网络下的结果为什么会不同呢?

2017-04-25 14:22:05 +08:00
 hanzhao
目标主机是港区虚拟机 地址: 118.184.5*.1*6 ,都是这个命令: telnet 118.184.5*.1*6 3306

本地北京联通:
telnet: connect to address 118.184.5*.1*6: Connection refused
telnet: Unable to connect to remote host

北京阿里云 ECS:
telnet: connect to address 118.184.5*.1*6: No route to host

目标主机机器终端:
Escape character is '^]'.
N
5.7.18-log�?


这是 Ubuntu 16.04 的一台机器, iptables ufw 都卸掉了,还是不行。请问这是 ip 被墙了吗?有办法解决吗?
2041 次点击
所在节点    问与答
9 条回复
lovejoy
2017-04-25 14:29:11 +08:00
telnet 服务有没有 listen 在 0.0.0.0 上呢?机房是不是做了限制呢?
lusheldon
2017-04-25 14:33:36 +08:00
分别 traceroute 看看。阿里云这个结果有点扯。北京联通这个结果说明是你的服务器配置有问题。
为什么要用 Telnet ,是 ssh 太安全了吗?
hanzhao
2017-04-25 14:39:35 +08:00
@lovejoy 工单问了,说是没有限制
$ netstat -nap | grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 16706/mysqld

不过应该还真是我的配置问题,,我挂全局代理也连不上去。

@lusheldon 您好,我现在的问题是这个 ip 22 、 80 都没问题, 3306 或者我试着改成另一个自定义的 1123 ,都不行。请问还有别的可能原因吗?
trepwq
2017-04-25 15:25:12 +08:00
一般 connection refused 是通过了防火墙但是没有服务监听,被挡在防火墙外面一般是 timed out ,阿里云那个应该是阿里云网络的问题吧
trepwq
2017-04-25 15:30:17 +08:00
或者有没有 fail2ban 什么的给拦截了?
trepwq
2017-04-25 15:32:10 +08:00
建议用 python 开个 3306 端口的 simplehttpserver ,排除一下,我觉得可能是 mysqld 的问题
hanzhao
2017-04-25 15:43:16 +08:00
@trepwq 您好,我按您的方法试了一下:

$> service mysqld stop
$> python -m SimpleHTTPServer 3306
Serving HTTP on 0.0.0.0 port 3306 ...

还是同样的结果,浏览器的返回是 ERR_CONNECTION_REFUSED 。至于 fail2ban ,我不是很了解,应该不是吧。

我打算重装系统,再 apt-get 装一遍环境吧,之前是通过 OneinStack 装的,我怕是它的问题。
lusheldon
2017-04-26 22:34:08 +08:00
@hanzhao 一般主机都不会开放 3306 给外网访问,这个你要查查 MySQL 的配置和 iptables 。不建议开放这个端口,不安全。
lusheldon
2017-04-26 22:36:45 +08:00
@hanzhao 你用本机肯定能连上,外网访问数据库会涉及比较多的限制,一般主机都不会开放 3306 给外网访问,这个你要查查 MySQL 的配置和 iptables 。不建议开放这个端口,不安全。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/357238

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX