前言
OpenWrt 是一款開源的 Linux 操作系統,專為嵌入式設備設計,如路由器。它提供了一個強大的包管理系統,允許您自定義您的設備,並為您的設備新增新功能。 可以通過安裝 OpenWrt 來獲得一個功能強大的路由器,配合 Proxmox VE 作為虛擬化平台,可以隨時還原到特定時間點的狀態,隨便弄都不怕搞壞了。
以下是手動安裝 OpenWrt 的步驟,如果想要更快速的安裝,可以使用 Helper-Scripts
的方式安裝 OpenWrt。
使用 Helper-Scripts 安裝 OpenWrt
自動安裝 OpenWrt 的腳本,可以在 Proxmox VE 上快速安裝 OpenWrt,只需要執行以下命令:
|
|
以下是手動安裝 OpenWrt 的步驟。
KVM 虛擬機器的限制
留意本文採用了 KVM
技術的虛擬機器,可以最大程度地分開虛擬機器和 Host 系統,可是會導致少許性能上的損失。
由於 KVM
技術的限制,無法直接存取 Host 的硬體,所以無法直接使用 Host 的網卡,需要透過 virtio
網卡模擬,或者直通 Host 的網卡。
也無法使用 lm-sensors
等硬體監控工具。
如果需要這些功能,可以考慮使用 LXC
技術的虛擬機器。 LXC
技術的虛擬機器可以直接存取 Host 的硬體,性能更好,但是安全性較差。
在 Proxmox VE 上安裝 OpenWrt
由於 OpenWRT 提供的映像檔案是為嵌入式設備設計的,都是直接燒錄到設備上後就可以直接使用,沒有一個「安裝」的過程,沒有「下一步」再「下一步」的過程,是即開即用的。
所以需要先將 OpenWRT 映像檔案先上傳到 Proxmox VE 上,然後直接將其作為虛擬機器硬碟使用。
下載 OpenWrt 映像檔案
首先,訪問 OpenWrt 官方網站 下載 OpenWrt 的映像檔案。您可以根據您的需求選擇不同的版本和平台。
要留意 OpenWRT 提供兩種不同的版本,一個是 ext4
格式的,另一個是 squashfs
格式的。
ext4
格式的 rootfs
具有靈活性,能夠按需擴展磁碟空間,這是 squashfs
格式所無法做到的。
squashfs
格式的 rootfs
則可以進行系統重設,恢復出廠設定,這是 ext4
格式所不能提供的。
考慮到這些關鍵因素,我們在這裡選擇了 openwrt-23.05.3-x86-64-generic-ext4-combined.img.gz
。
可以直接在 Proxmox VE 上下載及解壓 OpenWrt 映像檔案:
|
|
也可以在 Web 介面,Datacenter -> 選擇節點 -> 存儲(local
) -> ISO 映像 中上傳 OpenWrt 映像檔案。
創建虛擬機器
登錄 Proxmox VE 的 Web 介面,並創建一個新的虛擬機器。
設定
在右上角先按「Create VM」,然後在對話框下方啟用 Advanced
,並按照以下設定新增虛擬機器:
|
|
建立後在 Hardware
將 Openwrt 的鏡像匯入到虛擬機器中:
在 Web 介面,在左邊選擇節點,選擇 Shell
,然後執行以下命令,當中的 100
是剛才虛擬機器的 ID,local-lvm
是存儲的名稱,可以根據實際情況修改:
|
|
前往虛擬機器的 Hardware
頁面,然後新增剛才掛載的硬碟。
將 OpenWrt 的硬碟掛載到虛擬機器上
在 Web 介面,選擇剛才創建的虛擬機器,然後選擇 Hardware
選擇剛才匯入的 OpenWrt 映像檔案,掛載到虛擬機器上,並啟用 SSD emulation
。
刪除無任何作用的光碟機後,新增網卡,如果是選擇以直通方式連接,就在 Add
-> PCI Device
中選擇 Raw Device
,將需要用到的網卡都加進去。
要留意不要加到用於管理 PVE 的網卡,否則在 VM 開機後,PVE 會立即斷線。
這也是為什麼在新增虛擬機器時暫時不要自動啟動 OpenWRT 的原因。如果設定錯誤,重新開機就可以正常連接到 PVE。
在所有設定完成後,可以在 Options
-> Start at booot
設定開機自動啟動。