V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Wind2Illidan
V2EX  ›  Linux

求助:虚拟机中的 debian 总是断网

  •  
  •   Wind2Illidan · 1 天前 · 1472 次点击

    背景:

    公司发了个 win11 笔记本,用不习惯,就用 hyper-v 创建了个 linux 虚拟机,桥接到笔记本,网络正常,合上盖子当个小服务器玩,笔记本防火墙已经关闭,linux 防火墙已关闭,linux 睡眠已关闭,win11 睡眠已关闭。win11 笔记本根据公司要求安装了奇安信。 系统:Debian GNU/Linux 12

    问题:

    我用 mbp 去 ssh 连接,可以正常连接,但是过一段时间(时间长度不固定,一般三四个小时,或者过一个晚上)就无法连接了,然后打开 win 本盖子,win11 系统没睡眠,虚拟机也正常,linux 系统也没睡眠,我手动把 linux 的网络开关重启一下就好了。问了 ai ,没啥帮助,麻烦大佬们给一些排查思路和解决办法。

    26 条回复    2025-09-12 12:11:55 +08:00
    opengps
        1
    opengps  
       1 天前
    这类问题都有线考虑下电源选项是不是高性能
    kiraskyler
        2
    kiraskyler  
       1 天前
    如果是虚拟机中网卡“硬件”“休眠/掉线”,可以看看`dmesg`日志,再看看`journalctl -u NetworkManager`日志
    peiran
        3
    peiran  
       1 天前
    关掉休眠就好啦
    Wind2Illidan
        4
    Wind2Illidan  
    OP
       1 天前
    @opengps 之前试过用高性能,也还是会有问题
    Wind2Illidan
        5
    Wind2Illidan  
    OP
       1 天前
    @peiran 已经都关了
    opengps
        6
    opengps  
       1 天前
    @Wind2Illidan #4 高性能其实不够彻底,通过高级选项,把所有的设备都改成不休眠,并且把所有的硬件驱动都去掉允许关闭电源以达到省电的选项
    laminux29
        8
    laminux29  
       1 天前
    不要用 hyper-v 这种业余的玩具,请换成 VMware Workstation Pro 专业版。
    Mrazz
        9
    Mrazz  
       1 天前
    可以试试 wsl
    liubaicai
        10
    liubaicai  
       1 天前
    是不是桥接的无线网卡?我之前桥接无线出现过这个问题,后来用网线好像就好了
    tux
        11
    tux  
       1 天前
    什么 CPU,有的 CPU 装虚拟机就会断网,要更新 BIOS 微码
    Wind2Illidan
        12
    Wind2Illidan  
    OP
       1 天前
    @totoro625 也试过,不行
    Wind2Illidan
        13
    Wind2Illidan  
    OP
       1 天前
    @liubaicai 嗯,是无线网卡,那我试试有线的
    Wind2Illidan
        14
    Wind2Illidan  
    OP
       1 天前
    @tux i7-1355U
    Yanlongli
        15
    Yanlongli  
       1 天前
    如果你用的 NAT 模式,Hyper-V 的默认网络(Default Switch)会在每次电脑重启后更换网段,如果虚拟机状态在宿主机关机时是保存而不是关闭,则网络状态也被保存,不会重新获取新 IP ,可以考虑改为直连外部网络。可以在这个思路上检查断网前后的 NAT 网段是否发生变化。
    另一个是检查宿主机的 IP 有没有发生变化
    如果是自建的外部网络那这个不适用,仅供参考再排查排查。
    tux
        16
    tux  
       1 天前
    @Wind2Illidan 还有一种情况,就是虚拟机中的网卡驱动要关闭省电模式,关闭中断调整,对,这个很关键,ethtool 可以关闭中断调度,细节问问 AI
    PhaSelEza
        17
    PhaSelEza  
       1 天前
    3 年前遇到过相关问题,停用/启用 Hyper-V 虚拟交换机能解决,但自动化结果不太理想。

    最终手段是用 golang 写了个 http 代理服务器+TCP 转发+时间同步服务器,跑在 windows 后台。Linux 虚拟机只连接内部交换机,不桥接,这样就稳定了。
    FaiChou
        18
    FaiChou  
       1 天前
    你是不是装了 gnome 这种桌面环境了。它会自动睡眠的,即使关掉 linux 的自动休眠还是会睡眠。建议重装。
    wangtian2020
        19
    wangtian2020  
       1 天前
    不用 host networking 导致的
    SSang
        20
    SSang  
       22 小时 27 分钟前
    几年前我也遇到过,不知道和你是不是同一个问题:

    参考一下当时写的: https://www.zhihu.com/question/29477333/answer/3045489415

    你可以尝试一下我的方案(后台长 ping 网关)能否解决,如果能解决,大概率是同样的问题。
    SSang
        21
    SSang  
       22 小时 25 分钟前
    https://learn.microsoft.com/en-us/troubleshoot/windows-client/networking/ics-not-work-after-computer-or-service-restart#symptoms

    Generally, if there is no traffic on ICS for 4 minutes, the service shuts down and does not restart automatically.

    通常,如果 ICS 在 4 分钟内没有通讯,服务将关闭并且不会自动重启。
    xuwen
        22
    xuwen  
       21 小时 45 分钟前
    我遇到的是,一旦重启系统,hyper 的网段就会变,导致虚拟机上不了网。最后我是自己创建一个静态网络替代的
    nuII
        23
    nuII  
       16 小时 10 分钟前
    之前在 kvm 里遇到过这种情况,但是是出现在宿主机重启后,vm 的网卡会出现故障,删了网卡再添加就可以了。

    OP 可以在出问题后运行 journalctl -xeu network 看一下是不是 link 层面断线过,断过的话就比较简单,写个脚本定期检查下 network 的服务状态,出问题的话就 systemctl restart network 重启一下,可以解决断了之后再也没法连上的问题。

    另外就是看下 vm 是不是 dhcp ,桥接的话 ip 分配是上层路由设备决定的,如果有 ip 冲突的话可能会被临时挤掉。你可以试试删了网卡再添加一个,让 vm 的 mac 地址变一下,应该能获取到新 ip ,再观察段时间试下。

    通过 journalctl -xeu network 基本就能简单判断出问题是 vm 、宿主机还是外部网络设备导致的。
    azhaojingjing
        24
    azhaojingjing  
       16 小时 1 分钟前
    在 Windows 中做一个 macvlan 网桥呀
    Wind2Illidan
        25
    Wind2Illidan  
    OP
       4 小时 45 分钟前
    @nuII 好的,感谢
    nuk
        26
    nuk  
       2 小时 11 分钟前
    wifi 不是只能用 nat ,只有有线才能桥接,因为有混杂模式。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5809 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:22 · PVG 14:22 · LAX 23:22 · JFK 02:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.