想看評測的朋友直接跳到後面為什麼是R2S章節
軟路由是什麼
軟路由是什麼?首先引用百科
軟路由是指利用桌上型電腦或伺服器配合軟體形成路由解決方案,主要靠軟體的設定,達成路由器的功能;而硬路由則是以特有的硬裝置,包括處理器、電源供應、嵌入式軟體,提供設定的路由器功能。
說人話就是首先它是一個路由器,是一個純靠軟體來武裝的路由器,而這個軟體本身也是開源的,任何人都可以按照自己的需求進行定製化,這是軟路由很具有可玩性的原因。
軟路由在十年前的情況是,因為當時主流是使用海外路由韌體,使用者需要基本一定的網路知識和動手能力,透過論壇、QQ討論問題,硬體一般選擇二手PC改造,十年後的現在,也有專門針對軟路由透過定製硬體的廠家和提供服務的個人或團體,一些傳統硬路由廠家,也有釋出過軟體韌體,得益於X86架構的效能和市場普及,使用者覺得CPU不行可以換,記憶體不夠可以加,電源壞了可以換,硬碟不夠再上一塊,軟路由效能取決於選擇的硬體效能。
相反,硬路由就是我們普遍使用的路由器,由廠家提供整體的解決方案,包括路由器的硬體和軟體,那麼就不存在所謂的個人定製化了,見過哪個廠商為你的禾鬥學X上網需求做定製化的麼?鑑於國內環境,做了也是件政治不正確的事情。
當然硬路由也不是一無是處,軟路由優勢是定製化,一堆的外掛,弱勢是沒有硬轉發晶片和硬NAT,硬路由反之,在一些企業級的資料中心還是得靠硬路由(因為軟路由是基於通用硬體架構的,沒有給特殊場景特殊硬體最佳化,好比現在蘋果的M1晶片在影象處理方面的特殊最佳化,拿弱勢和別人的強勢比比不過也很正常)
既然軟路由的核心在於軟體,那麼這個神秘的軟體是什麼?軟路由大多使用OpenWRT或者基於OpenWRT衍生和修改的系統,例如LEDE(2018年1月與OpenWRT又宣佈合併),koolshare,Merlin(梅林),ikuai(愛快)等。
OpenWRT簡介
專案官網:https://openwrt.org/
OpenWrt是適合於嵌入式裝置的一個Linux發行版。
相對原廠韌體而言,OpenWrt不是一個單一、靜態的韌體,而是提供了一個可新增軟體包的可寫的檔案系統。這使使用者可以自由的選擇應用程式和配置,而不必受裝置提供商的限制,並且可以使用一些適合某方面應用的軟體包來定製你的裝置。
對於開發者來說,OpenWrt是一個框架,開發者不必麻煩地構建整個韌體就能得到想要的應用程式;對於使用者來說,這意味著完全定製的能力,與以往不同的方式使用裝置,OPKG包含超過3500個軟體。 預設使用LuCI作為web互動介面。
其實OpenWRT本質上就是一個完整核心的Linux系統
哪些場景需要軟路由
- 禾鬥學X上網:這其實是大多數人使用軟路由的場景(這其實也是我的核心需求),現在禾鬥學X上網有幾種方式,第一種是終端裝置下載客戶端然後匯入對應線路,裝置少還好,如果家庭裝置太多,而且OS還不同的話那麼匯入就很麻煩了,所以將軟路由作為家庭所有裝置的接入點,軟路由能科學了,那麼家庭裡面掛在軟路由下面的裝置都能科學,一勞永逸,而且軟路由還帶有豐富的功能如線路異常切換,定時更新網站列表,客戶端訪問規則等一系列的功能。
- 檔案共享:軟路由本質上就是一臺Linux伺服器,所以可以掛個大硬碟在上面供所有區域網裝置進行檔案功能,檔案功能的協議就太多了,Samba、NFS、FTP、HTTP,還有各種網盤之類。
- 掛機下載BT/PT:比如迅雷、百度網盤、BT、PT之類掛機上傳下載,因為軟路由就和家裡面的光貓一樣,不怎麼關機,常年開著,對於掛機下載場景尤其合適(當然,其他終端裝置也可以掛機,只是功耗太高)
- 上網行為精細化控制:特別適合家裡有小孩的場景,軟路由可以直接限定對某個裝置(透過裝置MAC地址)指定時間開放網路,指定某些網站不能訪問,並且還可以指定QoS(限速)
- 上網資料監控/統計:在軟路由下掛著的裝置流量都要經過軟路由,所以理論上軟路由是可以監控所有裝置的資料。
- 遠端喚醒:所謂遠端喚醒即遠端開機,因為軟路由常年不關機,可以透過內網穿透等方式在Internet上給軟路由傳送指令,傳送給指定MAC地址的網絡卡裝置,網絡卡裝置將喚醒對應終端裝置(需要相關設定)
- ...
那麼哪些場景不適合軟路由呢?假如你的需求只是能連個wifi上個國內網就行,沒啥其他的特殊需求,那其實不適合上軟路由,因為畢竟也是需要折騰的。
為什麼是R2S
軟路由這麼多,為什麼是R2S?RS2全稱友善NanoPi R2S ,是友善電子團隊最新推出的一款實現滿速率雙千兆的、完全開源的Iot應用神器。NanoPi R2S 使用RK3328 CPU,有兩個千兆網路,1G DDR4記憶體,友善電子團隊為NanoPi R2S專門移植了OpenWrt系統,支援Docker CE, 完全開源,用於企業物聯網二次開發,個人定製NAS,家庭物聯網閘道器等
R2S的特點
- 價格便宜(裸機268,全套368(TF卡加電源)),入門首選
- 體積小,巴掌大小
- ARM架構,低功耗
- 被動散熱,無風扇,無噪音
- 硬碟可擴充套件,內建USB(USB2.0)
R2S太適合入門了, X86軟路由大多數是一些工控機良莠不齊, 往往需要花很多時間來找滿意的機器, 而R2S是一個真正為軟路由設計的產品, 有官方的OpenWRT韌體支援, 相比X86體驗一點不差, 說到刷機體驗, 那也是相當友好
開箱
外觀
另外需準備兩條千兆網線,如下圖這種,幾塊到幾十塊不等
硬體結構與配置
配置詳情
- CPU: Rockchip RK3328, Quad-core Cortex-A53
- DDR4 RAM: 1GB
- Network:
- 10/100/1000M乙太網口 x 1
- USB3.0轉10/100/1000M乙太網口 x 1
- USB2.0 Host: Type-A x1
- MicroSD Slot x 1
- MicroUSB: 供電和Slave功能
- Debug Serial Port: 3.3V TTL電平,3Pin 2.54mm間距排針
- LED: LED x 3
- KEY: KEY x 1 使用者自定義功能
- PC Size: 55.6 x 52mm
- Power Supply: DC 5V/2A
- Temperature measuring range: 0℃ to 80℃
- OS/Software: U-boot,Ubuntu-Core,OpenWrt
官方wiki參考:https://wiki.friendlyarm.com/wiki/index.php/NanoPi_R2S/zh
使用方法
網路拓撲
拿到R2S後第一件事情就是思考怎麼接線,網路拓撲是怎樣的,由於R2S只有一個WAN口一個LAN口並且沒有無線網絡卡,所以還需要另購置一個路由器用於區域網裝置接入(如果沒有現成的路由器),目前有三種玩法
- R2S直接接在光貓後,做主路由,原來的路由器WAN口接在R2S LAN口做二級路由,如下圖所示,優點是接線即可用(要確R2S和原來的路由器不再一個網段,因為兩個路由器管兩個網段的裝置,處於同一個網段就衝突了),缺點也很明顯,需要多一次路由轉發
- R2S直接接在光貓後,做主路由,原來的路由器LAN口接在R2S 的LAN口並設定為AP模式,此時路由器相當於一個交換機,擴充了R2S的網路介面,而且還有無線功能,需要保證原來的路由器和R2S在一個網段,並且不需要多一次路由轉發,推薦這種方式
- R2S做旁路由,原來的組網方式不變,光貓連著主路由器,把R2S的LAN口接在路由器的LAN口,R2S和主路由在同一個網段,並且R2S的閘道器指向主路由,優點是原來的組網方式不變,區域網中出現兩個閘道器,根據自己的需求進行設定,想走主路由閘道器就設定成主路由,想走R2S閘道器就設定成R2S的IP
我這裡選擇的是第二種方式
韌體
2020 年 7 月 28 日,OpenWrt 官方主線加入了對 NanoPi R2S 的正式支援,使用 Longterm Kernel 5.4 核心。
韌體分為 Ext4 版和 SquashFS 版,除了新人啟動 SquashFS 的韌體一直失敗,實在沒辦法啟動,才建議使用 Ext4 韌體。Ext4 韌體不能使用 firstboot 等操作,誤操作後無法重置系統,大部分原生韌體都為 SquashFS,部分為並存。
選擇韌體主要看原始碼來源,更新頻率,使用人數,穩定性和普遍性等因素,在使用了幾個韌體後(骷髏頭、小朋友編譯、404等)此處推薦骷髏頭編譯的韌體,地址如下
- https://github.com/DHDAXCW/NanoPi-R2S-2021
刷韌體方法:
- 登入R2S後臺(前提是R2S已經有了可以正常使用的韌體),一般IP為192.168.2.1,使用者root,密碼password,登入後以此選擇系統 > 備份/升級 > 刷寫新韌體,選擇下載xxxx-sysupgrade.img.gz的檔案後,點選重新整理韌體,R2S會將韌體上傳然後刷寫,等待幾分鐘即可,推薦這種方法,簡單快捷,但有時候出問題的話就需要用到第二種辦法了
- 透過balenaEtcher工具,將TF卡從R2S取出插入讀卡器連線電腦,開啟balenaEtcher,然後選擇韌體 > 選擇磁碟(TF卡) > 開始刷寫,刷寫完後將TF卡插入R2S通電即可進入開機流程
骷髏頭的韌體刷完之後長這樣,一般IP為192.168.2.1,使用者root,密碼password,登入後第一件事情改密碼,我刷的是帶docker版本的,有時候需要玩玩docker,如果只是禾鬥學X上網可以刷一個精簡版(stable),安全穩定
功能列表
我刷的是全外掛版,功能實在太多了,我把左側欄的功能全部列了出來,如下
狀態
概覽
防火牆
路由表
系統日誌
核心日誌
系統程序
實時資訊
實時監控
WireGuard 狀態
負載均衡
釋放記憶體
系統
Web 管理
系統
管理權
軟體包
TTYD 終端
啟動項
計劃任務
掛載點
磁碟管理
LED 配置
備份/升級
自定義命令
定時重啟
檔案傳輸
重啟
Argon 主題設定
CPU Freq
服務
PassWall
Hello World
SS..R Plus+
AdGuard Home
京東簽到服務
MentoHUST
易有云檔案管理器
DDNS.to內網穿透
上網時間控制
全能推送
OpenClash
解鎖網易雲灰色歌曲
阿里DDNS
動態 DNS
WiFi 計劃
SmartDNS
QoS Nftables 版
天翼家庭雲/雲盤提速
網路喚醒
UU遊戲加速器
AirPlay 2 音訊接收器
Shairplay
Frp 內網穿透
UPnP
Frps
KMS 伺服器
HAProxy
udpxy
Nps 內網穿透
Tinyproxy
迅雷快鳥
MWAN3 分流助手
Docker
概覽
容器
映象
網路
儲存卷
事件
配置
網路儲存
檔案助手
檔案瀏覽器
可道雲
NFS 管理
儲存同步
微力同步
PS3 NET 伺服器
USB 列印伺服器
硬碟休眠
網路共享
PCHiFi 數字轉盤遙控
GoWebDav
MJPG-streamer
Rclone
miniDLNA
FTP 伺服器
Aria2 配置
Transmission
掛載 SMB 網路共享
qBittorrent
BaiduPCS Web
網路
介面
訪客網路
DHCP/DNS
主機名
IP/MAC繫結
靜態路由
診斷
防火牆
SQM QoS
Socat
UDP工具
多線多撥
負載均衡
Turbo ACC 網路加速
寬頻監控
顯示
配置
備份
實時流量監測
禾鬥學X上網
以前擔心軟路由不支援ss+v兔ray外掛的方式,現在看來是我多慮了,SS..R Plus+基本支援全協議了,甚至包括v兔ray外掛或者自定義外掛的方式,總之完全能滿足我透明代X理的需求,還帶有豐富的功能如線路異常切換,定時更新網站列表,客戶端訪問規則等。當然還有Pass Wall Hello World Open Clash等也集成了進來,姿勢可謂十分豐富,感興趣的可以深入研究
檔案共享
服務
易有云檔案管理器
網路儲存
檔案助手
檔案瀏覽器
可道雲
NFS 管理
網路共享
FTP 伺服器
掛載 SMB 網路共享
檔案共享姿勢就太多了,上面列表挨個試試吧,Windows直接Samba協議完事
檔案掛機下載
網路儲存
Aria2 配置
Transmission
qBittorrent
BaiduPCS Web
BT掛機,百度掛機,可以試試以上功能
上網控制
服務
上網時間控制
遠端開機
服務
網路喚醒
內網穿透
服務
DDNS.to內網穿透
Frp 內網穿透
解鎖網易雲
原理是透過其他音源(如酷我)替代網易雲裡面灰色的音源
服務
解鎖網易雲灰色歌曲
動態DNS
服務
阿里DDNS
動態 DNS
遊戲加速
服務
UU遊戲加速器
KMS伺服器
服務
KMS 伺服器
寬頻監控
寬頻監控
顯示
配置
備份
實時流量監測