重新翻出来之前的问题,求大神给个思路!

2017-08-01 16:56:17 +08:00
 ety001

之前的问题: https://www.v2ex.com/t/357731#reply0

4435 次点击
所在节点    宽带症候群
30 条回复
warcraft1236
2017-08-01 18:36:15 +08:00
重装系统
linhua
2017-08-01 19:09:18 +08:00
看看 Mac 防火墙设置,VirtualBox 联网不受防火墙影响

具体的,可用 wireshark 抓包,不过 wireshark 不能对 VirtualBox 抓包(不能抓到从 virtualBox 出去的包,只能抓到进来的包)
ety001
2017-08-01 19:53:22 +08:00
@linhua #2 是不是 docker 也不受 Mac 防火墙限制?
ety001
2017-08-01 19:55:17 +08:00
@linhua #2 刚看了,防火墙是关闭的。印象中之前是安装过 Proxifier,这个软件会不会对系统的网络链路有影响?
ety001
2017-08-01 20:28:12 +08:00
![12345.png]( https://i.loli.net/2017/08/01/59807247c6c56.png)

wireshark 的抓包也是出现在那个卡主的位置,就收不到服务器回给的响应了。

现在的情况总结下就是:

1. MacPro 无法 ssh 到远程的服务器
2. MacPro 可以 ssh 到同局域网下的服务器
3. MacPro 里的 VirtualBox 在 NAT 网络下可以 ssh 连接到远程的服务器
4. MacPro 里的 VirtualBox 在桥接模式下不能 ssh 连接到远程服务器
5. MacPro 里的 Docker 容器可以走 NAT 模式连接到远程的服务器

其他的情况:

1. 主路由是 TP-Link 刷的 OpenWrt,已经重置过配置
2. 网络是中国移动的网络,PPPoE 拨号后没有公网 IP
3. 目前为止,我的 MacPro 只发现在这个家的网络有这个问题,回到另外一个家,或者在咖啡厅,或者用手机热点都可以正常 ssh 到远程服务器,另外一个家的网络是联通的
4. 之前也是没有问题的,这个问题是突然出现的,且已经持续了有好几个月了
Lpl
2017-08-01 21:17:46 +08:00
看一下 `~/.ssh/known_hosts` 文件,看日志是 ssh 找到 ~/.ssh/known_hosts 文件中的某一条对应的了。

试一下这么做:
- 清空 ~/.ssh/known_hosts 文件
- ssh xxxx@xxx.xxx.xxx.xxx ,看是否能出现信息

另外,连不上的意思是:运行 ssh root@xxx.net 后卡着不动了,还是有一些出错信息?
ety001
2017-08-01 21:41:00 +08:00
@Lpl #6 看下我之前的那个帖子的 ssh -vvvvv 的信息,其实已经验证都通过了,就是不知道验证后的哪一步卡主了,表面现象像是服务器不再继续响应了一样。
ety001
2017-08-01 21:41:37 +08:00
@Lpl #6 known_hosts 之前最早的时候尝试过清空,没有用,因为不是在这里卡主的。
Lpl
2017-08-01 22:03:14 +08:00
@ety001 抱歉,是我审题不清楚的缘故。麻烦看下你的 ssh 版本:ssh -V
current
2017-08-01 22:20:06 +08:00
建议抓一下包,看看卡住那之前发了什么包,断开之前又是收到了什么包
Lpl
2017-08-01 22:25:02 +08:00
这样子,咱们重新考虑下解题思路,用排除法。

首先,由于你链接很多目标机器都是不行的,可以先排除目标机器有问题。
然后,你切换手机热点就能登录,可以发现问题是出在网络上,这个网络可能是你路由器的原因,也可能是网络运营商的原因。

这时候,麻烦你随便找一台能 ssh 的机器,做一下如下的操作,贴上一些信息:
- ping ip
- traceroute ip
- telnet ip 22

做一下这三条命令把相关信息贴出来
ety001
2017-08-02 00:33:24 +08:00
@Lpl #9

我这里手头就一台电脑。。。

在我 mac 上执行结果

➜ ~ ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2l 25 May 2017

➜ ~ traceroute cx.dev.aws
traceroute to cx.dev.aws (52.36.88.202), 64 hops max, 52 byte packets
1 openwrt (192.168.10.1) 1.162 ms 0.817 ms 3.183 ms
2 10.202.128.1 (10.202.128.1) 2.279 ms 4.065 ms 2.137 ms
3 10.253.53.1 (10.253.53.1) 2.093 ms 1.588 ms 2.280 ms
4 * * 10.253.53.66 (10.253.53.66) 5.434 ms
5 218.201.122.29 (218.201.122.29) 3.356 ms
218.201.171.193 (218.201.171.193) 2.817 ms
218.201.122.29 (218.201.122.29) 3.261 ms
6 * * *
7 221.183.12.205 (221.183.12.205) 4.331 ms
221.183.26.121 (221.183.26.121) 6.540 ms
221.183.12.205 (221.183.12.205) 3.874 ms
8 221.183.10.26 (221.183.10.26) 43.694 ms 25.852 ms
221.183.36.9 (221.183.36.9) 19.855 ms
9 * * *
10 * * *
11 221.183.30.230 (221.183.30.230) 236.005 ms *
221.183.30.242 (221.183.30.242) 195.771 ms
12 223.118.10.154 (223.118.10.154) 202.130 ms
223.118.10.18 (223.118.10.18) 204.819 ms 201.587 ms
13 223.119.64.30 (223.119.64.30) 187.104 ms
223.119.64.38 (223.119.64.38) 201.632 ms 201.745 ms
14 54.239.102.56 (54.239.102.56) 199.599 ms * 210.335 ms
15 54.239.103.61 (54.239.103.61) 207.729 ms
54.239.102.223 (54.239.102.223) 206.440 ms 202.570 ms
16 54.239.42.116 (54.239.42.116) 245.681 ms *
54.239.42.118 (54.239.42.118) 296.105 ms
17 52.93.14.48 (52.93.14.48) 242.277 ms
52.93.13.2 (52.93.13.2) 220.075 ms
52.93.13.40 (52.93.13.40) 342.491 ms
18 52.93.12.33 (52.93.12.33) 405.642 ms
52.93.12.73 (52.93.12.73) 231.978 ms
52.93.14.251 (52.93.14.251) 233.059 ms
19 52.93.12.36 (52.93.12.36) 246.425 ms
52.93.15.30 (52.93.15.30) 232.340 ms
52.93.14.38 (52.93.14.38) 234.581 ms
20 52.93.14.57 (52.93.14.57) 231.434 ms
52.93.12.207 (52.93.12.207) 222.136 ms
52.93.15.53 (52.93.15.53) 224.676 ms
21 52.93.15.215 (52.93.15.215) 215.976 ms
54.239.48.183 (54.239.48.183) 227.565 ms
52.93.15.213 (52.93.15.213) 295.120 ms
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 x.dev.aws.canior.com (52.36.88.202) 231.117 ms 230.676 ms *

➜ ~ telnet cx.dev.aws 22
Trying 52.36.88.202...
Connected to cx.dev.aws.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.4


我在我的主路由上的执行结果如下:

root@OpenWrt:~# ping 52.36.88.202
PING 52.36.88.202 (52.36.88.202): 56 data bytes
64 bytes from 52.36.88.202: seq=0 ttl=41 time=225.125 ms
64 bytes from 52.36.88.202: seq=1 ttl=40 time=227.555 ms
64 bytes from 52.36.88.202: seq=2 ttl=40 time=227.336 ms
^C
--- 52.36.88.202 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 225.125/226.672/227.555 ms

root@OpenWrt:~# traceroute 52.36.88.202
traceroute to 52.36.88.202 (52.36.88.202), 30 hops max, 38 byte packets
1 10.202.128.1 (10.202.128.1) 2.306 ms 2.553 ms 15.661 ms
2 10.253.53.1 (10.253.53.1) 1.418 ms 1.194 ms 0.936 ms
3 * * *
4 223.96.95.153 (223.96.95.153) 2.317 ms 218.201.171.193 (218.201.171.193) 1.724 ms 218.201.122.29 (218.201.122.29) 1.724 ms
5 * 120.192.97.101 (120.192.97.101) 9.342 ms *
6 221.183.27.89 (221.183.27.89) 3.481 ms 221.183.12.193 (221.183.12.193) 23.044 ms 221.183.26.121 (221.183.26.121) 2.877 ms
7 221.183.36.9 (221.183.36.9) 19.007 ms 14.025 ms 221.176.15.37 (221.176.15.37) 17.089 ms
8 * 221.176.21.230 (221.176.21.230) 18.245 ms 27.960 ms
9 * * *
10 221.183.30.242 (221.183.30.242) 186.954 ms 221.183.30.246 (221.183.30.246) 188.862 ms 200.030 ms
11 223.118.10.18 (223.118.10.18) 204.393 ms 223.118.10.86 (223.118.10.86) 195.973 ms 223.118.10.154 (223.118.10.154) 200.133 ms
12 223.119.64.38 (223.119.64.38) 206.754 ms 202.524 ms 208.163 ms
13 54.239.103.28 (54.239.103.28) 218.129 ms 54.239.102.104 (54.239.102.104) 196.180 ms 54.239.102.56 (54.239.102.56) 207.001 ms
14 54.239.102.87 (54.239.102.87) 201.614 ms 54.239.102.109 (54.239.102.109) 189.092 ms 54.239.102.221 (54.239.102.221) 214.834 ms
15 * * *
16 52.93.12.112 (52.93.12.112) 215.291 ms * 52.93.12.42 (52.93.12.42) 226.266 ms
17 52.93.14.219 (52.93.14.219) 227.360 ms 52.93.12.251 (52.93.12.251) 219.053 ms 52.93.14.39 (52.93.14.39) 225.515 ms
18 * 52.93.15.28 (52.93.15.28) 240.180 ms *
19 52.93.14.135 (52.93.14.135) 227.909 ms 52.93.15.59 (52.93.15.59) 226.461 ms *
20 52.93.15.209 (52.93.15.209) 222.906 ms 205.251.232.63 (205.251.232.63) 228.408 ms 52.93.15.237 (52.93.15.237) 219.540 ms
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 52.36.88.202 (52.36.88.202) 223.111 ms 230.957 ms 225.518 ms

root@OpenWrt:~# telnet 52.36.88.202 22
SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.4


非常感谢你这么上心,不过按照我之前帖子,提出来的 ssh 的 debug 信息来看,我已经成功连接到服务器的端口上,并且完成了身份认证了,所以我觉得你给出的这三条命令,并不能看出来什么端倪。

另外关于『然后,你切换手机热点就能登录,可以发现问题是出在网络上,这个网络可能是你路由器的原因,也可能是网络运营商的原因』,其实很奇怪,如果说我网络有问题的话,我电脑里的虚拟机通过 NAT 应该也登陆不上去。而实际上我电脑里的虚拟环境(vbox 和 docker 容器)只要用 NAT 联网,就很正常的登陆远程服务器。我在我主路由上也尝试过登陆远程服务器,也是登陆不上去,跟我在 mac 上的表现一致。
ety001
2017-08-02 00:58:38 +08:00
另外补充一点,我 Mac 挂 VPN 后,就可以正常的登陆远程服务器了。。。
jiangzhuo
2017-08-02 02:02:57 +08:00
大胆的猜测一下,中间有运营商劫持的设备程序写出 BUG 了,中间有什么地方触到墙的 G 点了
Lpl
2017-08-02 06:53:49 +08:00
traceroute 和 telnet 后看起来跟网络确实没得什么关系,实在很抱歉。在网上查了下资料,发现可能跟 OS X 系统的版本有关系。

附上两个可能有用的链接:
- https://thecustomizewindows.com/2017/06/fix-write-failed-broken-pipe-packet_write_wait-connection-port-22-broken-pipe/
- https://discussions.apple.com/thread/7369445?start=0&tstart=0

另外附上我 Mac 的相关信息:
- 系统版本:EI Caption 10.11.4 (15E65)
- SSH 版本:OpenSSH_6.9p1, LibreSSL 2.1.8

希望对你有帮助
linhua
2017-08-02 08:37:28 +08:00
https://discussions.apple.com/thread/3266583?start=30&tstart=0

sudo sysctl -w net.inet.tcp.always_keepalive=9999
Sh888
2017-08-02 09:25:04 +08:00
ssh 协议在 7 月 1 日以后已经被墙。
ety001
2017-08-02 09:28:02 +08:00
@jiangzhuo #14
@Sh888 #17

应该不是墙的原因,我连我国内的服务器也是连不上去的。。。

目前为止,只发现在我这个家的网络下才出这种奇怪的现象。
ety001
2017-08-02 09:33:03 +08:00
@Lpl #15 再次感谢,看了下你给的文章,操作内容比较多,我觉得我还是不为了这个奇怪的问题冒险修改了,感觉风险有些大。
Sh888
2017-08-02 09:38:03 +08:00
@ety001 在公司网络有没有这个问题?我用 SSH 也是家用网络有问题,公司的固定 IP 就没有问题。墙现在也是分布式的部署。而且最近都在查国内 IP 上的 VPN 服务,不知道对 SSH 是不是也有新的策略。

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

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

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

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

© 2021 V2EX