一天后无法通过 ssh 连接到 Linux VM

一天后无法通过 ssh 连接到 Linux VM

我有一台机器,上面运行着 4 个虚拟机。其中有一个 Fedora 虚拟机给我带来了一些麻烦。虚拟机的 IP 类似于 10.100.100。*我有一台位于同一网络中的 Windows PC。它的 IP 为 10.100.25.77。当我重新启动 Fedora 虚拟机时,我可以从我的 Windows PC ping 它,也可以使用 putty ssh 连接到它。第二天,我无法 ping 它或从我的 Windows PC ssh。但是我可以 ping 和 ssh 到机器上的其他虚拟机。如果我 ssh 到其他虚拟机之一,我可以 ping 和 ssh 到 Fedora 虚拟机。接下来,如果我重新启动它,一切就会恢复正常,我可以毫无问题地访问它。虚拟机的 IP 在重新启动后不会改变,并且是静态分配的

我想知道是什么原因造成的以及如何修复它。

作为最后的手段,我正在考虑运行一个 cron 作业来每晚重新启动 VM,它不是一个关键服务器,但通常会在白天偶尔使用。

Nmap scan report for 10.100.100.81
Host is up (0.00018s latency).
Not shown: 995 closed ports
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
111/tcp open  rpcbind
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address:XX:XX:XX:XX:XX:XX (VMware)

答案1

我没有足够的声誉来添加评论,因此写一个答案......

问题?您使用什么进行虚拟化,您拥有什么样的网络环境?(桥接/路由/等)

请检查以下内容:

  1. Fedora VM 网络掩码为 255.0.0.0

  2. 无法访问后,进入可以访问故障 VM 的 VM 之一,从另一个 VM 通过 ssh 跳转到该 VM,然后尝试从该 VM ping Windows 主机。如果成功,尝试从 Windows 通过 ssh 进入该 VM,如果现在成功,则您的问题是 Windows 主机 arp 请求定位 Fedora 未被发送到 Fedora VM/由 Fedora VM 回复。

  3. 等待再次发生,然后比较 Fedora 不可达 Linux VM 与另一个 Linux VM 之间的以下命令输出:

    • 路线-n
    • ARP-A
    • iptables -L -n -v
  4. 检查 /var/log/messages 或 /var/log/syslog 是否有任何服务在夜间被 logrotate 或其他程序自动重启,如果是,请尝试从 shell 自行重启该服务,看看这是否会破坏 Fedora VM 上的网络,因为这可以解释为什么它总是在一天后停止工作。

祝你好运

答案2

正如我在一条评论中写到的,我的虚拟机正在运行一个自动死亡 cron 作业。我通过打开 /var/log/messages 了解到了这一点,并发现了一条消息“localhost autodeath:自动死亡 cron 作业禁用了默认路由”。删除“/etc/cron.daily/system-autodeath.sh”后,第二天 ping 工作正常

相关内容