一个头痛的 ipv6 ssh 故障... - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
abbottcn
V2EX    Linux

一个头痛的 ipv6 ssh 故障...

  •  
  •   abbottcn 2021-11-23 11:18:56 +08:00 4702 次点击
    这是一个创建于 1417 天前的主题,其中的信息可能已经有所发展或是发生改变。
    A 机器, 科研网;
    B 机器, 教育网.

    A 机器运行 CentOS7.9; B 机器运行 Ubuntu 20.04.
    两台机器采用 ssh key 验证访问, 非 22 端口.

    经由 ipv6 网络, A 和 B 可以畅快的相互访问, 已经稳定工作 2 年多了....

    近一周,
    忽然发现,
    A ping 不到 B 机器, B 机器 ping 不到 A 机器.
    @A, ssh B, 无法登录;
    @B, ssh A, 无法登录.
    但是, 只要使用 ssh -vvv B, 或者 ssh -vvv A, 均可以访问.
    不过使用 ssh -v A 或者 B, 无法访问.
    无法访问, 就是终端里面 输入 ssh A 或者 ssh B 之后, 就没有动静了....

    又找了另一台 Linux 机器, C, 和 B 机器在同一个交换机后面.
    B 和 A 互通有问题的同时, C 和 A 经由 ipv6, 互通正常.

    经过查验,
    三台机器上, 防火墙都是开放的,
    root@soft:~# ip6tables -S
    -P INPUT ACCEPT
    -P FORWARD ACCEPT
    -P OUTPUT ACCEPT


    后续测试,
    找了一台亚马逊的机器, 具有 ipv6 地址,
    A 和 C 均可以访问, ssh 正常, ping 测试正常.

    B 机器, ping 无反应, ssh 登录无反应, 需要使用 ssh -vvv 模式才可以登录.

    其中, A 机器已经开机运行了 60 多天, B 机器, 系统重启也是故障依旧.

    虽然使用 Linux 十多年,
    不过就是当作桌面和字符界面的服务器来用的,
    这次这个网络故障, 实在头疼....

    以上三台机器的网络线缆, 均未动过...
    当然, 三台机器上, sshd 配置文件, 未曾修改过.
    看了一下 sshd 内容, 所用选项, 三台机器基本一致.

    诸位朋友, 能提供一点 debug 的思路吗?

    补充一下,
    ping 测试国内公开的 ipv6 DNS, 三台机器表现如下:
    A 和 C, 结果一致.
    B, 部分线路不通.

    获取 ipv6 的方式.
    墙壁接口-----网络线缆-----交换机----网线----服务器网卡, 服务器自动模式.
    会自动获取到一个合法的 ipv6 地址.
    手动设定 DNS, 比如采用 2a11::, 即可以 ipv6 网络畅通.
    B 和 C 在同一个办公室.
    A, B, C 在同一个城市.

    顺路吐槽一下各种标注支持 ipv6 的手机 App.
    在纯 ipv6 模式下, 基本都无法工作.
    21 条回复    2021-11-27 20:10:34 +08:00
    defunct9
        1
    defunct9  
       2021-11-23 11:21:33 +08:00
    B 机器有毛病了
    KaynW
        2
    KaynW  
       2021-11-23 11:23:23 +08:00
    @defunct9 这不得开下机器, 让我 ssh 上去看看吗
    xarthur
        3
    xarthur  
       2021-11-23 11:27:40 +08:00
    「在纯 ipv6 模式下, 基本都无法工作.」
    是的,好像他们的主网址有 AAAA 解析了就可以标准支持 IPv6 ,实际上完全无法正常访问,有的是可以打开,但是所有的资源文件都加载不出来。
    abbottcn
        4
    abbottcn  
    OP
       2021-11-23 11:32:39 +08:00
    @KaynW 我也想让你上来访问.... 可是, 教育网和科研网的 ipv6 地址, 不是所有地方都可以访问进来的.... 很早之前, 至少教育网的 ipv4, ipv6, 从大陆以外的网络, 只要是大陆以外的网络, 均可以直接访问. 2,3 年前, 通过 ipv4 就彻底不行了. ipv6, 部分线路依旧可以访问, 比如同城的电信网络就可以.
    abbottcn
        5
    abbottcn  
    OP
       2021-11-23 11:33:43 +08:00
    @defunct9 我也推测是 B 机器故障了, 但是无法定位到故障原因. 重新灌系统, 又是特别头疼的问题. 系统安装与 6 年前, 前前后后, 配置了很多东西, 头疼....
    div id="r_11101171" class="cell">
    KaynW
        6
    KaynW  
       2021-11-23 11:34:04 +08:00
    @abbottcn 哈哈哈, 不是说我想上去访问, 我是问 1 楼为啥不 ssh 上去 XD
    ungrown
        7
    ungrown  
       2021-11-23 11:41:34 +08:00
    我也觉得 B 肯定哪里不对劲,可能硬件可能软件。
    另外,别以为设置了对照变量,重复了多次,就不会因为随机性引起假象而做出误判,我收藏夹里就有一个笑死人的 https://www.bilibili.com/video/BV1qq4y1T7Eu
    另外,凡是遇到这种“灵异”的问题,如果可以绕开或者可以替代的话,请毫不犹豫的选择绕过它,大家都是常年折腾的经验丰富人士,应该明白很多事情就算搞明白了也只会抽自己大嘴巴或者哭笑不得。
    defunct9
        8
    defunct9  
       2021-11-23 11:44:01 +08:00
    开 ssh ,让我上去看看。应 2 楼的要求。
    abbottcn
        9
    abbottcn  
    OP
       2021-11-23 11:45:06 +08:00
    @ungrown 你说的对...我倾向于怀疑, B 机器硬件有问题, 前几天遭遇了重启后, 部分数据丢失. 差了一下, 固态盘都 7 年多了... 好在现在有备用机器可以提供两个工作室的 ipv6 互联访问, 要不然就彻底歇菜了...
    abbottcn
        10
    abbottcn  
    OP
       2021-11-23 11:52:37 +08:00 via iPhone
    补充一下,故障是出现在某次突发断电之后。
    B 经历过突发断电; A 和 C 供电正常,uptime 均在一个月以上。

    ssh 登录,可以的,等我回头创建一个用户,并合理规制一下访问权限。
    超级权限,不行。机器瘫痪了,一堆白嫖资源的人,会骂娘的。
    dreamage
        11
    dreamage  
       2021-11-23 12:56:10 +08:00
    ssh -vvv B, ssh -v B
    两端抓包,看看哪里不一样
    kav2007
        12
    kav2007  
       2021-11-23 21:40:33 +08:00
    1. ssh -vvv B 登录上去,检查系统负载、内存使用率,磁盘空间使用率等等;查看日志 /var/log/auth.log 和 /var/log/syslog ,还有 lastb 是否有被黑的迹象
    2. tcpdump 抓包, 分别看一下 ping 和 ssh 时,B 是否能收到包
    3. 在同一网段的 C 和 B 之间能 ping 通吗,从 C 能直接 ssh 连上 B 吗?
    4. 根据 man 手册,ssh -v 参数只是打印调试信息,按说不影响通与不通
    -v Verbose mode. Causes ssh to print debugging messages about its progress. This is helpful in debugging connection, authentication, and configuration
    problems. Multiple -v options increase the verbosity. The maximum is 3.
    ResidualBlood
        13
    ResidualBlood  
       2021-11-24 09:24:28 +08:00
    @abbottcn BYR: 你直接念我身份证得了
    abbottcn
        14
    abbottcn  
    OP
       2021-11-24 11:09:06 +08:00 via iPhone
    @kav2007 多些提醒。
    B 和 C 是互通的。

    机器负载都正常。

    仅仅是 B 机器,可以访问的 IPv6 线路,比 A 和 C 要少。 我找了一堆公开的 IPv6 DNS ,不同机构提供的,我认为是不同的线路。

    我回头看看如何抓包做分析。

    虽然用 Linux 很久,不过各位大佬说的技巧,我一概不会。
    我仅仅用 Linux 机器来干活。因为我用到的很多软件只工作在 Linux 平台。
    用 ssh ,也仅限于登录机器,会点 scp 。其他都没有接触过。
    abbottcn
        15
    abbottcn  
    OP
       2021-11-24 11:22:48 +08:00 via iPhone
    @ResidualBlood 抱歉,没明白你的意思……
    ResidualBlood
        16
    ResidualBlood  
       2021-11-24 14:11:06 +08:00
    @abbottcn 这是一个吐槽,针对教育网 v6 站点环大陆开放=-=
    kav2007
        17
    kav2007  
       2021-11-24 23:26:17 +08:00
    @abbottcn #14 前面你说过 B 和 C 在同 1 个办公室、同 1 个交换机。B 和 C 的 IPv6 地址属于同一网段吗?
    如果同一网段,B 部分线路不通,而 C 线路通。是不是中间设备对 B 的 IPv6 地址做了限制?
    可以试着给 C 手动换个 IPv6 地址,看看是否问题还存在

    然后分别从 B 和 C 上执行 traceroute -6 目的 IPv6 命令,对比一下返回结果,看看中间哪一跳出现的问题
    abbottcn
        18
    abbottcn  
    OP
       2021-11-26 17:47:12 +08:00
    @kav2007 多谢你的建议.
    补充一下, C 和 B, 都是接在学校提供的交换机上, 但是不在一个房间, 应该是对应的“学校交换机”端口不同.

    找了一个备用的 Mac mini, 运行的是 ubuntu 20.04. 由于 B 机器所在的房间, 之后一个教育网接口. 因此采用墙壁接口---线缆---8 口千兆交换机--线缆---机器 B, Mac mini.

    发现, Mac mini 也具有同样的网络故障.
    修改网卡物理地址, 重启机器后, 自动获取到新的 ipv6 地址, B 机器, 和 Mac mini 依旧同样的网络故障.

    推测, 可能交换机端口上, 有人做了其他设定.

    比如测试访问 2a11::, 这是一个 DNS.
    同一个楼里面网络正常的机器上, 结果如下:
    root@dog:~# traceroute6 -m 60 2a11::
    traceroute to 2a11:: (2a11::) from 2001:da8:b000:2206:12dd:b1ff:febf:f2a3, 60 hops max, 24 byte packets
    1 cernet2.net (2001:da8:b000:2206::1) 17.0783 ms 1.0144 ms 0.7626 ms
    2 2403:8c00:aaaa:40::1 (2403:8c00:aaaa:40::1) 16.0906 ms 1.4839 ms 1.2509 ms
    3 2403:8c00:aab:1::1 (2403:8c00:aab:1::1) 9.7193 ms 5.2405 ms 1.6415 ms
    4 2403:8c00:aab::1 (2403:8c00:aab::1) 8.3758 ms 1.6429 ms 1.0023 ms
    5 * * *
    6 * * *
    7 2001:da8:2:113::1 (2001:da8:2:113::1) 1.6793 ms 3.4028 ms 1.2467 ms
    8 2001:da8:2:21::1 (2001:da8:2:21::1) 5.9035 ms 5.9346 ms 5.5936 ms
    9 2001:da8:2:7::1 (2001:da8:2:7::1) 16.2851 ms 16.1681 ms 16.1665 ms
    10 cernet2.net (2001:252:0:2::101) 15.8865 ms 15.9538 ms 16.4155 ms
    11 cernet2.net (2001:252:0:100::2) 15.5133 ms 15.3729 ms 15.3900 ms
    12 * * *
    13 * * *
    14 public-dns-b.dns.sb (2a11::) 50.6001 ms 50.4106 ms 50.5090 ms
    root@dog:~#


    网络不正常的 B 机器, 测试如下:
    [wang@lab-itc ~]$ traceroute6 -m 60 2a11::
    traceroute to 2a11:: (2a11::) from 2001:da8:b000:2206:230:7dff:fec2:643f, 60 hops max, 24 byte packets
    1 cernet2.net (2001:da8:b000:2206::1) 7.2841 ms 0.8311 ms 0.6703 ms
    2 2403:8c00:aaaa:40::1 (2403:8c00:aaaa:40::1) 8.0636 ms 1.5823 ms 1.2270 ms
    3 2403:8c00:aaa:4::2 (2403:8c00:aaa:4::2) 12.1945 ms 5.0208 ms 1.5310 ms
    4 2403:8c00:aab:6::2 (2403:8c00:aab:6::2) 8.5477 ms 12.7846 ms 1.0708 ms
    5 * * *
    6 * * *
    7 2001:da8:2:113::1 (2001:da8:2:113::1) 1.6558 ms 1.5946 ms 1.3102 ms
    8 2001:da8:2:21::1 (2001:da8:2:21::1) 6.0097 ms 6.0898 ms 6.0468 ms
    9 2001:da8:2:7::1 (2001:da8:2:7::1) 16.4969 ms 16.3196 ms 16.0699 ms
    10 * * *
    11 cernet2.net (2001:252:0:100::2) 15.4671 ms 15.4544 ms 15.4313 ms
    12 cernet2.net (2001:252:0:106::2) 16.2406 ms 16.6229 ms 21.0131 ms
    13 xtom2-10g.hkix.net (2001:7fa:0:1::ca28:a0fb) 50.1439 ms 50.3652 ms 50.2926 ms
    14 * * *
    15 * * *
    后面都是 * * *

    技能有限, 看不懂如上的信息都是啥意思.

    B 和 C, ipv4 都是在同一个网关下面的, 采用 MAC+IP 地址绑定方式, ipv6 是自动获取的.
    所以, 推测, B 和 C 得到的 ipv6 地址是一个地址段(?), 只是猜测....
    但是, 两者访问 2a11::的表现, 显然是不同的.


    也有尝试, 在网络故障的机器上, 更换其他 PCIe 网卡, 更换 USB 外接网卡, 故障依旧.

    尝试联系 学校网络中心, 暂时未得到任何有用的信息. 只有一位接线员提到, ipv6 是测试网络, 可用性不保证.

    这个网络故障太闹心了....
    我还是搞一个电信的无线路由器, 方便简单.

    感谢大家的意见和建议.
    再次感谢.
    kav2007
        19
    kav2007  
       2021-11-26 21:53:55 +08:00
    @abbottcn 从 traceroute6 的结果对比,说明 B 和 C 分别走了 2 个不同的网络路径。从第 3 跳开始路径不同,第 11 跳后路径又不同。相当于先后出现 2 个岔路口。IPv6 地址通常前 64 位是网络前缀,B 和 C 属于同一网段。

    条条大路通罗马,如果找网络中心不好解决,自己加电信路由器是个办法。

    也可以用 C 当跳板机,mac 或 Linux 新版 openssh 支持 ProxyJump ,加一行配置能用跳板机。

    或者在 C 上用 iptables 或第三方程序配个端口转发,把 C 上的某个端口映射到 B 的 ssh 端口。
    abbottcn
        20
    abbottcn  
    OP
       2021-11-27 15:00:28 +08:00 via iPhone
    @kav2007 感谢分析解读。

    是有在使用 ProxyJump 来暂时解决问题。

    我相信官方肯定能说明白为何会这样,可能是我目前没有找到官僚机构里面的技术人员。

    再次感谢帮我分析解读。

    另,我检查了所有 key ,以及 sshd 相关设定,应该没有被入侵。

    之前,允许普通用户密码登录+AllowUser 设定。拒绝 root 密码登录。如果是采用系统漏洞拿到了 root 权限,这位大神也可以去显摆一下了。机器上,是有一个针对内线开放的 wordpress 页面,有 cockpit ,有 netdata ,似乎没啥的了。

    再次感谢大家的协助。
    kav2007
        21
    kav2007  
       2021-11-27 20:10:34 +08:00
    @abbottcn 不用客气
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1299 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:55 PVG 07:55 LAX 16:55 JFK 19:55
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86