最近想要解放設備們的 CPU,讓科學上網的體驗變好一點點,順手實現一些雜七雜八的功能滿足折騰欲。在學校裡我有一臺 OpenWRT 的普通路由器,用起來非常不錯,OpenWRT 基本可以實現所有我想要的功能,但畢竟是普通路由器,CPU 性能太弱,所以我的需求就定在了一款 CPU 性能更強的,能運行 OpenWRT 的 ARM 軟路由,於是 Nano Pi R2S 進入了我的視野。
要是軟路由有排名,那 R2S 絕對是經典中的經典。小到無論如何都可以塞進弱電箱的體積,足夠強大的性能和上手的容易程度都是軟路由裡數一數二的。雖然價格可能是49入國軍,就不放出來了,但是隻要我對這玩意有需求,那也不是不能接受。
上手
好了,現在我們搞到了這 R2S,簡單來上個手:



R2S 外觀非常簡潔,沒有多餘的 IO,雖然原本不是作為軟路由設計,但在設計上卻給人一種天生為軟路由而生之感:一個 WAN 一個 LAN 兩個 RJ45 網口,一個 Micro SD 卡插槽,一個 USB 2.0 接口,完美覆蓋軟路由幾乎所有使用場景。
R2S 原本是作為邊緣服務器設計,被我們硬生生的玩成了軟路由。
一體成型的金屬外殼,非常有高級感,很有工業風,手感不錯。由於 R2S 挑卡,挑電源(看到後面你就知道了)在購買機器時我直接買了已經經過測試的 Micro SD 卡和電源組合套餐,理論上來說,我不會遇到 SD 卡、電源與機器不兼容的問題。
刷個 OpenWRT 跑起來!
先來看看這玩意兒的硬件規格:
- 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間距排針
- PC Size: 55.6 x 52mm
- Power Supply: DC 5V/2A
- Temperature measuring range: 0℃ to 80℃
- OS/Software: U-boot,Ubuntu-Core,OpenWrt
這個硬件規格,裝 Ubuntu 當服務器還是免了,但是跑個 OpenWRT 當路由器使綽綽有餘。
由於使用 Micro SD 卡作為啟動介質,R2S 的刷機非常容易:取出 SD 卡,用讀卡器接上電腦,把鏡像燒寫進 SD 卡,再把 SD 卡裝回 R2S,完成。對於用 Ultra ISO 刻過 Windows 系統盤的老油條來說全都是熟悉的操作,完全沒有任何難度可言,即使是新手也能很輕易的學會。讓我們快進到登入 OpenWRT 的後臺:

(此處應有Nice)
狗都不用 R2S 官方編譯的 OpenWRT,不僅沒有中文翻譯,沒有好看的主題,各種插件還需要自行安裝。懶得在官方固件上瞎折騰則可以直接選擇別人打包好的固件。我使用了 BigDongDong 打包的帶 Docker 固件,能滿足我的所有需求。
讓這玩意加入我的家庭網絡
要想讓 R2S 加入我的家庭網絡,有兩種大致的方案:第一種,也是最直截了當的辦法,即直接拿 R2S 當主路由使用;第二種方法稍微複雜,用 R2S 當旁路由,將原來主路由的網關指向旁路由。這兩種方案各有優缺點,將 R2S 當主路由配置簡單,只要你想,只需要將 R2S 接入光貓和原來的路由器之間,然後啟動路由器,什麼都不需要配置,直接開始上網。代價是這會讓網絡架構多一重出故障的概率,雖然這個概率很小。將 R2S 用作旁路由配置稍微複雜,但能實現某些設備直接走主路由,其餘設備走旁路由的效果,缺點就是某些只有作為主路由才能實現的功能(比如你要建站而你原來的主路由不支持端口轉發)無法實現。
我無法接受讓 R2S 作為旁路由的行為,想到數據包在兩個路由由之間來回竄個兩次才能被髮出去情景,我還是選擇了第一種方案——我不需要那麼穩定的網絡,大不了多重啟幾次。於是這就是新的網絡拓補圖:

圖片懶得自己畫所以來源於網絡,無線路由器那裡那個 WAN 請自行腦補成 LAN。
為了讓 R2S 能儘可能的與我的設備交互(比如控制某個設備是否啟用科學上網),以及儘可能的減少 NAT 和網段的套娃,我們需要對原來的路由器進行一些設置,首先查看路由器是否有類似 AP模式(無線接入點模式)的功能,如果有那麼直接啟用這個模式就行。如果我的路由器有這個選項那我就不需要寫下面這個部分了,只可惜,這 TP-LINK 電子垃圾並沒有。
手動把原來的路由器設置成交換機
我不得不手動設置這個路由器,不過還好這並不是一件難事:首先把原本接在路由器 WAN 口的網線插到 LAN 口裡,你沒看錯,LAN 口。然後登入原路由器的後臺,關掉原路由器的 DHCP 服務器,打開原路由器的 LAN 口設置把原路由器的 LAN 口 IP 設置成與 R2S同一網段下的一個IP,例如:我的 R2S 的 IP 是 192.168.2.1 ,所以我將原路由器的 LAN 口 IP 設置成 192.168.2.2 。設置好以後重啟路由器,所有設備就和 R2S 同一個網段了,在 R2S 的後臺也可以看到這些設備。這些操作的本質是把路由器變成一個帶無線功能的交換機。


至此,基礎的網絡配置已經全部完成了,本來就很亂的弱電箱更亂了。
終於可以正式開始折騰了
現在折騰的基礎已經有了,那就開始折騰吧。
Passwall 科學上網
其實原本想用 Clash,不過 Clash 有多吃資源上網一搜就知道。
關於 Passwall 怎麼使用網上一搜一大把,這裡我直接寫我的用法:
- 導入機場的訂閱開啟自動更新訂閱,每天一更新
- 選擇一個位於香港的節點作為主節點
- 開啟自動切換,設置新加坡和美國的節點為 Fallback 節點(故障轉移)
- 開啟
ChinaDns-NG過濾被汙染的 DNS 結果
最後把之前所有設備上設置的 DoH 和 DoT 取消,讓他們的 DNS 服務器直接指向 R2S,萬事大吉,所有設備都可以科學上網了。出於強迫症我將家用攝像頭排除在代理列表外,搞定。
青龍面板
既然這固件自帶 Docker,那總得用起來吧?Docker 能幹嘛?青龍面板安排。操作其實也很簡單:把青龍面板的鏡像拉取到 SD 卡上,然後部署啟動容器啟動就行。
另外需要額外安裝一些依賴,例如 Python 的 requests 庫,Node.js 的 base64 庫等,這裡我隨意貼一份依賴列表,可以自行取用:
| |
至於其他依賴基本可以看腳本運行的錯誤日誌對症下藥地安裝,這裡就不貼出來了。
那麼現在青龍面板有了,拿他幹什麼呢?


目前只是拿它跑跑腳本拿京豆,佛系看到什麼功能就加上,雖然用的是家用 IP,被風控的概率比較低,但我還是儘量不多開腳本,且不說會不會被風控,畢竟這東西還是主路由,總不能一天到晚太佔性能導致我的上網體驗變差吧?如果真是這樣那就捨本逐末了。
至於腳本從哪裡來,可以自行在 Github 上搜索依賴庫拉庫安裝,說不定以後還要去 Gitee 上再找找,只能說,但願 Github 不要被完全阻斷導致一部分大佬往 Gitee 上跑。這裡貼一個我用的庫
https://github.com/okyyds/yydspure/tree/master
直接用定時任務拉庫就行。
| |
穩定性、效果和問題
為了穩定,暫時就折騰這麼多了。
那麼穩定性怎麼樣?目前來看很好,沒有遇到網上的各種燒壞,重啟之類的問題,設置 Crontab 每週重啟一次,非常穩定,這裡有一個坑點: R2S 使用 Type-C 接口供電,卻不支持 PD 協議。並且,雖然官方的技術規格里只需要 5V2A 的電源,但實際上需要儘量選擇高於這個規格的電源,比如我的電源是 5V3A 的非 PD 協議電源,這就導致 R2S 的配套電源選擇範圍很窄,儘量選擇店家 R2S 套餐裡配好的電源。以下是一些網友的情況:

前面也提到了 R2S 挑卡的問題,出於一些原因,R2S 與某些SD卡的兼容性欠佳,可以去 R2S 官方 Wiki 上找找兼容的 SD 卡列表。
效果如何?不需要多說,因為家裡的寬帶只有 100 兆,任何一個軟路由都可以輕鬆跑滿。因為我的機場屏蔽了意義不大的測速,晚高峰(大概是晚高峰,週六下午六點半) Youtube 的話可以輕鬆跑到 12 萬。


這個速度和機場有比較大的關係,不過,只要5萬以上,4k 就能隨便拖著看,再往上意義不大。再就是青龍面板的效果,前面大家也都看到了。
那麼問題?其實問題主要集中在 IPV6 上,換上 R2S 後,哪怕我將所有 IPV6 相關的服務全都設成中繼模式也沒有辦法正常使用 IPV6,而原來的路由器只要設置成橋模式即可,這個問題暫時沒有找到解決方案。
最後
總體上,R2S 達到了我的預期,基本滿足了我的需求,是一件我相對滿意的產品。折騰樂趣無窮,但切莫上頭,軟路由這種東西,搞清自己的需求,不要忘記折騰原本的目的,夠用就好,否則就是一個痛苦的無底洞。至於這個尚未解決的 IPV6 問題,佛系解決,實在不行看看能不能用 IPV6 NAT。
評論已停用,直到您接受功能性 Cookie。