通过DHCP 实现虚拟机与虚拟机的互通

本文详细介绍如何使用DHCP服务实现虚拟机间的网络互通,包括服务安装、作用域设置、IP地址分配及保留等步骤。

通过DHCP 实现虚拟机与虚拟机的互通

打开开始菜单,点击服务管理器,如图:
通过DHCP 实现虚拟机与虚拟机的互通
点击添加角色和功能,如图:
通过DHCP 实现虚拟机与虚拟机的互通
点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
选择目标服务器,点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
点击DHCP服务器,点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
点击添加功能,如图:
通过DHCP 实现虚拟机与虚拟机的互通
点击下一步,如图:

通过DHCP 实现虚拟机与虚拟机的互通
点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
点击安装
通过DHCP 实现虚拟机与虚拟机的互通
安装完成之后,打开开始菜单,Windows管理工具,打开DHCP,如图:
通过DHCP 实现虚拟机与虚拟机的互通
依次点击,右击IPv4,新建作用域,如图:

通过DHCP 实现虚拟机与虚拟机的互通
下一步:

通过DHCP 实现虚拟机与虚拟机的互通
输入名称,用于识别作用域名称,点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
设置IP起始和结束的地址,点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
设置需要排除的IP地址,点击添加,下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
设置租用期限,点击下一步,如图:
通过DHCP 实现虚拟机与虚拟机的互通
下一步
通过DHCP 实现虚拟机与虚拟机的互通
添加客户端使用的IP地址,点击添加,如图:
通过DHCP 实现虚拟机与虚拟机的互通
下一步
通过DHCP 实现虚拟机与虚拟机的互通
下一步
通过DHCP 实现虚拟机与虚拟机的互通
下一步:
通过DHCP 实现虚拟机与虚拟机的互通
点击完成。
打开网络连接,点击更改网络适配器,如图:
通过DHCP 实现虚拟机与虚拟机的互通
右击属性,双击IPv4协议,设置IP地址以及子网掩码,点击确定,如图:
通过DHCP 实现虚拟机与虚拟机的互通

此时打开另一台虚拟机,打开cmd,输入命令Ipconfig /renew,获取新IP地址,获取成功,如图:
通过DHCP 实现虚拟机与虚拟机的互通
为虚拟机设置特定的IP地址:
打开DHCP,在作用域下找到保留,右击,点击新建保留,如图:
通过DHCP 实现虚拟机与虚拟机的互通
此时打开cmd,输入命令arp -a,查询MAC地址,并右击复制:
通过DHCP 实现虚拟机与虚拟机的互通
再回到之前虚拟机上,继续操作新建保留,输入名称,以及特定IP地址和MAC地址,点击添加,如图:
通过DHCP 实现虚拟机与虚拟机的互通
回到之前一台虚拟机,打开cmd,输入ipconfig /release 释放IP
地址,如图:
通过DHCP 实现虚拟机与虚拟机的互通
再输入,Ipconfig /renew 重新获取IP ,检查IP地址是否是自己设定的特定IP地址,设置成功!如图:
通过DHCP 实现虚拟机与虚拟机的互通
设置成功!

QEMU 虚拟机主机互通的方式取决于你使用的**网络模式**。QEMU 提供了多种网络后端模型,每种方式在虚拟机主机之间的互通性上表现不同。 --- ## ✅ 1. 使用 `-netdev user`(用户模式网络) 这是最简单的网络模式,QEMU 内部实现一个 NAT 网络栈,虚拟机可以访问外部网络(包括主机),但**主机不能主动访问虚拟机**(除非设置端口转发)。 ### 📌 示例命令: ```bash qemu-system-x86_64 \ -netdev user,id=net0,hostfwd=tcp::8080-:22 \ -device e1000,netdev=net0 \ -hda your_disk_image.qcow2 ``` ### 🔍 说明: - `hostfwd=tcp::8080-:22` 表示将主机的 `8080` 端口转发到虚拟机的 `22` 端口(SSH)。 - 虚拟机可以通过 `10.0.2.2` 访问主机。 ### 🔄 虚拟机访问主机: ```bash ping 10.0.2.2 ssh user@10.0.2.2 ``` ### 🧩 优点: - 无需 root 权限 - 简单易用 ### 🧩 缺点: - 主机不能直接访问虚拟机的服务(除非端口转发) - 性能较低 --- ## ✅ 2. 使用 `-netdev tap`(TAP 模式) + 桥接(Bridge) 这种模式下,虚拟机会获得和主机**同一网段的 IP 地址**,可以主机、局域网内其他设备互通。 ### 📌 示例命令: ```bash sudo ip tuntap add dev tap0 mode tap sudo ip link set tap0 up sudo ip link set tap0 master br0 qemu-system-x86_64 \ -netdev tap,id=net0,ifname=tap0,script=no,downscript=no \ -device e1000,netdev=net0 \ -hda your_disk_image.qcow2 ``` ### 🔍 说明: - `tap0` 是虚拟 TAP 设备 - `br0` 是桥接设备,通常连接物理网卡(如 `ens33`) - 虚拟机启动后会从局域网 DHCP 获取 IP,主机在同一子网 ### 🔄 虚拟机访问主机: ```bash ping <主机局域网IP> ssh user@<主机局域网IP> ``` ### 🔄 主机访问虚拟机: ```bash ping <虚拟机IP> ssh user@<虚拟机IP> ``` ### 🧩 优点: - 虚拟机和主机互通性最好 - 支持广播、多播等高级网络功能 ### 🧩 缺点: - 需要 root 权限 - 配置相对复杂 --- ## ✅ 3. 使用 `-netdev socket`(多机互联) 适用于多个 QEMU 实例之间互联的场景,可以建立虚拟局域网。 ### 📌 示例命令(两台虚拟机互联): #### 虚拟机 A: ```bash qemu-system-x86_64 \ -netdev socket,id=net0,listen=:1234 \ -device e1000,netdev=net0 \ -hda your_disk_image_A.qcow2 ``` #### 虚拟机 B: ```bash qemu-system-x86_64 \ -netdev socket,id=net0,connect=:1234 \ -device e1000,netdev=net0 \ -hda your_disk_image_B.qcow2 ``` ### 🔄 互通方式: - 虚拟机 A 和 B 通过 TCP 套接字通信 - 可以互相 ping、ssh、传输数据 ### 🧩 优点: - 适合多虚拟机通信测试 - 可跨主机互联 ### 🧩 缺点: - 不主机互通,除非手动配置路由/NAT --- ## ✅ 4. 使用 `-netdev vde`(虚拟分布式以太网) 类似于 socket 模式,但使用 VDE(Virtual Distributed Ethernet)工具实现更复杂的虚拟网络拓扑。 --- ## ✅ 总结对比表 | 模式 | 虚拟机访问主机 | 主机访问虚拟机 | 局域网互通 | 是否需要 root | 备注 | |------------|----------------|----------------|-------------|----------------|------| | user | ✅(10.0.2.2) | ❌(需端口转发) | ❌ | ❌ | 简单,适合上网 | | tap+bridge | ✅ | ✅ | ✅ | ✅ | 最常用,性能好 | | socket | ✅ | ✅ | ❌ | ❌ | 多虚拟机互联 | | vde | ✅ | ✅ | ❌ | ✅ | 高级网络拓扑 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值