玩泥巴玩到openWrt去

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

▲要RT-N18U扛這麼多設備連線,著實難為人家了。

農曆年前做孝子,牙一咬幫爸媽換上兩台性能滿出來的高階筆電,網路也趁中華電信特價升級到了500/250Mbps(前陣子中華還佛心免費升成500/500Mbps);只是這麼一來,網路速度就更被RT-N18U掐著脖子跑不上去,看來也的確是時候請這位老兄讓讓位了。


剛好,看到Asus在PC家大特價,便順勢讓兩台RT-N18U除役,換上性能三級跳的TUF-AX5400,一來AX5400可以兩台串Mesh,二來也想看看Wifi 6到底有多香。

▲TUF-AX5400前陣子特價台票4,000有找,換來體驗一下Mesh與Wifi 6到底有多香,整體效能也是RT-N18U三級跳。

上機用了個兒把月,5GHz頻率確實順,SSID無縫切換也的確方便,Wifi 6速度提升更是暴力直接;但不知怎麼的,雖然AX5400的CPU與RAM使用率始終不高,無論是手機還是筆電,卻始終達不到即點即開的滑順體驗。

是我對滑順的期待太不切實際嗎?

或許是近十萬都開下去了,不試著把網路速度榨到一滴不剩就是不甘心。剛好筆電汰換下來的i5-5200U迷你桌機帶雙網孔(當年淘寶買的占美,機殼銳角超割手,也忘了當初為什麼買雙網孔機型),反正拿上網賣也換不了幾個錢,不如死馬當活馬醫(其實也沒那麼死馬,AX5400很夠用的),灌個openWrt跑Router,再掛個AdGuard Home還能順便擋廣告,一兼二顧何樂不為?

▲這台PC老歸老,i5-5200U / 8GB拿來跑Router一樣效能滿到天邊去,加上剛好有雙網孔,一定是老天爺要我拿來灌openWrt的sign。

網路上中英文資訊查了一堆,確定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時,總是戰戰兢兢,搞得跟拆炸彈似的……

▲RT-N16身為一代神機,別說你沒有刷過他!(網路圖片)

咳,扯遠了。

總之,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密碼進系統就先改掉了是常識,對吧?!)

▲PPPoE設定簡單明瞭。
▲IPv6停用參考設置。

6. Firewall與Port Forwards

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

▲Drop Invalid Packets建議勾起來。
▲Port Forwards可以個別選擇開或關很方便。

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埠。

▲DNS forwardings需要指定給AdGuard Home的埠號才有作用。
▲看到AdGuard Home的數字在跳就是舒坦。
▲看到網友說不建議AdGuard Home把原本系統的dnsmasq服務取代,所以53埠不去動他,讓AdGuard Home拿54埠。

8. 測試、上機

測試時我先直連小烏龜撥動態IP上網,等到所有設定都搞定,重開機確認一切正常後,我才用最快速度把openWrt換成主Router、改撥固定IP;至於AX5400,則是由路由器模式改成AP模式,另一台Mesh節點完全不用動。

實體操作上,只需要把原本小烏龜連AX5400 Wan孔的網路線改接到openWrt Wan孔上,然後openWrt Lan孔多牽一條網路線到Switch上而已,其他線路與設備的設定都完全一樣,家人甚至感覺不到有任何區別。(這應該是最理想的升級狀態吧?!)

▲整體架構與個別設備的設定不用動,抽換個Router網路效能就有感提升,整個素喜!

9. 心得

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

▲用路由器模式運作時,AX5400的記憶體使用量大約70%(350MB),改成AP模式後掉到60%(300MB),實際感受倒是沒差別。

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

Add a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料