最近我安装了移动企业专线,并计划使用软路由进行部署。目前我只有一个天宝mini主机,但它只有一个千兆网口,不太适合用作软路由。因此,我购买了一个“USB转RJ45适配器”来增加网口解决这个问题。
挑选USB转RJ45适配器
在挑选USB网口的时候必须满足以下要求:
- 支持千兆网络或以上
- 支持Linux(免驱的最好)
看中了2个USB网口,分别是:
- 绿联 USB3.0千兆有线网卡转RJ45网线接口转换器:https://u.jd.com/n81tsS9
- TP-LINK USB转RJ45网线接口 USB3.0千兆有线网卡转换器:https://u.jd.com/niamuha
绿联那个很早以前用过,爱快软路由是可以正常识别使用。这次我打算换TP-LINK的来进行尝试,到手价79元,比绿联那个稍稍贵了一点。
硬件 & 软件情况
- 硬件:天宝mini主机 * 1
- 硬件:TP-LINK USB转RJ45 * 1
- 硬件:8口的千兆交换机 * 1
- 软件:mini主机已经安装了PVE 6,并且存在运行的服务
- 软件:打算在PVE 6使用虚拟机方式安装iKuai软路由系统
PVE 6安装iKuai软路由系统
- 固件下载:https://www.ikuai8.com/component/download 我选择的ISO 64位
在"PVE后台 - 数据中心 - PVE - local",然后上传刚刚下载的ISO镜像。
创建虚拟机并无特别的地方,注意CPU优先级给高一点,然后64位的iKuai系统要求4GB内存以上,硬盘我只给了15GB。
PVE 6.x中设置USB网口直通
先将购买的USB网口插入到3.0的USB接口中,然后再开启PVE硬件直通,Intel和AMD的方法不一样,方法如下:
检查系统是否支持 IOMMU
首先,你需要确保你的 CPU 和主板都支持 IOMMU 技术(例如,Intel VT-d 或 AMD-Vi)。
执行以下命令查看是否启用了 IOMMU:
dmesg | grep -E "DMAR|IOMMU"
如果看到与 IOMMU 或 DMAR 相关的输出,那么你的系统支持它。
启用 IOMMU
如果尚未启用 IOMMU,你需要进入 BIOS/UEFI 设置,然后启用 Intel VT-d(对于 Intel 平台)或 AMD IOMMU(对于 AMD 平台)。
同时,你需要在 Proxmox 的 GRUB 配置中启用 IOMMU。对于大多数系统,编辑
/etc/default/grub
文件,然后添加相关的 IOMMU 选项:- 对于 Intel:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
- 对于 AMD:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
更新 GRUB 并重启机器:
update-grub reboot
- 对于 Intel:
查找要直通的设备的 PCI ID
使用以下命令列出所有 PCI 设备:
lspci -nn
找到你要直通的网卡,并记下其 PCI ID(例如
02:00.0
)。为 Proxmox 添加设备直通
在
/etc/pve/nodes/YOUR-NODE-NAME/qemu-server/YOUR-VM-ID.conf
(其中YOUR-NODE-NAME
是你的 Proxmox 节点名称,YOUR-VM-ID
是虚拟机的 ID),添加以下行:hostpci0: 02:00.0
注意:上述 PCI ID
02:00.0
是一个示例,你应该使用步骤 3 中找到的实际 ID。启动虚拟机
现在,当你启动虚拟机时,网卡应该会被直通给它,并且应该可以在虚拟机的操作系统中看到这个设备。
请注意,直通硬件到虚拟机可能会导致某些稳定性和安全性问题,所以在生产环境中使用之前,请确保进行了充分的测试。
上述方法是ChatGPT为我提供的,亲测可用。但是第3/4步中,由于USB网口不属于PCI设备,所以在添加硬件的时候应该选择USB,而不是PCI,我是通过PVE WEB界面操作的,方法如下。
『选择您的虚拟机 - 硬件 - 添加 - USB设备』
找到刚刚插入的USB网口进行添加。
重启iKuai虚拟机,然后就能正常识别网口了。
其他说明
整个过程我没有额外安装网卡驱动,如果您和xiaoz一样,需要使用mini主机安装软路由,但mini主机只有一个网口的情况,可以尝试使用『USB转RJ45网口』来实现。