关于 OpenWrt 固件 和 ImmortalWrt 固件

Magiclala的博客 / 2024-09-18 / 原文

关于 OpenWrt 固件介绍

OpenWrt 是一个广泛使用的开源固件项目,专门为路由器和其他网络设备设计。它不仅提供了基础的网络功能,还允许用户自定义设备的功能,使其成为一个非常强大的平台。

  1. 起源和发展

    • OpenWrt 最初是在2000年代初为 Linksys WRT54G/GS 路由器开发的一个固件替代品。
    • 随着时间的发展,OpenWrt 社区不断壮大,支持的设备种类也越来越多,涵盖了从消费级路由器到企业级网络设备。
  2. 特点

    • 高度可定制:OpenWrt 提供了一个 Linux 操作系统的框架,用户可以根据自己的需求安装各种软件包,包括防火墙、DNS服务器、代理服务器等。
    • 稳定性:OpenWrt 的内核和用户空间应用程序经过了严格的测试和优化,以确保在资源有限的设备上也能稳定运行。
    • 安全性:OpenWrt 提供了一系列的安全特性,包括防火墙规则、SSL/TLS 加密支持等,有助于保护用户的网络免受攻击。
    • 支持广泛的设备:OpenWrt 支持大量的硬件平台,从常见的家用路由器到工业级设备,甚至可以运行在一些非路由器设备上。
  3. 包管理系统

    • OpenWrt 使用 opkg 作为包管理系统,类似于 Debian 和 Ubuntu 中的 apt 或者 Red Hat 和 CentOS 中的 yum
    • 用户可以通过简单的命令行操作安装和卸载软件包,极大地扩展了设备的功能。

OpenWrt 的应用场景

  1. 家庭网络

    • 家庭用户可以使用 OpenWrt 来增强他们的路由器功能,比如设置家长控制、QoS(服务质量)、广告拦截等。
    • 可以通过 OpenWrt 实现软路由功能,提高家庭网络的性能和稳定性。
  2. 企业网络

    • OpenWrt 也适用于企业环境,可以实现复杂的网络配置,如 VLAN、负载均衡、冗余连接等。
    • 企业用户还可以利用 OpenWrt 的高可用性和冗余特性来构建可靠的网络基础设施。
  3. 物联网设备

    • OpenWrt 可以用作物联网设备的操作系统,提供安全性和灵活性。

安装 OpenWrt

  1. 刷写固件

    • 用户可以通过官方网站下载适合自己设备型号的固件文件,并通过设备的 Web 界面或 TFTP 方式进行刷写。
    • 对于一些设备,也可以通过 USB 或 SD 卡来安装 OpenWrt。
  2. 首次启动配置

    • 刷写完成后,设备会自动重启,并进入 OpenWrt 的初始配置界面。
    • 用户需要设置网络参数、管理员密码等基本信息。
  3. 软件包安装

    • 通过 opkg 命令安装所需的软件包,以扩展路由器的功能。

相关项目

除了 OpenWrt 本身之外,还有一些基于 OpenWrt 的衍生项目,如:

  • LEDE(LINUX Embedded Development Environment)
    • LEDE OpenWrt 是OpenWrt的一个分支,专注于提高稳定性和安全性,并且致力于解决 OpenWrt 中存在的一些长期未解决的问题。
    • 2017年底,LEDE 项目宣布与 OpenWrt 项目合并,LEDE 的开发成果被整合进 OpenWrt 主线。
    • 自合并之后,LEDE 的功能和改进也被纳入了 OpenWrt 的主版本中,因此现在提到 OpenWrt 时,实际上已经包含了 LEDE 的许多改进。
  • ImmortalWRT:另一个 OpenWrt 的分支,旨在解决 OpenWrt 中的一些长期存在的问题,并支持更多的设备。

OpenWRT下载地址

https://openwrt.org/zh/downloads

 

 

关于 Lean 版本 OpenWrt 固件介绍

Lean 版本的OpenWrt固件是由一位名叫 Leo "lean" 的开发者维护的OpenWrt分支。这个分支因其精简、高效和高度可定制的特点而受到许多高级用户的喜爱。以下是关于Lean版本OpenWrt固件的一些详细介绍:

Lean 固件的特点

  1. 精简

    • Lean 固件去除了许多不必要的默认组件,仅保留核心功能,从而使固件更加轻便。
    • 这种精简使得固件占用的空间更少,启动速度更快。
  2. 高效

    • Lean 固件优化了内存使用和性能表现,使得路由器在处理高负载任务时仍然保持高效。
    • 特别适合高性能网络应用,如游戏加速、流媒体传输等。
  3. 定制性强

    • 用户可以根据自己的需求选择安装哪些组件,从而实现个性化的配置。
    • Lean 固件通常提供了丰富的软件包库,用户可以安装各种插件来扩展路由器的功能。
  4. 安全性

    • Lean 固件通常会及时更新补丁,以确保安全性。
    • 用户可以根据需要安装额外的安全组件,如防火墙规则、加密支持等。

注意事项

  1. 设备兼容性

    • 在选择 Lean 固件之前,请确保您的设备型号得到了支持,并且有相应的固件版本可供下载。
    • 通常在 GitHub 仓库或者其他下载站点会有明确的支持设备列表。
  2. 风险提示

    • 刷写固件是一项较为专业的操作,如果不小心可能会导致设备变砖(无法正常启动)。
    • 在刷写前,请确保了解相关风险,并准备好相应的恢复措施。

 

关于 ImmortalWrt 固件介绍

  1. 起源

    • ImmortalWrt 起源于 OpenWrt,但在某些方面进行了改进和增强。
    • 它最初是为了修复 OpenWrt 中的一些长期存在的问题而开发的,后来逐渐发展成为一个独立的项目。
    • 它依旧跟随着OpenWrt的版本迭代,没错,但是它略微慢于官方最新版本。
  2. 特点

    • 稳定性:提供了更高的稳定性和可靠性。
    • 包管理:拥有丰富的软件包管理系统,可以方便地安装各种附加组件。(可以在国内的网络环境中更新、安装软件包,对国内用户非常友好)
    • 支持设备:支持广泛的路由器和其他网络设备,包括一些不再受官方 OpenWrt 支持的设备。
    • 社区支持:拥有活跃的开发者社区,不断更新和改进。

 

immortalwrt下载地址

https://downloads.immortalwrt.org/

https://firmware-selector.immortalwrt.org/

 

如果你是直接安装在硬件设备上“如R2S 或 R4S路由器上”

你应该选择

  1. generic-ext4-combined-efi.img.gz
  2. generic-squashfs-combined-efi.img.gz

这些文件通常用于EFI引导的计算机,并且包含了启动所需的EFI引导加载程序和支持文件。

如果你是直接安装在VMware ESXi中(All in One小主机)

最适合的选择通常是.vmdk格式的文件,因为它可以直接在ESXi上使用,而不需要额外的转换步骤。在您的列表中,有两个.vmdk格式的文件。

你应该选择:

  1. generic-ext4-combined-efi.vmdk.gz
  2. generic-squashfs-combined-efi.vmdk

 

格式转化:

使用EXSI安装,这里需要ssh到exsi后台,然后执行vmdk文件转化

现在后台打开远程SSH服务

明确存储路径

# 转换vmdk
# 进入镜像的目录 点击存储,选中存储即可看到位置(即目录)
cd /vmfs/volumes/534d1f5e-9fd04708-67d4-0010187a32d8/openwrt
# 转换命令
vmkfstools -i [原磁盘文件全称] [新磁盘文件全称]
vmkfstools -i A.vmdk A-new.vmdk -d thin
# 其中【 -i 】作用是转换,【 -d thin 】作用是将新磁盘文件使用“精简置备模式”。

SSH进入后台——上传VMDK文件——执行转化命令,执行过程如下:

[root@localhost:/vmfs/volumes/66689db1-638700f8-3ab9-5c6f690e1270/OpenWRT] ls
immortalwrt-23.05.3-x86-64-generic-squashfs-combined-efi.vmdk
[root@localhost:/vmfs/volumes/66689db1-638700f8-3ab9-5c6f690e1270/OpenWRT] vmkfstools -i immortalwrt-23.05.3-x86-64-generic-squashfs-combined-efi.vm
dk OpenWrt-Desk.vmdk -d thin
Destination disk format: VMFS thin-provisioned
Cloning disk 'immortalwrt-23.05.3-x86-64-generic-squashfs-combined-efi.vmdk'...
Clone: 100% done.
[root@localhost:/vmfs/volumes/66689db1-638700f8-3ab9-5c6f690e1270/OpenWRT]

 

如果你是直接安装X86电脑上

你应该选择:

  1. generic-image.iso

    • 这个ISO文件适用于传统的BIOS引导环境。如果你使用的是传统BIOS引导的计算机
    • 如果您的计算机没有启用UEFI引导,而是使用传统的BIOS引导,则应选择此ISO文件。
    • 此ISO文件包含了一个可以通过光盘或USB驱动器引导的Live CD/DVD映像。
  2. generic-image-efi.iso

    • 这个ISO文件适用于UEFI引导环境。如果你使用的是支持UEFI引导的现代计算机
    • 如果您的计算机支持并启用了UEFI引导,则应选择此ISO文件。
    • 此ISO文件同样包含了一个可以通过光盘或USB驱动器引导的Live CD/DVD映像,并且包含了UEFI引导所需的EFI可执行文件。