侧边栏壁纸
  • 累计撰写 36 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

R5C做旁路由安装OpenWrt25.12教程并开启IPV6

Joe
Joe
2026-04-07 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

前言

最近发现OpenWrt更新到25.12.2了,还在用24.10版本,抽空把软路由给升级一下。我的R5C最近一直用来做旁路由,以前刚接触软路由,一直当主路由用,但是当主路由用,如果出点什么问题,那么全家的网络都无法使用。于是摸索旁路由,但对OpenWrt几乎不了解,为了同时开通IPV6功能,网上找了好多资料,花费了大量时间才搞好。现在OpenWrt由24升级到25,OpenWrt整体有一些变动。

OpenWrt由24升级到25主要变化:

  • 超过 4700 个 commits,开发周期超过一年。

  • 设备支持大幅增加:总支持超过 2200 台设备,比 24.10 新增 180+ 台 设备。

  • 硬件要求基本不变:24.10 支持的大多数设备仍可正常运行。

  • 最重要架构级变更:包管理器从 opkg 切换到 apk(Alpine Package Keeper)。

  • apk 更现代、维护更好,命令语法有差异(官方提供 opkg-to-apk 速查表)。

  • 升级后原 opkg 命令不再可用,需改用 apk(如 apk add、apk upgrade 等)。

  • Attended Sysupgrade(ASU)深度集成:

  • LuCI 网页默认内置 ASU 插件,owut 也预装在较大闪存设备上。

  • 可在线重建固件、保留已安装软件包、自动合并到 SquashFS,升级更方便。

系统选择

OpenWrt

OpenWrt 项目是一个面向嵌入式设备的 Linux 操作系统。OpenWrt 没有采用单一的静态固件,而是提供了一个完全可写的文件系统和软件包管理功能。这使您摆脱了厂商提供的应用程序选择和配置的限制,可以通过使用软件包来定制设备,以满足任何应用的需求。对于开发者而言,OpenWrt 提供了一个框架,让他们无需构建完整的固件即可构建应用程序;对于用户而言,这意味着可以完全自定义设备,以意想不到的方式使用设备。

官网:https://openwrt.org/

系统下载页面:https://firmware-selector.openwrt.org/

ipk软件地址:https://downloads.openwrt.org/releases/packages-25.12/

默认登录地址:192.168.1.1

默认登录密码:passworld

ImmortalWrt

ImmortalWrt 是OpenWrt的一个分支,它移植了更多软件包,支持更多设备,默认优化了配置文件,并针对中国大陆用户进行了本地化修改,例如直接默认中文、软件可直接更新、个性化软件单独维护(如mosdns等等很多移植到官方软件库)。与上游版本相比,允许使用(非上游版本)修改/hack 来提供更好的功能/性能/支持。中国大陆小白用户使用ImmortalWrt会更加方便简单一些。

官网项目地址:https://github.com/immortalwrt/immortalwrt

系统下载地址:https://firmware-selector.immortalwrt.org/

ipk软件地址:https://downloads.immortalwrt.org/releases/

默认登录地址:192.168.1.1

默认登录密码:无密码(如不行,尝试passworld)


本次使用OpenWrt 25.12.2做为示例,默认系统OpenWrt会比ImmortalWrt更加轻量,ImmortalWrt会集成更多的软件和合适中国用户的设置。也就是说OpenWrt前期的设置会更加繁琐一点,只要学会了OpenWrt设置,ImmortalWrt也学会了。

  1. 准备一台电脑

  2. 电脑连接到主路由(我个人习惯连接电脑,而非旁路由,如果你是连接到旁路由,下面的步骤自行调整)

  3. 旁路由连接主路由

下载OpenWrt

进入下载地址,搜索软路由的型号,例如我的R5C,直接输入R5C即弹出对应的型号,在选在版本。如果没有你的型号,那么就要去别的地方去找合适自己的固件了,例如恩山论坛等。

img

下载一般建议选择SYSUPGRADE (SQUASHFS),如果你不懂这是什么,就选择这个。

系统烧录

下载好之后,我们需要把系统烧录到内存卡或者U盘去,我是把系统烧录到内存卡,用内存卡当软路由的“硬盘”,这个根据你的实际情况来。

烧录软件用balenaEtcher,简单实用。

img

选择下载好的OpenWrt文件,再选择对应的内存卡,然后点击Flash开始烧录。

img

烧录完成,把内存卡插到设备上,通电等待开机。

OpenWrt设置

修改本地IP

首先确认本机IP是否192.168.1.X段,如果不在同一个段,那么无法打开192.168.1.1进行设置。

示例:

img

登录

确认IP无问题后,输入192.168.1.1,即可进入登录界面

img

默认Username:root

默认登录密码:passworld

img

登录后即可看到OpenWrt界面

img

img

这个界面的大致意思是是否在线检查固件升级,根据自己需求来,我是选择否,不需要在线检查升级。

img

此处要确认一次,点击绿色按钮即可。

修改登录密码

此时Openwrt的默认登录密码还是passworld,为了安全起见,还是要修改登录密码。

点击这个选项

img

转跳到修改密码界面

img

输入新的两次密码,点击绿色按钮保存,下次登录就要用新的密码登录。

PS:连接SSH默认是22端口,想要修改默认SSH登录端口的话,也要修改!

配置旁路由网络

连通主路由

我主路由和旁路由不在一个IP段,此时旁路由还是无法联网的状态,接下来要连通两个路由

img

进入网络页面,对Lan进行设置

img

按照图片顺序进行设置,有两个地方需要设置

img

此处和OpenWrt 24.10版本有区别:

  • Protacol:选择Static address,静态地址。

  • Device:选择br-lan

  • IPV4 address:是旁路由的IPV4地址,要和主路由同一个IP段,假设旁路由IPV4地址设置为192.168.2.150(以下用此IP举例,需要替换成你自己的IP),那么此处要写192.168.2.150/24。以前OpenWrt 24.10版本只要写192.168.2.150就可以。

  • IPV4 gateway:IPV4网关,和主路由的网关一致即可。

  • IPV4 broadcast:输入完IPV4地址和网关后会自动弹出,不用理会。

  • IPV6暂时不填写。

img

点击save保存。

img

再点击右下角Save&Apple保存。

此时进入加载界面,无法再连接openwrt后台页面,因为旁路由的IP已经发生变化,变成192.168.2.150,而电脑依然是192.168.1.X段的,两个设备不在同一个IP段上,所以无法连通。

要把电脑的IP改成同一个IP,可以手动修改或者自动获取。

修改电脑IP后,在网页输入192.168.2.150,即可再次进入OpenWrt后台页面。可以在后台的首页或者网络设置页面查看网络信息,此时IPV4已经设置好,可以正常上网。

为旁路由添加IPV6

再回到网络设置界面

img

软路由做旁路由用,如果不需要用到wan口,可以删除(都做旁路由用了,wan口一般也用不到)。

点击Add new interface...添加IPV6设置

img

  • Name:名字随意,自己知道是什么就好

  • Protacol:选择DHCPv6 client

  • Device:选择@lan

然后点击绿色按钮进行下一步

img

找到Firewall Setting(防火墙),选择lan,然后点击Save保存。

再点击右下角Save&Apple保存。

img

稍等片刻,即可看到获取的IPV6信息。

为OpenWrt设置中文

现在OpenWrt还是英文,对于很多操作不方便,首先进入软件包界面

img

点击更新

img

img

更新完毕。

在搜索栏粘贴中文插件luci-i18n-base-zh-cn,然后点击Install安装

img

安装完毕后,刷新界面,便是中文界面

img

PS:后续使用中要用到SSH的文件传输功能,要额外安装openssh-sftp-server插件

为SSH设置保存历史命令

OpenWrt的SSH使用有一个点很不好,重启路由器后,不会保存使用过的SSH命令。以前24.10版本的话用bash基本就可以解决,25.12有点小变动。

首先用SSH工具先连接上路由器

更新

apk update

安装需要软件

apk add bash
apk add nano

用nano进行编辑

nano /etc/passwd 

把第一行最后的ash改成bash

img

然后Ctrl+x确认并退出。

关闭SSH,然后再打开SSH。否则可能不生效

关闭SSH,然后再打开SSH。否则可能不生效

关闭SSH,然后再打开SSH。否则可能不生效

编辑/root/.bash_profile,如果没有的话直接新建

nano /root/.bash_profile

把以下内容复制粘贴进去(建议删掉注释的中文再粘贴进去,中文有可能会乱码)

# 设置历史记录文件路径及保存的条数
export HISTFILE=/root/.bash_history
export HISTSIZE=1000
export HISTFILESIZE=1000

# 设置历史记录以“追加”模式写入,防止覆盖
shopt -s histappend

# 核心:每次执行完命令后立即将内存中的记录写入磁盘
export PROMPT_COMMAND="history -a"

然后Ctrl+x确认并退出。

再执行

source /root/.bash_profile

退出SSH,再进去SSH即可自动保存使用的命令,即使重启了路由器没问题。

更换主题

现在的OpenWrt主题是系统自带的,美观度一般般,给它换个主题。

Argon theme是被广泛运用的一款主题,也是我一直以来用的

img

项目地址:https://github.com/jerrykuku/luci-theme-argon

打开SSH,执行:

apk update
apk add luci-compat
apk add luci-lib-ipkg
wget -O luci-theme-argon-2.4.3-r20250722.apk  https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.4.3/luci-theme-argon-2.4.3-r20250722.apk
apk add --allow-untrusted ./luci-theme-argon-2.4.3-r20250722.apk

如果版本升级了,自行修改最新版本。

关掉OpenWrt后台网页,然后再重新打开,即更新了Argon theme主题。

img

硬盘扩展

OpenWrt默认分配的硬盘空间很小,哪怕你原本有很大的硬盘空间,可能都自动分配几十或者一百多兆,没装几个软件就没空间了。

img

如图所示,我64G的内存卡,只给了80多M的硬盘,这需要硬盘扩容。

OpenWrt和ImmortalWrt会有一点不一样,ImmortalWrt的步骤会多一些。

OpenWrt硬盘扩容

更新和安装所需要的软件

apk update && apk add fdisk resize2fs

查看挂载情况

df -h

注意此路径,一会需要用到,是个循环设备

img

查看目前分区情况

fdisk -l

对这个磁盘进行分区

注意,你磁盘的名字可能和我的不相同

img

输入

fdisk /dev/mmcblk0

img

此时输入字母p

img

此时输入字母d

然后依次输入2,n,p,2

此时注意刚才输入p得到信息

img

你的名字可能不是/dev/mmcblk0p2,但就注意这一行,注意它Start这个数据,把它填写进来,接着回车

回车后便到了输入数据设置扩容的容量了,此处可以直接写想要加多少,例如我想加3G的容量,可以直接写+3g

img

回车后,根据提示再依次输入n,w,退出后输入reboot重启。

重启后回到ssh,再查看挂载情况

df -h

注意刚才所说的挂载设备

img

输入命令

resize2fs -f /dev/loop0

回车后等待扩容

img

扩容完成后回到Openwrt的软件包界面,刷新一下界面

img

完成扩容。

ImmortalWrt硬盘扩容

更新和安装所需要的软件

apk update && apk add lsblk fdisk losetup resize2fs f2fs-tools

查看挂载情况

df -h

注意此路径,一会需要用到,是个循环设备

img

查看目前分区情况

fdisk -l

对这个磁盘进行分区

注意,你磁盘的名字可能和我的不相同

img

输入

fdisk /dev/mmcblk0

img

此时输入字母p

img

此时输入字母d

然后依次输入2,n,p,2

此时注意刚才输入p得到信息

img

你的名字可能不是/dev/mmcblk0p2,但就注意这一行,注意它Start这个数据,把它填写进来,接着回车

回车后便到了输入数据设置扩容的容量了,此处可以直接写想要加多少,例如我想加3G的容量,可以直接写+3g

img

回车后,根据提示再依次输入n,w,此处不用重启。

如果此处像OpenWrt一样,重启再执行resize2fs -f /dev/loop0的话,会出现以下报错报错:

resize2fs: Bad magic number in super-block while trying to open /dev/loop0
Couldn't find valid filesystem superblock

我们需要另外的操作...

查看目前分区情况

fdisk -l

img

确认分区已经扩大至3G

losetup

img

一会要用到这个数

losetup -f -o 8257536 /dev/mmcblk0p2

8257536 换成上一条命令得到的OFFSET/mmcblk0p2换成对应的BACK-FILE

接着输入

losetup

img

确认已经生成/dev/loop1新虚拟的循环设备

loop1这个循环设备挂载一次,再卸载一次,这是为了扩容做准备,防止数据出问题

mount /dev/loop1  /mnt

再卸载

umount /dev/loop1

看循环设备文件系统格式

lsblk -f

img

可以看到是f2fs格式的

resize.f2fs -f /dev/loop1

如果是ext4文件,把resize.f2fs换成resize

img

扩容完成后输入reboot重启软路由

等待开机后回到Openwrt的软件包界面,刷新一下界面

img

完成扩容。

TCP调优

很多人会忽略软路由的TCP调优,如果没有调优,很可能没发挥出软路由原本的网络性能。

更新

apk update

安装BBR

apk add kmod-tcp-bbr

编辑/etc/sysctl.conf

把以下内容复制粘贴进去

net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_window_scaling = 1
net.core.rmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 5000

PS:这里的TCP参数是适用我本地,并不合适所有人,不懂的话直接去问AI就行。

网络防火墙设置

做旁路由,有时候连接一些国内的网络可能会不太顺畅,例如微信朋友圈无法加载,这是需要在网络里面进行设置,一般会得到解决

找到网络-防火墙,把lan处的IP动态伪装选上,然后保存。

总结

玩软路由就是折腾,这种情况甚至说不上玩软路由,对小白来说,还是ImmortalWrt更加适用,ImmortalWrt集成更多的软件和合适中国用户的设置,不用太折腾网络和软件。另外,OpenWrt上很多软件要自己找到并安装,不像ImmortalWrt软件库里就有,安装了软件库以外的,无法在线升级,要卸载后才可以升级。

0

评论区