Win10桥接网卡使得qemu虚拟机能和宿主机互相通讯且能正常访问网络

本文介绍了在Win10系统中使用QEMU安装银河麒麟系统时遇到的网络配置问题,以及如何通过创建tap虚拟网卡和物理网卡桥接实现宿主机与虚拟机的互通。在配置过程中,需注意物理网卡的共享选项,并确保虚拟机的IP配置正确,同时开启必要的端口以允许访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文主要是记录在win10系统中使用qemu安装银河麒麟系统遇到的一个网络配置问题——如何使得qemu创建的虚拟机能和宿主机互相通讯且能正常访问网络。

Win10使用qemu创建银河麒麟系统虚拟机

这个步骤请先参考一篇优秀的文章。博主按照文章的步骤很顺利的在虚拟机中创建了一个也同样为192.168.137.101的ip,ip可以通过ssh进行连接,虚拟机里也可以正常访问网络。到此博主就以为一切就绪了,于是在虚拟机中启动了一个tomcat服务,然后在宿主机win10浏览器中输入http://192.168.137.101:8080进行访问,结果出乎博主所料——无法访问。

此时内心是有些许失落的,后面通过一顿搜索才了解到,目前这样宿主机和虚拟机还无法完全正常通讯,如果要实现互通则需要使用tap虚拟网卡和win10物理网卡进行桥接。

Win10物理网卡和tap虚拟网卡进行桥接

博主通过一篇优秀的文章了解到win10物理网卡如何和tap虚拟网卡进行桥接。也许成功的路上总是会有很多石头,博主在进行桥接的时候遇到了一个问题——在选中虚拟网卡tap0和本地物理网卡点击桥接的时候失败了。

后面尝试后才发现是因为物理网卡开启了共享才导致创建不成功的(跟着第一篇文章操作时勾选了共享),把共享选项取消后即可创建成功。

网桥创建成功的样子。(虚拟机没有启动之前tap0是未启用的,博主这里的图是虚拟机启动后的情况)

给虚拟机配置ip

网桥创建成功后启动虚拟机,然后给虚拟机手动配置ip。

验证结果

验证虚拟机上网功能

ip配置成功后,打开虚拟机自带的浏览器访问页面进行验证,如果访问不了这时记得查看一下是否物理机的防火墙没有关闭。

操作成功后正常情况下此时是可以正常访问网页的。(桥接的网络可能会有些慢,先耐心稍等一会儿)

命令行ping域名。(刚开始比较慢,会有丢包的情况)

验证虚拟机访问宿主机

验证宿主机访问虚拟机

首先确认虚拟机中是否开启8080端口,如果没有则开启,否则无法访问。(端口开启可参考一篇优秀的文章

结语

如果文章有帮助到您,那博主由衷的恭喜您;如果没有,那也请别灰心,坚持下去,胜利在向您走来。

### 设置KVM虚拟机网络桥接配置 #### 准备工作 为了使KVM虚拟机能通过宿主机访问外部网络并获得静态IP地址,需先安装必要的软件包。这包括`qemu-kvm`, `libvirt-daemon-system`, `bridge-utils`等工具。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst ``` #### 创建Linux Bridge 创建名为`br0`的Linux网桥设备,并将其绑定到物理网卡上。假设当前系统的有线接口名称为`enp3s0`: 1. 编辑Netplan配置文件(通常位于`/etc/netplan/`目录下),例如对于Ubuntu 20.04及以上版本可能是`/etc/netplan/01-netcfg.yaml`: ```yaml network: version: 2 ethernets: enp3s0: dhcp4: no bridges: br0: interfaces: [enp3s0] addresses: ["192.168.1.x/24"] # 替换成实际想要分配给宿主机的固定IP地址 gateway4: "192.168.1.y" nameservers: addresses: [8.8.8.8, 8.8.4.4] parameters: stp: false forward-delay: 0 ``` 2. 应用新的网络配置: ```bash sudo netplan apply ``` 此时应该已经成功建立了名为`br0`的新网桥,并该网桥被赋予了一个固定的IPv4地址[^3]。 #### 虚拟机网络设置 当启动一个新的KVM虚拟机时,可以通过命令行参数指定其使用上述创建好的网桥作为网络适配器。下面是一个简单的例子来展示如何利用`virt-install`命令创建带有桥接网络支持的Windows 10虚拟机: ```bash sudo virt-install \ --name windows10 \ --ram 4096 --vcpus=2 \ --cdrom=/path/to/windows.iso \ --disk size=50,bus=virtio \ --os-type=windows --os-variant=win10 \ --graphics vnc \ --network bridge=br0,model=virtio ``` 此操作会引导新创建的虚拟机连接至`br0`网桥,从而允许它像其他真实计算机一样接入局域网内并与之通信。 #### 测试连通性 完成以上步骤之后,可以在虚拟机内部尝试获取一个动态分配的IP地址或者手动设定一个静态IP地址。接着测试与其他机器之间的连通状况,比如执行如下指令查看是否能够正常解析域名Ping通目标服务器: ```bash ping www.google.com ``` 如果一切顺利的话,则说明KVM虚拟机已正确设置了桥接网络模式。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值