当前位置: 首页 > 分享发现 > 在PVE 6.x中设置USB网口直通

在PVE 6.x中设置USB网口直通

发布于:2023-8-21 分享发现 0条评论 2,443 views
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

最近我安装了移动企业专线,并计划使用软路由进行部署。目前我只有一个天宝mini主机,但它只有一个千兆网口,不太适合用作软路由。因此,我购买了一个“USB转RJ45适配器”来增加网口解决这个问题。

挑选USB转RJ45适配器

在挑选USB网口的时候必须满足以下要求:

  • 支持千兆网络或以上
  • 支持Linux(免驱的最好)

看中了2个USB网口,分别是:

绿联那个很早以前用过,爱快软路由是可以正常识别使用。这次我打算换TP-LINK的来进行尝试,到手价79元,比绿联那个稍稍贵了一点。

硬件 & 软件情况

  • 硬件:天宝mini主机 * 1
  • 硬件:TP-LINK USB转RJ45 * 1
  • 硬件:8口的千兆交换机 * 1
  • 软件:mini主机已经安装了PVE 6,并且存在运行的服务
  • 软件:打算在PVE 6使用虚拟机方式安装iKuai软路由系统

PVE 6安装iKuai软路由系统

在"PVE后台 - 数据中心 - PVE - local",然后上传刚刚下载的ISO镜像。

49735874ba07d436.png

创建虚拟机并无特别的地方,注意CPU优先级给高一点,然后64位的iKuai系统要求4GB内存以上,硬盘我只给了15GB。

PVE 6.x中设置USB网口直通

先将购买的USB网口插入到3.0的USB接口中,然后再开启PVE硬件直通,Intel和AMD的方法不一样,方法如下:

  1. 检查系统是否支持 IOMMU

    首先,你需要确保你的 CPU 和主板都支持 IOMMU 技术(例如,Intel VT-d 或 AMD-Vi)。

    执行以下命令查看是否启用了 IOMMU:

    dmesg | grep -E "DMAR|IOMMU"

    如果看到与 IOMMU 或 DMAR 相关的输出,那么你的系统支持它。

  2. 启用 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
  3. 查找要直通的设备的 PCI ID

    使用以下命令列出所有 PCI 设备:

    lspci -nn

    找到你要直通的网卡,并记下其 PCI ID(例如 02:00.0)。

  4. 为 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。

  5. 启动虚拟机

    现在,当你启动虚拟机时,网卡应该会被直通给它,并且应该可以在虚拟机的操作系统中看到这个设备。

请注意,直通硬件到虚拟机可能会导致某些稳定性和安全性问题,所以在生产环境中使用之前,请确保进行了充分的测试。

上述方法是ChatGPT为我提供的,亲测可用。但是第3/4步中,由于USB网口不属于PCI设备,所以在添加硬件的时候应该选择USB,而不是PCI,我是通过PVE WEB界面操作的,方法如下。

『选择您的虚拟机 - 硬件 - 添加 - USB设备』

06a6b81b506632d8.png

找到刚刚插入的USB网口进行添加。

3c42988620cf9ebf.png

重启iKuai虚拟机,然后就能正常识别网口了。

其他说明

整个过程我没有额外安装网卡驱动,如果您和xiaoz一样,需要使用mini主机安装软路由,但mini主机只有一个网口的情况,可以尝试使用『USB转RJ45网口』来实现。


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注