如何让QEMU宿主机共享Windows虚拟机的VPN连接
如何让QEMU宿主机共享Windows虚拟机的VPN连接
嘿,这个问题我碰到过类似的情况,刚好可以给你一步步讲清楚怎么操作!核心就是把Windows宿主机上的VPN连接共享给QEMU的Linux虚拟机,用virt-manager操作其实挺简单的:
第一步:在Windows宿主机上开启VPN的网络共享
- 打开Windows的「设置」→「网络和Internet」→「VPN」,找到你正在使用的VPN连接,点击「更改适配器选项」
- 在弹出的网络适配器列表里,找到你的VPN连接(比如名称是公司内网VPN这类),右键选择「属性」
- 切换到「共享」标签页,勾选**「允许其他网络用户通过此计算机的Internet连接来连接」**
- 在「家庭网络连接」的下拉框里,选择QEMU虚拟机对应的虚拟网络适配器(如果还不确定是哪一个,可以先启动一次Linux虚拟机,QEMU会自动创建对应的适配器,之后再回来选)
- 点击「确定」,Windows会自动给这个共享的适配器分配一个默认IP(通常是
192.168.137.1这类)
第二步:用virt-manager配置Linux客户机的网络
- 打开virt-manager,找到你的Linux客户机,点击界面上的「虚拟机详情」(那个小扳手图标)
- 切换到「NIC(网络接口)」标签页
- 把当前的网络模式改成**「桥接模式」**,然后在「桥接设备」的下拉菜单里,选择刚才Windows上共享VPN的那个虚拟适配器
- 保存设置,重启Linux客户机
第三步:配置Linux客户机的网络参数(如果没自动获取到的话)
- 启动Linux客户机后,打开终端,输入
ip addr查看当前网络接口的IP状态 - 如果没有自动获取到IP,手动设置静态IP:
- 假设Windows共享适配器的IP是
192.168.137.1,那客户机的IP可以设为192.168.137.2,子网掩码255.255.255.0 - 网关设置为
192.168.137.1,DNS服务器也设成这个IP(或者用VPN服务商提供的DNS地址)
- 假设Windows共享适配器的IP是
- 测试一下:ping一个VPN内网的地址,或者访问只能通过VPN访问的网站,确认连接正常
额外注意事项
- 确保Windows防火墙没有拦截虚拟机的网络请求,必要时可以暂时关闭防火墙测试
- 如果你的Linux客户机用的是virtio网卡,确保系统已经安装了virtio-net驱动(大部分现代Linux发行版都自带了,不用额外安装)
- 如果共享时找不到对应的虚拟适配器,先启动一次Linux虚拟机,QEMU会自动创建对应的网络适配器,之后再回到Windows的适配器列表里选择
备注:内容来源于stack exchange,提问作者DPD-




