最近想要解放裝置們的 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。