在PVE 6.x中設(shè)置USB網(wǎng)口直通
最近我安裝了移動(dòng)企業(yè)專線,并計(jì)劃使用軟路由進(jìn)行部署。目前我只有一個(gè)天寶mini主機(jī),但它只有一個(gè)千兆網(wǎng)口,不太適合用作軟路由。因此,我購買了一個(gè)“USB轉(zhuǎn)RJ45適配器”來增加網(wǎng)口解決這個(gè)問題。

挑選USB轉(zhuǎn)RJ45適配器
在挑選USB網(wǎng)口的時(shí)候必須滿足以下要求:
支持千兆網(wǎng)絡(luò)或以上
支持Linux(免驅(qū)的最好)
看中了2個(gè)USB網(wǎng)口,分別是:
綠聯(lián) USB3.0千兆有線網(wǎng)卡轉(zhuǎn)RJ45網(wǎng)線接口轉(zhuǎn)換器:https://u.jd.com/n81tsS9
TP-LINK USB轉(zhuǎn)RJ45網(wǎng)線接口 USB3.0千兆有線網(wǎng)卡轉(zhuǎn)換器:https://u.jd.com/niamuha
綠聯(lián)那個(gè)很早以前用過,愛快軟路由是可以正常識(shí)別使用。這次我打算換TP-LINK的來進(jìn)行嘗試,到手價(jià)79元,比綠聯(lián)那個(gè)稍稍貴了一點(diǎn)。

硬件 & 軟件情況
硬件:天寶mini主機(jī)?* 1
硬件:TP-LINK USB轉(zhuǎn)RJ45 * 1
硬件:8口的千兆交換機(jī) * 1
軟件:mini主機(jī)已經(jīng)安裝了PVE 6,并且存在運(yùn)行的服務(wù)
軟件:打算在PVE 6使用虛擬機(jī)方式安裝iKuai軟路由系統(tǒng)
PVE 6安裝iKuai軟路由系統(tǒng)
固件下載:https://www.ikuai8.com/component/download?我選擇的ISO 64位
在"PVE后臺(tái) - 數(shù)據(jù)中心 - PVE - local",然后上傳剛剛下載的ISO鏡像。

創(chuàng)建虛擬機(jī)并無特別的地方,注意CPU優(yōu)先級(jí)給高一點(diǎn),然后64位的iKuai系統(tǒng)要求4GB內(nèi)存以上,硬盤我只給了15GB。
PVE 6.x中設(shè)置USB網(wǎng)口直通
先將購買的USB網(wǎng)口插入到3.0的USB接口中,然后再開啟PVE硬件直通,Intel和AMD的方法不一樣,方法如下:
檢查系統(tǒng)是否支持 IOMMU
首先,你需要確保你的 CPU 和主板都支持 IOMMU 技術(shù)(例如,Intel VT-d 或 AMD-Vi)。
執(zhí)行以下命令查看是否啟用了 IOMMU:
dmesg | grep -E "DMAR|IOMMU"
如果看到與 IOMMU 或 DMAR 相關(guān)的輸出,那么你的系統(tǒng)支持它。
啟用 IOMMU
如果尚未啟用 IOMMU,你需要進(jìn)入 BIOS/UEFI 設(shè)置,然后啟用 Intel VT-d(對(duì)于 Intel 平臺(tái))或 AMD IOMMU(對(duì)于 AMD 平臺(tái))。
同時(shí),你需要在 Proxmox 的 GRUB 配置中啟用 IOMMU。對(duì)于大多數(shù)系統(tǒng),編輯?
/etc/default/grub
?文件,然后添加相關(guān)的 IOMMU 選項(xiàng):更新 GRUB 并重啟機(jī)器:
update-grub reboot
對(duì)于 Intel:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
對(duì)于 AMD:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
查找要直通的設(shè)備的 PCI ID
使用以下命令列出所有 PCI 設(shè)備:
lspci -nn
找到你要直通的網(wǎng)卡,并記下其 PCI ID(例如?
02:00.0
)。為 Proxmox 添加設(shè)備直通
在?
/etc/pve/nodes/YOUR-NODE-NAME/qemu-server/YOUR-VM-ID.conf
?(其中?YOUR-NODE-NAME
?是你的 Proxmox 節(jié)點(diǎn)名稱,YOUR-VM-ID
?是虛擬機(jī)的 ID),添加以下行:hostpci0: 02:00.0
注意:上述 PCI ID?
02:00.0
?是一個(gè)示例,你應(yīng)該使用步驟 3 中找到的實(shí)際 ID。啟動(dòng)虛擬機(jī)
現(xiàn)在,當(dāng)你啟動(dòng)虛擬機(jī)時(shí),網(wǎng)卡應(yīng)該會(huì)被直通給它,并且應(yīng)該可以在虛擬機(jī)的操作系統(tǒng)中看到這個(gè)設(shè)備。
請(qǐng)注意,直通硬件到虛擬機(jī)可能會(huì)導(dǎo)致某些穩(wěn)定性和安全性問題,所以在生產(chǎn)環(huán)境中使用之前,請(qǐng)確保進(jìn)行了充分的測(cè)試。
上述方法是ChatGPT為我提供的,親測(cè)可用。但是第3/4步中,由于USB網(wǎng)口不屬于PCI設(shè)備,所以在添加硬件的時(shí)候應(yīng)該選擇USB,而不是PCI,我是通過PVE WEB界面操作的,方法如下。
『選擇您的虛擬機(jī) - 硬件 - 添加 - USB設(shè)備』

找到剛剛插入的USB網(wǎng)口進(jìn)行添加。

重啟iKuai虛擬機(jī),然后就能正常識(shí)別網(wǎng)口了。
其他說明
整個(gè)過程我沒有額外安裝網(wǎng)卡驅(qū)動(dòng),如果您和xiaoz一樣,需要使用mini主機(jī)安裝軟路由,但mini主機(jī)只有一個(gè)網(wǎng)口的情況,可以嘗試使用『USB轉(zhuǎn)RJ45網(wǎng)口』來實(shí)現(xiàn)。
此文章首發(fā)于我的獨(dú)立博客:https://blog.xiaoz.org/archives/19148