LEDE编译指南:如何在Hyper-V上运行

lede 编译 hyper-v

时间:2025-01-13 15:59


LEDE编译与Hyper-V的完美结合:打造高效网络环境的指南 在现代网络环境中,拥有一个高效、稳定且功能丰富的路由系统至关重要

    LEDE(原名OpenWRT的分支)作为一个开源项目,因其灵活性和强大的扩展性,成为了众多网络爱好者和专业用户的首选

    本文将详细介绍如何在Hyper-V虚拟机中编译和部署LEDE,从而打造一个高效的网络环境

     一、准备工作 在开始之前,我们需要确保系统满足以下要求: - 操作系统:Windows 10 专业版/企业版 64位

     CPU:支持VT-x并在BIOS中开启

     内存:4GB及以上

     - 网络设置:光猫设置为桥接模式,关闭DHCP功能,并更改IP地址为192.168.1.10;无线AP/路由器提前设置好LAN接口IP为192.168.1.100,避免与软路由IP冲突

     二、开启Hyper-V功能 1.启用Hyper-V: - 通过快捷键“WIN+X”或右键点击开始菜单,选择“控制面板”->“程序”->“启用或关闭Windows功能”

     - 勾选“Hyper-V”选项,然后点击“下一步”,根据提示重启计算机

     2.配置Hyper-V管理器: - 重启后,在开始菜单中找到“Windows管理工具”,并打开“Hyper-V管理器”

     - 将“Hyper-V管理器”快捷方式拖动到磁贴块,方便后续使用

     三、下载LEDE源码及转换工具 1.下载LEDE源码: - 访问LEDE的GitHub仓库:【LEDE源码仓库】(https://github.com/lede-project/source)

     - 使用Git命令克隆仓库:`git clone https://github.com/lede-project/source`

     2.下载转换工具: - 我们需要一个工具将LEDE的img镜像文件转换为Hyper-V所需的vhdx格式

    推荐使用StarWind V2V Image Converter

     - 下载地址:【StarWind V2V Image Converter】(https://www.starwindsoftware.com/tmplink/starwindconverter.exe)

     四、编译LEDE 1.更新源码和安装组件: - 在LEDE源码目录下运行以下命令更新源和安装组件: ```bash ./scripts/feeds update -a ./scripts/feeds install -a ``` 2.添加ChinaDNS和pdnsd: - 添加ChinaDNS: ```bash pushd package git clone https://github.com/clowwindy/ChinaDNS.git popd make menuconfig在Network中勾选ChinaDNS ``` - 添加pdnsd: ```bash git clone https://github.com/wongsyrone/lede-1 cd lede-1/package cp -r pdnsd /home/lede/package make menuconfig在Network/Web Servers/Proxies中勾选pdnsd ``` 3.添加SSR(ShadowsocksR): - 添加SSR: ```bash cd package git clone https://github.com/bettermanbao/openwrt-shadowsocksR-libev-full.git package/shadowsocksR-libev-full make menuconfig在Network中勾选shadowsocksr-libev ``` - 替换自带的shadowsocks: ```bash cd package/feeds/packages rm -rf shadowsocks-libev cd .. cd .. git clone https://github.com/shadowsocks/shadowsocks-libev ``` 4.配置和编译: - 修改Makefile以添加zlib依赖: ```bash # 在Makefile中找到DEPENDS行,添加zlib DEPENDS:=+libopenssl +libpthread +zlib ``` - 编译LEDE: ```bash cdbuild_dir/host/pkg-config-0.29.1/glib ./configure --enable-iconv=no --with-libiconv=gnu make cd /path/to/lede-source exportFORCE_UNSAFE_CONFIGURE=1 && make V=s ``` 5.转换镜像格式: - 编译完成后,将生成的img镜像文件转换为vhdx格式: ```bash cd /bin/targets/x86/64 gunzip lede-x86-64-combined-ext4.img.gz qemu-img convert -f raw -O vpc lede-x86-64-combined-ext4.img lede-vhdx.vhdx ``` 五、配置Hyper-V虚拟机 1.创建虚拟网络交换机: - 打开“Hyper-V管理器”,选择“虚拟交换机管理器”

     - 新建一个“外部”虚拟网络交换机,命名为“WAN”,选择用于WAN口的网卡

     - 重复上述步骤,新建一个“外部”虚拟网络交换机,命名为“LAN”,选择用于LAN口的网卡

     - 再新建一个“内部”虚拟网络交换机,命名为“Internal”,用于虚拟机之间的内部通信

     2.新建虚拟机: - 在“Hyper-V管理器”中,选择“新建虚拟机”

     - 输入虚拟机名称(如“LEDE”),选择存储位置,并选择第一代虚拟机

     - 配置内存大小(建议至少1GB),并取消勾选“动态内存”

     - 网络连接暂时不配置,后续再设置

     - 选择使用现有虚拟硬盘,浏览并选择转换好的vhdx文件

     - 完成虚拟机创建

     3.配置虚拟机设置: - 选择刚创建的虚拟机,点击“设置”

     - 添加硬件:添加两个网络适配器,分别选择“WAN”和“LAN”虚拟交换机

     - 确保虚拟机硬盘驱动器的IDE控制器在SCSI之前(可通过编辑虚拟机设置->IDE控制器->上移)

     - 在“安全”选项中,取消勾选“启用安全启动”

     - 在“自动启动操作”中,选择“始终自动启动此虚拟机”

     4.启动虚拟机: - 在“Hyper-V管理器”中,选择刚创建的虚拟机,点击“启动”

     - 连接虚拟机,等待启动完成

     六、配置LEDE网络 1.访问LEDE管理界面: - 在宿主机中,打开浏览器,访问`192.168.1.1`(LEDE默认IP地址)

     - 输入默认密码(如`koolshare`)登录管理界面

     2.配置网络接口: - 在管理界面中,选择“网络”->“接口”

     - 删除默认的WAN6接口

     - 在LAN接口中,勾选“桥接接口”,并选择以太网适配器“eth0”和“eth2”

     - 在WAN接口中,切换协议为PPPoE,输入宽带账户和密码

     3.配置虚拟机网络适配器: - 在宿主机中,打开“网络和Internet设置”->“更改适配器选项”

     - 右键点击“vEthernet(Internal)”,选择“属性”

     - 配置IPv4地址,确保与LEDE管理界面在同一个网段(如`192.168.1.X`)

     七、验证与测试 1.验证网络连通性: - 在宿主机和虚拟机之间尝试ping通,确保网络配置正确

     - 访问LEDE管理界面,检查接口状态和路由表

     2.测试LEDE功能: - 安装并配置所需的插件和服务,如SSR、DNS转发等

     - 测试各项功能是否正常运行,如网络代理、DNS解析等

     八、总结 通过本文的详细步骤,我们成功地在Hyper-V虚拟