玩泥巴玩到openWrt去
家裡網路早在8、9年前就用了光纖到府的100/40Mbps,不過說來慚愧,雖然明知跑不到全速,但這些年主Router一直都是由Asus RT-N18U硬扛,最大的原因,就是我總覺得這類家用機器的預算不該超過兩千。可是這幾年不只網路技術突飛猛進,上網設備也是越來越多,從手機、平板、筆電、桌機、NAS、Web Server到智慧手錶,一家大大小小超過20台設備全都擠著RT-N18U進出抽插,就算咱家不掛網下BT,光是幾個設備同時串流看影片,也是真夠RT-N18U瞧的了。

農曆年前做孝子,牙一咬幫爸媽換上兩台性能滿出來的高階筆電,網路也趁中華電信特價升級到了500/250Mbps(前陣子中華還佛心免費升成500/500Mbps);只是這麼一來,網路速度就更被RT-N18U掐著脖子跑不上去,看來也的確是時候請這位老兄讓讓位了。
剛好,看到Asus在PC家大特價,便順勢讓兩台RT-N18U除役,換上性能三級跳的TUF-AX5400,一來AX5400可以兩台串Mesh,二來也想看看Wifi 6到底有多香。

上機用了個兒把月,5GHz頻率確實順,SSID無縫切換也的確方便,Wifi 6速度提升更是暴力直接;但不知怎麼的,雖然AX5400的CPU與RAM使用率始終不高,無論是手機還是筆電,卻始終達不到即點即開的滑順體驗。
是我對滑順的期待太不切實際嗎?
或許是近十萬都開下去了,不試著把網路速度榨到一滴不剩就是不甘心。剛好筆電汰換下來的i5-5200U迷你桌機帶雙網孔(當年淘寶買的占美,機殼銳角超割手,也忘了當初為什麼買雙網孔機型),反正拿上網賣也換不了幾個錢,不如死馬當活馬醫(其實也沒那麼死馬,AX5400很夠用的),灌個openWrt跑Router,再掛個AdGuard Home還能順便擋廣告,一兼二顧何樂不為?

網路上中英文資訊查了一堆,確定openWrt就算掛在隨身碟也不太會影響速度,就把桌機SSD拆下來、便宜搞了一隻SanDisk 32GB,花個百來塊開始動手瞎搞。
首先,因為小弟天性多疑,就算Lean、ImmortalWrt這些現成固件都開源放上gitHub了,不用擔心被開後門捅屁股,不過看到一堆對岸應用就是不舒坦;而且咱家Router很乖巧很單純的,PPPoE、DHCP這些基本設置外,多個Port forwarding、再掛個AdGuard Home就拍拍屁股結案了事。想了一下,還是從官方系統上老老實實裸奔吧!
1. 下載與機器對應的img映像檔
搞openWrt大致分兩路,一路是直接把手上的Wifi路由器刷上openWrt韌體,另一路就是像我這種秉持客家精神拿x86舊電腦來灌系統。Wifi路由器要刷openWrt比較麻煩,你要先找到對應的型號或CPU、下載到對的系統、用奇技淫巧把韌體刷進去,有些機子弄不好還會變磚。記得早期神機RT-N16刷DD-WRT時,總是戰戰兢兢,搞得跟拆炸彈似的……

咳,扯遠了。
總之,x86電腦選擇單純得多,我是因為根本不懂squash姓啥名誰,所以直接用ext4版本。如果你也跟我一樣是用老電腦裝,選「generic-ext4-combined.img.gz」應該適用大部分情況。
2. 解壓縮、刷進隨身碟
在Mac OS我是用Unarchiver解壓縮、BalenaEtcher把openWrt寫進隨身碟;如果是windows應該就7.zip解壓縮、Rufus寫系統吧!?
3. 改BIOS、重開機
沒什麼新鮮事,進電腦改BIOS開機順序,插上隨身碟,重開機。
4. Voila!openWrt安裝完成
是的,安裝openWrt就是這麼樸實無華且粗暴。
5. 基本設定:PPPoE、DHCP、關IPv6
如果你跟我一樣,是在原本的架構下置換Router,那建議把所有設定都在openWrt上搞定了再移機比較好。
基本上Router最重要的功能,對外就是PPPoE撥號,對內就是DHCP讓設備取得IP上網,IPv6雖然先進但我不懂用、開著又礙眼,關掉!(唉對,root密碼進系統就先改掉了是常識,對吧?!)


6. Firewall與Port Forwards
接著因為架站,所以另外需要在Firewall裡設定Port Forwards,把https的埠號443指向內部的Web Server。我的IP編號習慣是,連接實體網路線的Web Server、NAS、桌機……這些設備走固定IP,無腦從192.168.1.2照順序往後排;至於走無線Wifi的手機、平板等就吃DHCP,編號從100起跳。這樣我很容易就能從IP位址快速判斷設備來源。(這樣分類只是我自己方便,如果有缺點還請大家不吝分享原因。)


7. 安裝AdGuard Home
openWrt安裝軟體套件是用opkg而不是apt-get,一開始沒注意還嚇了一跳,想說apt怎麼openWrt看不懂。安裝AdGuard Home沒什麼稀奇,就是opkg install adguardhome按下去就幫你裝妥妥了。比較麻煩的是openWrt的設定,因為你還要告訴系統「以後DNS出去前還要多經過AdGuard Home這一關」,所以DNS forwardings要另外設定AdGurad Home埠號。
爬文看到網友說不建議AdGuard Home把原本系統的dnsmasq服務取代,所以53埠不去動他,讓AdGuard Home拿54埠。



8. 測試、上機
測試時我先直連小烏龜撥動態IP上網,等到所有設定都搞定,重開機確認一切正常後,我才用最快速度把openWrt換成主Router、改撥固定IP;至於AX5400,則是由路由器模式改成AP模式,另一台Mesh節點完全不用動。
實體操作上,只需要把原本小烏龜連AX5400 Wan孔的網路線改接到openWrt Wan孔上,然後openWrt Lan孔多牽一條網路線到Switch上而已,其他線路與設備的設定都完全一樣,家人甚至感覺不到有任何區別。(這應該是最理想的升級狀態吧?!)

9. 心得
實際跑了幾個禮拜下來,這台Router幫我把煩人廣告擋掉一堆不說,即點即開的滑順感確實有達到我的預期。專業的學理或數據我不懂,純就體感上主觀覺得有再順上那麼一咪咪,而且i5 5200U / 8GB的配置輕鬆輾壓咱家不到30個設備上網的需求,負載從來沒超過10%;把Router功能從AX5400身上拔掉,讓他單純作為AP與Mesh節點來用,也釋放了大約50MB的記憶體用量出來。雖然原本AX5400效能就沒吃滿,不過分工更確實、工作量又降低,相信大夥兒也是非常滿意這樣的安排吧!嗯嗯!(點頭)

至於用退役的兩台RT-N18U刷機做VLAN,讓單條網路線上樓的配置,能收看第二台MOD、設備又在同個區網內,那又是另一個故事了……(菸)。