最近買了一台空氣清淨機,附有 Wifi 功能,可以隨時透過 App 偵測室內空氣品質。我覺得這點做得滿棒的,但因為數據是直接傳到廠商的伺服器,想把對外的 IP 隱藏起來,興起了想透過路由器設定 VPN 的念頭。
原本相中 PCWRT 家的路由器,但正逢缺貨,作為替代找了一款便宜的迷你型路由器 GL.iNet GL-MT300N,用的是聯發科晶片,可以安裝 OpenWrt 系統。
以下簡要敘述安裝的過程。
- 到 OpenWrt 官網 下載預先編譯好的韌體。
- 將路由器接上電源、連上 Wifi 後,進入
http://192.168.8.1
,上傳並安裝 OpenWrt 韌體檔。 - 安裝後,透過 LAN 連線,確定連線並取得 DHCP IP,進入
http://192.168.1.1
,預設帳號及密碼皆為 root。 - 到 System ➔ Software,點擊
Update lists...
按鈕,等待系統更新 package 列表。Filter 搜尋wireguard
,找到luci-app-wireguard
並安裝。安裝完到 System ➔ Reboot 重啟系統。 - 到 Network ➔ Interfaces 新增 WireGuard 介面,名稱隨意訂,Protocol 選
WireGuard VPN
,點建立。 - 編輯 WireGuard 介面,透過最下方的 Import configuration 匯入 從 ProtonVPN 網站生成的 WireGuard config 檔。
- 編輯 WAN 介面,切換到 Advanced Settings 分頁,取消勾選 Use DNS servers advertised by peer,然後在 Use custom DNS servers 填入 ProtonVPN config 檔所提供的 DNS server 位址。
- 到 Network ➔ Firewall 新增 Zone,名稱隨意取,Input 選
rejected
、Output 選accepted
、Forward 選rejected
,Masquerading 和 MSS clamping 都勾選;Covered networks 選剛剛建立的 WireGuard 介面;Allow forward from source zones 選 lan 介面。 - 如果想要在 VPN 連不上的時候斷開網路,不要改連 WAN,就要設定 Kill Switch。編輯 lan zone,從 Allow forward to destination zones 移除 WAN 介面,只留下 WireGuard 介面。
- 至此就設定完成了。可以在連線 LAN 後檢查 WireGuard 介面的 RX 跟 TX 有沒有收到封包,若有代表有成功透過 WireGuard 介面傳輸。
Comments