V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
photon006
V2EX  ›  云计算

甲骨文重启失联, Connection closed by remote host

  •  
  •   photon006 · 2022-06-09 11:10:10 +08:00 · 3546 次点击
    这是一个创建于 927 天前的主题,其中的信息可能已经有所发展或是发生改变。
    2 月份薅的羊毛,2 台 amd 2c1g 小鸡,系统都是 ubuntu20.04 ,稳定运行几个月,昨天执行完 sudo apt update ,更新了 docker ,重启后 ssh 失联,vnc 连上去发现开机时系统启动一系列服务包括 sshd 能正常启动,过了几秒到 docker 就异常崩溃,导致网络断开 ssh 无法登录。

    打开 vnc 窗口,强制重启实例,拼手速在 sshd 正常启动 docker 还没开始启动那一瞬间用 ssh 登录上去执行:sudo systemctl disable docker ,把 docker 从开机自启里移除,再重启实例就能恢复正常,ssh 登录卸载 docker 重装 docker 照样崩溃,看来是救不活,存疑。

    另一个实例也出故障,直接连不上。

    浏览器打开 web 管理后台,oracle 帐号是好的,登录进去删了连不上的实例,重新创建 ubuntu20.04 、ubuntu22.04 、oracle linux 都无法连接,报错:

    kex_exchange_identification: Connection closed by remote host

    当然能确定的是 ip 、端口都是通的,ping 、telnet 22 都正常,看起来像被防火墙阻断,检查了入站规则又没问题,迷醉。

    vnc 连上去可以看到登录界面,但输入帐号 ubuntu 后要输密码,oracle 内置的 ubuntu 镜像没有默认密码只能 ssh key 登录,就很扯,救援模式也没用。

    在 web 界面终止删除实例 -> 重新创建,重复好多次都一样

    还尝试用自定义镜像安装 debian ,上传到 bucket 导入提示:免费套餐过期配额不足不能使用自定义镜像。

    注册帐号到 oracle 社区论坛,尝试发帖提示没权限。

    各位彦祖,还有其他办法吗?

    docker 那台能不能救

    新实例如何连上去。
    2 条回复    2022-06-10 10:07:08 +08:00
    jy02201949
        1
    jy02201949  
       2022-06-10 10:05:43 +08:00
    这个问题我觉得 MJJ 论坛的人可能更有经验
    photon006
        2
    photon006  
    OP
       2022-06-10 10:07:08 +08:00
    新实例能连上了。

    刚开始,直接 ssh 公网 ip 报错:kex_exchange_identification: Connection closed by remote host

    随便用一台没添加 ssh key 的 linux 客户机器 ssh 连接,报错:Permission denied (publickey)

    错误信息不一样,证明创建实例时添加的公钥是正确的,服务端已经正常识别,但还是给我阻断,迷醉。

    然后我用 docker 崩溃那台小鸡作为跳板机,ping 新实例的内网 ip ,通,telnet 22 也通,那直接尝试内网 ssh ,把我本机私钥复制到跳板机,chmod 400 id_rsa ,ssh -i id_rsa ubuntu@ip 就连上了。


    进去关闭防火墙:
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT
    sudo iptables -P OUTPUT ACCEPT
    sudo iptables -F

    重启后,公网 ip 也能连上了。


    以为后续常规操作就稳了,这次小心一点不敢开启 bbr ,照例 docker 安装服务,v2ray 、blog 正常运行,当安装 wg_easy 时又崩了,命令大概是这样:

    ```
    docker run -d \
    --name=wireguard \
    -e WG_HOST=vm_public_ip \
    -e WG_PORT=60373 \
    -e PASSWORD=pwd \
    -e WG_DEFAULT_DNS=8.8.8.8,1.1.1.1 \
    -e TZ=Asia/Chongqing \
    -v /opt/wg_easy:/etc/wireguard \
    -p 60373:51820/udp \
    -p 51821:51821/tcp \
    --cap-add=NET_ADMIN \
    --cap-add=SYS_MODULE \
    --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
    --sysctl="net.ipv4.ip_forward=1" \
    --restart unless-stopped \
    weejewel/wg-easy
    ```

    猜测可能是 sysctl 参数导致的,怕了怕了,web 后台终止删除 vm 重建一个,放弃 wireguard ,v2ray 还是很好用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2677 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:45 · PVG 15:45 · LAX 23:45 · JFK 02:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.