事前准备

1. 下载 OpenWrt 镜像

骷髅大佬版本:DHDAXCW/OpenWRT_x86_x64

ext4 文件系统镜像可以对任何改动都进行持久化存储,
squashfs 一般情况下对文件系统的改动无法持久化,每次重启都会重置更改,但便于从错误配置中重置。推荐使用 generic-squashfs-x.img

generic-x-combined.img.gz 传统 BIOS 引导
generic-x-combined-efi.img.gz UEFI 引导

2. OpenWrt 镜像转换格式

解压之后,会得到一个 .img 格式的镜像文件,而 Hyper-V 不能直接识别和使用这个格式的镜像,需要把 .img 格式转换为 Hyper-V 可以识别的 .vhd.vhdx 格式的镜像文件。

Windows 平台下,我们有两种转换方式:

其一:使用 qemu-img

只需要它的 qemu-img 工具,所以我们只勾选 Tools 和 DLL Library 两项。
接下来一路默认,安装完成后即可关闭安装程序。注意:安装程序可能不会默认将其安装目录添加进环境变量中,所以接下来的命令可能需要你自行定位至安装目录运行,或者将其添加进你的环境变量。

qemu-img convert -p -f raw -O vhdx your_image.img your_image.vhdx

命令不会输出任何结果,但实际上已经完成了转换。

其二:使用 StarWind V2V Converter

下载完成后,进入安装程序,一路默认即可。
安装完成后,进入 StarWind V2V Converter,
在”Select the location of the img to convert”页面中,选择”Local File”,然后在下一页中选择你下载的镜像,
在”Select the location of the destination image”页面选择”Local File”,
在”Select destination image format”页面中选择”VHD/VHDX”,选择”VHDX Growable Image”或者”VHDX Pre-allocated”,转换即可。

两款软件的下载地址: https://github.com/RinLin-NYA/RinLin-NYA.github.io/releases

3. 开启hyper-v

Win + R -> control -> 程序 -> 启用或关闭 Windows 功能,然后需要勾选如下几项:

创建虚拟网络交换机

了解虚拟网络交换机类型

Hyper-V 一共提供了三种类型的虚拟网络交换机:

  1. 内部虚拟交换机:供虚拟机和物理机之间通讯的虚拟网络交换机。这种虚拟交换机可用于物理机和虚拟机的双向连接(例如,如果你希望从物理机连接到虚拟机的 ssh 或者远程桌面,那么这种虚拟交换机将很有用)。请注意:这种虚拟交换机通常情况下不可用于让虚拟机联网。

  2. 外部虚拟交换机:将物理机的网卡直接供虚拟机使用的虚拟网络交换机。这种虚拟交换机可以直接为虚拟机提供网络连接。这种虚拟交换机的作用相当于为一台物理机装载一张物理网卡。

  3. 专用虚拟交换机:供某一物理机上的所有虚拟机之间相互通讯的虚拟网络交换机。这种虚拟交换机只能用于各个虚拟机之间的通讯,无法同物理机或外部网络通讯。

由于本文配置 OpenWrt 的目的是“将其配置为旁路由以接管本机流量”,所以只要设置一个外部虚拟交换机(用于为 OpenWrt 虚拟机提供外部网络连接)。
※如果你配置 OpenWrt 的目的是将其作为与下游网络设备直接连接的软路由,请创建两个外部虚拟交换机。

创建 Hyper-V 虚拟机

回到 Hyper-V 管理器,点击“新建” -> 虚拟机,进入新建虚拟机向导。

名称和位置

点击“下一步”,名称和位置任取即可

指定世代

在下一步的“指定代数”中,请依据你先前获得镜像的引导方式选择虚拟机世代类型。
如果你的镜像仅支持 BIOS 引导方式,请选择红框所示的“第一代”,
如果你的镜像支持 UEFI 引导方式,则可以任意选择世代类型,但是这里仍推荐选择“第二代”。

内存分配

内存256MB足够了,不启用动态内存

配置网络

“配置网络”页面中,选择刚才创建的外部虚拟交换机

连接虚拟硬盘

“连接虚拟硬盘”页面中,选择“使用现有虚拟硬盘”,找到先前转换好的 .vhdx 虚拟硬盘文件

以上所有步骤完成后,确认信息无误后,点击“完成”,等待虚拟机创建完成。

配置 Hyper-V 虚拟机

回到“Hyper-V 管理器”,找到我们刚才创建的虚拟机,在右键后的下拉菜单中进入“设置”。
1个虚拟处理器,禁用安全启动,始终自动启动,禁用检查点,

左侧的“安全”页面,取消勾选“启用安全启动”,然后应用,否则 Hyper-V 会拒绝引导 OpenWrt。
点开“+”号,进入高级功能,勾选“启用 MAC 地址欺骗”,应用设置即可。

选择“添加硬件”,类型选择网络适配器,再将我们之前配置的外部虚拟交换机添加进虚拟机中。
到这里,我们已经完成了对这一 Hyper-V 虚拟机在初次开机之前的全部配置。

配置 OpenWrt

启动虚拟机,点击链接,进入 OpenWrt 终端,输入命令:

vi /etc/config/network

骷髅版的默认地址:option ipaddr '192.168.11.1' ※需要变更 例如改为'192.168.11.88'` 好记就行

vi
按下 i 键,修改为主机IP所在网段
按下 esc 键,键入:wq 保存退出 vim

重启OpenWrt

reboot

OpenWrt 后台设置

打开浏览器,在地址栏输入我们刚才配置的静态 IP 地址, 例如192.168.11.88 进入 OpenWrt 的后台管理页面。
默认用户名为 root ,默认密码为 password。※建议在配置完成后更改 root 的密码。

接下来我们需要进入“网络” -> 接口,对现有的 lan 口进行配置。需要更改的配置如下:

  1. 协议类型:“静态地址”
  2. IPv4 地址:我们可以为 OpenWrt 分配一个静态 IP 地址。例:192.168.11.88
  3. IPv4 子网掩码地址:255.255.255.0
  4. IPv4 网关:网关地址应该和主路由网关一致,主路由网关通过ipconfig获取。例:192.168.11.1
  5. IPv4 广播地址:不用设置
  6. 自定义 DNS 服务器:设置为主路由网关,主路由网关通过ipconfig获取。例:192.168.11.1
  7. DHCP 设置: 勾选 “忽略此接口”选项。

上述七项完成后,我们点击“保存&应用”,新的网口配置就会被立即应用。

OpenWrt 插件的使用

❤️ 转载文章请注明出处,谢谢!❤️