軟路由軟體OPNSense + 我更換了家居路由器

PikachuEXE
·
·
IPFS
·
路由器兼防火牆

這篇文不會包括Proxmox/OPNSense的安裝/設定等
網上很多文章/影片可以看啦

官網截圖

本文概要

  • 為甚麼我要換路由器

  • 變更前家居網絡構架

  • 新路由器硬件配置

  • 路由軟體OPNSense簡介

  • 個人新路由器的各種設定

  • 變更後家居網絡構架

  • 自建路由器相關影片


為甚麼我要換路由器

舊路由器是那種很常見的家用路由器,不過我安裝的是DD-WRTDD-WRT是一個基於Linux的路由韌體)
不過軟件版本很舊了(太久沒更新所以更加不敢更新)

不久前看到一段影片關於新的TLDTop Level Domain頂級域名)(影片上傳時間2023-05-24
新的TLD.zip.mov,這兩個是常見檔案副檔名,也是有效網址的字尾
但是當這兩個變成TLD,那用戶就很容易點擊一個長網址(例如下載檔案),而實際上可以是釣魚網域

不記得是影片中還是回應中有提到用OPNSense擋這些TLD,然後我就開始研究並著手進行更換路由器
舊路由器上的DD-WRT實際上也可能做到,不過都過很多年了還不如用新的路由軟體

釣魚頂級域名

變更前家居網絡構架

我懶得畫圖,用文字表示一下好了

  • 網絡供應商(ISP)用光纖連到我家,有個轉換器一邊連接光纖一邊連接電腦常用的RJ45網絡端口

  • RJ45的那一邊用一條很長的網絡線連到路由器

  • 路由器有1個端口連接對外連線,4個端口連接家中電腦(實際上平常只用了3個),還有WiFi天線連接大部分裝置例如智能電話、電視機

沒了,實際上很簡單


新路由器硬件配置

懶得拍照,網上找張差不多的:

https://www.servethehome.com/inexpensive-4x-2-5gbe-fanless-router-firewall-box-review-intel-j4125-i225-pfsense/
  • CPU Intel® Celeron® Processor J4105

  • GPU Intel® UHD Graphics 600

  • RAM DDR4 16GB

  • 硬碟1 mSATA SSD 128GB

  • 硬碟2 2.5寸SATA HDD 320GB

  • 網絡 Intel i211 1000Mbps LAN X 4

  • 影像輸出 HDMI(4K@60Hz)

  • 其他IO USB 3.0 Port x 2 , USB 2.0 Port x 2

因為是用作路由器,這種低功耗(這CPU TDP 10W)的CPU雖然效能與個人電腦比差得遠,但是作為家用路由器功耗較效能重要啊(商用不肯定,尤其企業那種)

另外至少有兩個網絡端口,一個連接互聯網另一個連接家用那邊
家用那邊可以連接網路交換器或者像我一樣連接現有路由器(需更改設定)
而且網絡卡最好是Intel的,其他品牌網絡卡支援沒那麼好


路由軟體OPNSense簡介

先來一些連結:

OPNSense官網 - https://opnsense.org
用戶文檔、論壇等都可在裡面找到

OPNSense subeddit

它有兩個是因為前者曾被Netgate霸佔(NetgatepfSense 的版權所有人)

維基抄的簡介:

OPNsense 是由 Deciso 開發的開源、基於 FreeBSD 的防火牆和路由軟件,Deciso 是一家位於荷蘭的公司,為 OPNsense 生產硬件並銷售支援包。它是 pfSense 的一個分支,而 pfSense 又是從構建在 FreeBSD 上的 m0n0wall 衍生出來的。它於 2015 年 1 月推出。當 m0n0wall 在 2015 年 2 月關閉時,它的建立者 Manuel Kaspar 將其開發者社區推薦給 OPNsense。

主要功能:(只列出我有用到的XD)

  • 防火牆
    尤其是較複雜的規則

  • Geoblocking(地理封鎖)
    根據來源IP地址及自動更新的IP地理位置資料庫來封鎖特定地區連線

  • 內建DNS伺服器及設定介面
    可用來擋某些TLD
    DD-WRT也有但是設定介面很爛

  • 插件 - Dynamic DNS client
    更新與自訂域名對應的IP地址

  • 插件 - WireGuard VPN service
    建立VPN


個人新路由器的各種設定

安裝方法:先安裝Proxmox再在新虛擬機上安裝OPNSense
這是因為這比較方便使用Proxmox的快照功能(Live Snapshots)進行快速備份/還原(詳細可看看這篇中文介紹 - https://blog.jason.tools/2019/02/pve-snapshot-lost.html,中文文章不好找…)
進行風險較高的變更前(例如升級、更改設定及安裝新插件等)進行快照,有問題發生難以修正時直接還原(上星期才還原了一次,嘗談新插件時有問題…)
不過缺點可以是效能可能較低(看怎麼設定網絡卡),不過我家用需求不大應該不用管

虛擬機設定:

  • CPU 4核(沒必要限制)

  • RAM 8GB(實際上用不到這麼多)

  • 硬碟 30GB(試過被紀錄檔塞滿,原來防火牆預設所有規則紀錄檔全開,關掉就沒事)

  • 防火牆:關
    路由器不能開Proxmox的防火牆,那是裡面OPNSense的工作

OPNSense設定:

  • Primary ConsoleVGA Console轉為Serial Console
    Secondary Console由無轉為VGA Console
    這是為了透過Proxmox虛擬機存取控制台時能複制貼上文字(虛擬機上要加個Serial Port

  • Preserve logs (Days):7
    Log Firewall Default Blocks:全關
    以免硬碟爆滿

  • IPv6:關(反正ISP不支援)
    不關掉還會連不到線

  • 內建DNS:封掉.zip.mov
    上面提到容易被用作釣魚用的TLD

  • Dynamic DNS client:設定自動更新指向本機的個人用域名
    我個人瀏覽器書籤同步使用NextCloudfloccus

  • WireGuard VPN service:設定工作用的手提電腦在外也能使用家中內聯網某些服務
    例如擋廣告、防追蹤的DNS伺服器Pi-holePi-hole這部分之後再另外寫文解釋)

舊路由器設定:(參考https://wiki.dd-wrt.com/wiki/index.php/Wireless_access_point

  • 關掉DHCP服務(派IP地址用,兩個路由器一起開DHCP會出事)

  • WAN端口指派為交換器的其中一個端口

  • 更改運作模式為Router(之前是Gateway Router


變更後家居網絡構架

  • 網絡供應商那邊沒變

  • RJ45的那一邊用一條很長的網絡線連到新路由器

  • 新路由器用另一條網絡線連到舊路由器WAN端口

  • 舊路由器其他有線端口不變


自建路由器相關影片

對自建路由器有興趣(不一定要用,純為學習/研究也可以)的可以看看這些影片

此影片也解釋了平常家用路由器構造
這是用舊電腦來建,不過較吃能源和位置

路由器處理大量網絡封包示意圖


CC BY-NC-ND 4.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!