Linux KVM桥接Windows虚拟机,穿透访问VirtualBox HCL模拟器全网通方案

一、前言 & 场景痛点 在网络仿真学习场景中,很多用户会使用 Linux KVM 运行Windows虚拟机,并在Windows内部安装 VirtualBox + HCL华三模拟器 做网络实验。 默认KVM为NAT模式(virbr0,192.168.122.0/24),会出现典型网络隔离问题: ✅ Linux宿主机可以正常访问Windows虚拟机 ✅ Windows虚拟机可以正常访问内部HCL模拟设备(192.168.56.0/24) ❌ Linux宿主机无法直接访问HCL模拟器设备,必须远程桌面进入Windows操作,极其繁琐 核心问题:KVM NAT网络二层隔离,且Windows内部VirtualBox Host-Only网段(192.168.56.0/24)无法被宿主机路由穿透。 本文提供一套全Linux发行版通用的终极解决方案:KVM桥接组网 + Windows三层转发 + 双向静态路由,实现宿主机直接Telnet/SSH/Web访问HCL所有虚拟设备。 二、整体网络拓扑 物理局域网网段:192.168.31.0/24 HCL模拟设备网段:192.168.56.0/24 1Linux宿主机(br0:192.168.31.13) 2 ↓ KVM二层桥接 3Windows虚拟机(桥接网卡:192.168.31.159) 4 ↓ Windows内核IP转发 5Windows VirtualBox Host-Only网卡(192.168.56.1) 6 ↓ 7HCL交换机/路由器(192.168.56.99 等设备) 三、核心实现原理 KVM改桥接模式:让Windows虚拟机成为局域网独立设备,与宿主机二层互通 开启Windows内核IP转发:让Windows充当三层软路由,打通两张网卡跨网段流量 Linux宿主机配置静态路由:将56网段流量全部转发至Windows虚拟机 HCL设备配置回程路由:解决流量出去回不来的核心坑点 四、Linux宿主机配置(全发行版通用) 适配 Fedora、Ubuntu、Debian、Arch 等所有Linux系统,区分主流网络管理器方案。 ...

July 28, 2026 · 2 min · 397 words · Jamaisvu

RTL8111H 网卡故障完整复盘

环境信息 操作系统:Ubuntu 24.04.2 LTS(系统代号 noble) 内核版本:6.17.0-40-generic(HWE 硬件启用内核) 系统架构:x86_64(amd64) 网卡硬件:华硕主板板载 Realtek RTL8111H Gigabit Ethernet Controller [10ec:8168] 运行环境:全程无法联网,仅支持 U 盘离线安装 deb 软件包 故障现象 网口物理灯亮,lspci识别网卡硬件,系统无有线网口;ip a看不到物理网卡。 离线安装r8168-dkms持续 DKMS 编译报错。 修复驱动文件后,手动加载驱动临时恢复网络,重启故障复现。 环境:Ubuntu 24.04,内核6.17.0-40-generic,全程离线。 根因分析 核心故障:缺失linux-modules-extra-6.17.0-40-generic,内核目录不存在r8169.ko原生驱动文件。 次要干扰:r8168-dkms 8.052版本老旧,不兼容 6.17 内核,编译失败。 重启复现原因:驱动补齐后未配置开机自动加载r8169模块。 排除项:无 r8169 黑名单配置,BIOS 已关闭 Secure Boot。 分阶段排查、操作命令记录 阶段 1:初步故障区分(定位硬件 / 驱动层级) 查看全部网络设备 1ip a 现象:仅存在 lo 回环网卡,无 enpxx 有线网卡。 查看 PCI 硬件列表,确认网卡硬件是否被系统识别 1lspci -nn 现象:成功找到 Realtek RTL8111H 网卡,确认硬件无损坏。 ...

July 28, 2026 · 1 min · 174 words · Jamaisvu

VLAN与组网

什么是vlan? Virtual Local Area Network,虚拟局域网 定义是在物理交换机上逻辑隔离的虚拟局域网 vlan的本质是 给数据帧打标签(Tag) 交换机转发以太网帧时,在帧头插入 4 字节 VLAN 标签,标签里携带VLAN ID(1–4094),然后在这个广播域里泛洪。 为什么要有vlan技术? 隔离广播 没有 VLAN 时,全网一个广播域: 电脑开机 DHCP、ARP 查询、病毒广播报文会传遍所有设备。终端越多,广播流量越大,严重占用带宽、卡顿甚至瘫痪网络(广播风暴)。 VLAN 切割广播域,广播只在组内流转,大幅减少无效流量,提升网络稳定性。 安全隔离 不同业务 / 部门天然需要隔离: 财务部服务器不能被市场部电脑随意访问; 办公网不能直接访问服务器区、监控网; 不同 VLAN 二层完全不通,天然形成安全边界,不配置三层路由就无法互相访问,减少攻击、数据泄露风险。 简化网络规划,节约硬件成本 无需为每个部门单独采购交换机、单独布线; 同一台交换机承载多套业务网络,降低设备、布线、机柜成本; 人员工位变动不用重新改网线,交换机上修改 VLAN 配置即可切换网段。 通过 VLAN 标签分割二层广播域 VLAN转发过程 阶段 1:PC1 发送报文到 SW1 Access 口 PC1 发出无 Tag数据帧; 进入 SW1 Access VLAN10 端口,交换机给帧添加 VLAN 10 Tag; SW1 学习源 MAC(PC1-MAC):MAC 表记录 PC1-MAC + 入端口 + VLAN10; 查找 MAC 地址表,发现目的 MAC(PC3-MAC)不在本交换机端口,需要从 Trunk 口转发。 阶段 2:跨交换机传输 Trunk 口规则:VLAN10 不是 Native VLAN,保留 Tag 10 发送出去; 报文带着 802.1Q 标签在交换机之间传输。 ...

July 15, 2026 · 2 min · 336 words · Jamaisvu

在windows上使用mihomo裸核

从简开始 相信不少人刚开始折腾内核的时候,都是一脸茫然的,要配置的内容太多,对新手不友好。所以我们从最简单的方法做起,力求先把内核跑起来,然后再慢慢拓展。 搞代理的前提是你需要去各大机场订阅节点,或者你自己拥有节点。通常机场会给你提供一个订阅链接🔗,复制下来。 下载内核 先去mihomo仓库,根据你的电脑下一个适合的内核版本(去参考官方文档),我下的是这个版本: 获取配置 在任意位置建一个文件夹,就叫mihomo吧。 在该位置打开cmd,输入 1curl -k -H "User-Agent: Clash" -o config.yaml "你的订阅链接" 添加-k参数跳过证书验证(仅临时测试使用) -H "User-Agent: Clash" 的作用是将请求头中的用户代理标识为 Clash,部分机场可能会根据此标识返回适配的配置格式。 如果机场支持连接转换成clash格式的话,此时你的mihomo文件夹下会出现一个新的config.yaml文件,打开看一下,这个就是机场给你配好的基础配置。 运行内核 是不是很简单?这个配置已经足够内核正常运行了,我们接着把它跑起来。 打开powershell,输入 1.\mihomo-windows-amd64.exe -d .\ -f config.yaml -d .\ 用于指定程序的工作目录 -f config.yaml 用于指定配置文件路径 第一次运行需要拉取geoip文件,可能需要给powershell设置代理才能拉取成功(实在不行暂时用客户端吧,开个tun模式) 在性能管理器里检查一下,发现内核正在运行,说明内核启动成功: 开启代理 启动了内核之后的最后一步:我们要到系统设置中手动开启系统代理: 至此,我们学会了如何使用裸核mihomo开启代理,不管那些有的没的,至少我们已经可以成功运行啦。 要想在windows的终端使用代理,就在当前会话输入 set http_proxy=http://127.0.0.1:7890,如图所示: 我们已经与google正常连通。 更进一步 现在我们用的完全是机场给我们的配置,当然会有很多细节处没有匹配我们的个人需求,所以我们需要自己去改进一下这个配置,当然如果你觉得这样已经够用,那么不必接着往下看。 自己写规则最主要的目的显然是为了能够让一些自己的服务器或者一些特殊地址能够直连\走代理,其实整个代理配置说白了就是 规定了谁要走直连,谁要走代理,方便我们使用代理时可以实现全自动化策略调控。 要想自己写配置,我们首先要搞懂mihomo的配置分为哪些部分,每一部分是干什么的。让我带大家初步了解一下mihomo的配置中的几个主要模块: 主要模块 proxy-providers 作用 定义 从哪里获取代理节点,支持在线订阅、本地文件等方式,是代理节点的 “源头”。 常用参数 参数 含义 url 代理订阅链接 path 订阅内容的本地保存路径 type 订阅类型为 http(常见类型还有 file 本地文件、clash 标准格式等)。 interval 订阅更新间隔,通常是设定86400 秒 = 1 天,即每天自动更新一次代理节点。 全局配置 作用 定义 mihomo 的基础运行参数、网络入口(端口)、全局模式等,是软件启动的 基础设置。 ...

October 3, 2025 · 6 min · 1231 words · Jamaisvu