本文演示的软路由型号为友善R4S,其使用ARM v8芯片,相比传统的X86芯片能耗更低,更适合软路由系统
介绍
类似于计算机有软件和硬件的概念,在路由器领域,我们习惯把常用的可以发射Wi-Fi信号的设备称为“硬路由”,而把没有无线功能,但是运行着路由系统的设备称为“软路由”
- 硬路由的特点:无线信号强,稳定性高但硬件昂贵
- 软路由的特点:软件丰富,可玩性高,成本较低
软路由和硬路由不是相互代替的,反而是相辅相成的关系,有条件的家庭可以两者都选购
网络拓扑图
常见的家庭网络拓扑图,可以看到软路由的位置仅次于光猫,在网络拓扑图中具有较高的地位,正因如此,软路由才可以实现一些硬路由没法实现的高级玩法
开始之前
OpenWrt 是一款基于 Linux 的开源软路由系统,专为嵌入式设备(如路由器、网关、无线接入点等)设计。它提供丰富的网络功能和插件,支持多种硬件平台,允许用户自定义配置和扩展功能,从而实现灵活、定制化的路由器管理和网络服务。 OpenWrt 提供了一套完整的路由器操作系统,包括了 Linux 内核、网络管理工具、Web 界面、软件包管理器(opkg)等,用户可以通过 SSH 或 Web 界面进行配置和管理。OpenWrt 具有强大的路由和网络功能,如防火墙、端口转发、虚拟专网(VPN)、负载均衡、QoS(服务质量)、无线网络管理等,同时还支持大量的第三方软件包,如 DNS 服务器、VPN 服务器、网络存储(NAS)等,可以根据需要进行安装和配置。
下载镜像
镜像地址 | 特点 |
---|---|
OpenWrt官方镜像「推荐」 | 优点:最为纯净,稳定性也最好 缺点:默认存储空间只有500M,而且不能扩展 |
友善官方镜像 | 优点:较为稳定,自带docker 缺点:系统太过臃肿,自定义性差 |
supes.top | 优点:由kiddin9大佬贴心定制,适合小白用户 缺点:比起官方的稳定性差 |
当然如果你熟悉linux系统的话,也可以自己下载OpenWrt源代码后来编译生成固件,这就不在本篇文章的范围内了
软件安装
以下三种方式任选一种即可
luci软件安装后在「Service」菜单中可找到
官方仓库
登录openwrt后台web界面
访问:System > Software > Update lists,更新软件源
在上方的红框中输入软件课程,然后在中意的软件右侧点击「Install」
手动上传安装包
ipk文件仓库列表:
名称 | 仓库地址 |
---|---|
openwrt官方仓库 | https://downloads.openwrt.org/releases/ |
kiddin9大佬的仓库 | https://op.supes.top/packages/ |
下载好需要的
.ipk
安装包文件web页面访问:System > Software > Upload Package,上传
.ipk
安装包
命令行安装
- 使用ssh连接到openwrt
- 执行如下的命令shell
#更新源 opkg update #搜索安装包 opkg search {package_name} #安装 opkg install {package_name}
扩容分区
OpenWrt默认的系统分区只有100M左右,如果你的SD卡空间较大,建议进行扩容
⚠️以下命令只能在Linux环境下运行
执行下面的命令,对镜像包进行分区扩容
shell# 解压下载好的镜像包 gzip -kdq openwrt-22.03.4-rockchip-armv8-friendlyarm_nanopi-r4s-squashfs-sysupgrade.img.gz # 重命名文件 mv openwrt-22.03.4-rockchip-armv8-friendlyarm_nanopi-r4s-squashfs-sysupgrade.img op.img #扩容8000M,这里因为我的SD卡总容量为32G,分出8G绰绰有余 dd if=/dev/zero bs=1M count=500 >>op.img #进入分区工具 parted op.img #查看分区情况 print #扩容分区2 resizepart 2 100% #再次查看 print #退出分区工具 quit
分区之后的数据类似下图
磁盘分区
搜索下载
luci-app-diskman.ipk
进入 System > Disk Man > Edit,(如页面报错,则需要安装
luci-compat
)填写分区起始、结束位置(一般默认就行),点击「New」,完成分区新建
格式化分区为ext4格式
System > Software,搜索并下载
block-mount
进入 System > Mount Points,找到新建的分区,然后Edit > Enable > Save&Apply
推荐软件
Argon主题
OpenWrt下的高颜值主题
安装清单
luci-theme-argon
:argon主题
启用
System > System > Language and Style,选择Argon主题并保存
Docker
安装
opkg install docker dockerd docker-compose
管理页面
需要打开防火墙转发,Luci > 网络 > 防火墙 > 转发:接受
#创建一个卷,来供管理工具存储数据
docker volume create portainer_data
#拉取Docker镜像
docker pull portainer/portainer-ce:linux-arm64
#运行Docker容器
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:linux-arm64
访问地址:https://192.168.1.1:9443
创建用户名和密码
运行容器
Debian
docker pull debian
docker run -it --name debian debian /bin/bash
MariaDB
docker pull mariadb
docker run --name mariadb -v /my/own/datadir:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=my-secret-pw -d mariadb:latest
Redis
docker pull redis
docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf
Samba
Samba 是一组不同功能程序组成的应用集合,它能让 Linux 服务器实现文件服务器、身份授权和认证、名称解析和打印服务等功能。
Samba分为服务端和客户端,本次我们打算将软路由上作为文件共享中心,因此需要在软路由上安装Samba的服务端。客户端的话,因为现代的操作系统默认都支持SMB协议,所以只需要稍加配置即可启用
安装
samba4-server
:samba的服务端luci-app-samba4
:可视化配置页面
添加用户
#安装'useradd',目的是为了创建用户
opkg install shadow-useradd
#新建一个用户,名字叫'samba'
useradd samba
#为用户samba创建密码,看到'Added user samba.'表示用户成功添加到samba中了
smbpasswd -a samba
#创建一个文件夹用于samba共享,可以自己随意设置
mkdir -p /opt/samba
#使用户samba获得文件夹权限
chown -R samba:samba /opt/samba
软件配置
进入Samba配置页面: Services > Network Shares
共享目录,注意
Path
一定要选之前创建的,例如我的就是/opt/samba
,其他的可以参照我的截图来兼容苹果设备访问(建议打开)
其他平台访问方式
Windows
在启用或关闭windows功能中打开
SMB 1.0/CIFS 文件共享支持
和SMB直通
打开文件资源管理器,右键「此电脑」-> 「映射网络驱动器」
文件夹填入
\\192.168.1.1\samba
,然后回车按照提示输入用户名和密码即可成功连接
Mac
打开Finder
按下快捷键
⌘ + k
打开连接输入samba的服务器地址,例如
smb://192.168.1.1
,点击连接按照提示输入用户名和密码即可成功连接
iPhone/iPad
打开文件 -> 浏览,然后点击右上角 更多 -> 连接服务器
输入samba的服务器地址,例如
smb://192.168.1.1
,点击连接按照提示输入用户名和密码即可成功连接
Aria2
Linux 平台下知名的下载工具
安装清单
aria2
:aria2内核luci-app-aria2
:luci界面webui-aria2
:web界面
配置
在 Basic Options 中开启Aria服务,并设置下载目录,这里我是下载到samba路径下方便分享
在 RPC Options 生成RPC令牌
返回 Basic Options ,点击上方的“WEBUI-ARIA2”按钮
设置 > 连接设置中填写aria2服务的ip、端口、rpc密钥
保存连接配置
现在可以试试下载一个url文件或者BT种子
网络唤醒
教你如何使用Siri唤醒你的PC电脑
安装清单
luci-app-wol
(会自动安装etherwake
等依赖)
PC设置
在 Windows 10 中,运行 > ncpa.cpl 打开「网络连接」设置,然后找到当前在使用的有线网卡,右键点击「属性」:
然后选择「配置」:
在随后弹出的面板中找到「电源管理」,勾选「允许此设备唤醒计算机」以及「只允许幻数据包唤醒计算机」
主板设置
除此之外,我们可能还需要启用适当的 BIOS 设置才能使用 WoL 功能,具体方法视厂商而定,进入 BIOS 后注意选项附加的说明即可,可以参考的关键词包括:
- Network Stack
- Automatic Power On
- Wake on LAN/WLAN
- Power Management
- Power On by Onboard LAN
- Power On by PCI-E Devices
测试唤醒
Service > Wake On LAN
选择网口和待唤醒的主机IP,点击「WAKE UP HOST」
iOS
捷径 > 新建快捷指令 > 添加操作,选择「通过SSH运行脚本」
填写脚本代码:
etherwake -D ${需要唤醒的MAC地址}
填写ssh连接信息
之后需要唤醒电脑时:「嘿Siri,唤醒电脑」
OpenClash
一个可运行在 OpenWrt 上的 Clash 客户端,兼容 Shadowsocks、ShadowsocksR、Vmess、Trojan、Snell 等协议
安装
登录路由器后台,比如
ssh root@192.168.1.1
下载安装前依赖:
shell#如果是新的nftables opkg update opkg install coreutils-nohup bash dnsmasq-full curl ca-certificates ipset ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base #如果是旧的iptables opkg update opkg install coreutils-nohup bash iptables dnsmasq-full curl ca-certificates ipset ip-full iptables-mod-tproxy iptables-mod-extra libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip luci-compat luci luci-base
在OpenClash Release页面找到最新版本的ipk安装包,复制连接地址 下载安装包:
wget https://github.com/vernesong/OpenClash/releases/download/v0.45.110-beta/luci-app-openclash_0.45.110-beta_all.ipk -O luci-app-openclash.ipk
安装OpenClash:
opkg install ./luci-app-openclash.ipk
在 Services > OpenClash 中即可找到
配置
下载clash内核
OpenClash > Plugin Setting > Version Update
找到如图位置,点击即可下载最新版clash内核
添加clash订阅
OpenClash > Config Subscribe > ADD
在
Subscribe Address
中填写自己的clash订阅地址并点击COMMIT SETTING
保存
点击OpenClash首页左下角“ENABLE OPENCLASH”即可启动
点击中间的“OPEN PANEL”可以访问clash前端UI面板
Cloudreve
开源的私有云系统,提供类似谷歌云一样的易用界面,支持文件下载、上传、分享等,同时也支持aria2离线下载
安装
- 使用terminal登录openwrt后台,比如
ssh root@192.168.1.1
- 在GitHub的release页面找到最新的安装包,使用如下命令进行下载并保存shell
wget https://github.com/cloudreve/Cloudreve/releases/download/3.7.1/cloudreve_3.7.1_linux_arm64.tar.gz -O cloudreve_3.7.1_linux_arm64.tar.gz
- 解压到
/opt/cloudreve
目录下:tar -zxvf cloudreve_3.7.1_linux_arm64.tar.gz -C /opt/cloudreve
- 赋予执行权限:
chmod +x ./cloudreve
- 启动cloudreve:
./cloudreve
,命令行日志中可看到初始的管理员密码,请务必保存!!!
开机自启动
- 新增cloudreve启动文件:
vim /etc/init.d/cloudreve
- 填写如下的内容:shell
#!/bin/sh /etc/rc.common START=99 STOP=01 USE_PROCD=1 # 应用名称 NAME=cloudreve # 应用路径 PROG=/opt/cloudreve/cloudreve start_service() { procd_open_instance procd_set_param command "$PROG" # 输出日志到系统log中 procd_set_param stdout 1 procd_set_param stderr 1 procd_close_instance }
- 启用服务:
/etc/init.d/cloudreve enable
配置离线下载
浏览器访问
192.168.1.1:5212
,使用admin账号登录登录后点右上角头像 > 管理面板 > 离线下载节点,修改主节点
在离线下载部分填写Aria2对应的信息,保存后即可使用离线下载功能
网易UU加速器
安装清单
uugamebooster
:网易uu加速器luci-app-uugamebooster
:对应的luci界面
启用
勾选「enable」,保存并应用
然后使用手机APP即可进行加速
其他加速器如:灵缇加速器、迅游加速器等等,步骤都是类似的