三、安装与部署:虚拟化平台、物理机与云环境

VyOS 作为一款基于 Debian 的 Linux 网络操作系统,其安装部署方式高度灵活,既可以在企业现有的虚拟化集群中作为虚拟路由器运行,也可以直接安装在 x86_64 架构的物理服务器上充当硬件网关,甚至能够无缝适配主流公有云的 BYOL(Bring Your Own License)模式。本章将围绕版本选择策略、虚拟化平台部署、物理机安装以及云环境适配四个维度展开,帮助读者建立一套从评估到落地的完整方法论。需要特别强调的是,VyOS 的安装并非简单的“下一步”向导,其核心在于对引导介质、磁盘分区、启动项以及云平台初始化机制的深入理解,任何环节的疏漏都可能导致系统无法正常启动或网卡无法识别。

VyOS 安装部署决策与路径总览 1. 版本选择 LTS vs 滚动版 2. 介质准备 ISO / 云镜像 / PXE 3. 部署路径 虚拟化/物理/云 4. 验证 启动/网卡/配置 VMware / Proxmox / KVM • 虚拟磁盘格式:vmdk/qcow2/raw • 网卡模型:e1000/virtio/vmxnet3 • 串口控制台用于排障 • 嵌套虚拟化需关闭 物理机安装 • UEFI + 引导 • Intel I350/X710 网卡兼容性佳 • 安装到 SATA SSD / NVMe • 独立管理网口规划 云环境部署 • AWS/Azure/GCP 市场镜像 • 阿里云/腾讯云 BYOL • cloud-init 初始化 • 元数据服务获取 IP 关键决策点 版本:1.4-LTS 适合生产,1.5 滚动版适合测试 磁盘:最小 2GB,建议 10GB 以上用于日志与升级 网卡:虚拟化优先 virtio,物理机优先 Intel 芯片组 云环境:必须使用官方云镜像,不可直接转换 ISO

3.1 版本选择策略:LTS 与滚动发行版的权衡

VyOS 的版本命名遵循 主版本.次版本-发行类型 的规则,例如 1.4-rolling 表示 1.4 系列的滚动构建版,而 1.4.0 则是经过完整测试的正式版。对于生产环境,务必选择 LTS(长期支持) 版本,目前 1.3.x 系列是广泛验证的 LTS 版本,而 1.4 系列正处于从滚动版向 LTS 过渡的阶段。LTS 版本每 6-12 个月发布一次维护更新,主要修复安全漏洞和关键缺陷,不会引入破坏性功能变更。相比之下,滚动版每天或每周自动构建,包含最新功能但稳定性无法保证,适合实验室验证新特性。

判断版本适用性的核心依据是 功能需求与生命周期 的匹配度。如果企业需要 WireGuard、VTI 隧道、BGP FlowSpec 等较新功能,且网络变更窗口灵活,可以选择 1.4 滚动版;如果追求极致稳定,且现有配置基于 1.2/1.3 语法,则坚守 LTS 版本。此外,还需关注 硬件驱动支持:新版本通常包含更新的内核(如 5.10 或 6.1),对 10G/25G 网卡、NVMe 磁盘的兼容性更好,但可能放弃对老旧硬件的支持。

经验提醒: 在部署前,务必查阅 vyos.dev 的版本发布公告,确认所选版本的 EOL(End of Life) 日期。例如 1.2.x 系列已于 2023 年停止维护,继续使用将面临安全风险。建议生产环境至少保留一个可回退的旧版本镜像。

3.2 虚拟化平台部署:VMware、Proxmox 与 KVM 实战

虚拟化部署是 VyOS 最常见的落地方式,其核心优势在于资源弹性、快照回滚和硬件无关性。无论使用哪种虚拟化平台,安装流程均可归纳为四个阶段:镜像准备 → 虚拟机创建 → 引导安装 → 网络配置。以下分别针对三大平台给出关键参数建议。

3.2.1 VMware vSphere / ESXi

在 vSphere Client 中创建虚拟机时,选择 Linux 客户机操作系统系列,版本选择 Debian 10 或更高版本(VyOS 基于 Debian)。虚拟机硬件版本建议使用 15 或更高,以支持 virtio 网卡。关键配置项如下:

  • CPU: 至少 1 核,生产环境建议 2 核,用于处理中断和加密隧道。
  • 内存: 最低 512MB,建议 2GB 以上,特别是启用 BGP 全表或 IPSec 时。
  • 磁盘: 精简置备 10GB,厚置备延迟零(Eager Zeroed Thick)性能更佳。
  • 网卡: 选择 VMXNET3 类型,性能远优于 e1000。至少配置两张网卡:一张作为管理接口(WAN),一张作为内部交换接口(LAN)。

安装时挂载 ISO 镜像,启动后进入 VyOS 安装程序。使用 install image 命令开始安装,选择目标磁盘(通常为 /dev/sda),并设置登录凭据。安装完成后,系统会自动配置 eth0 为 DHCP 获取地址,方便通过 SSH 连接。

vyos@vyos:~$ install image
Welcome to the VyOS install program.
Would you like to continue? [y/N] y
Partition (Auto/Parted/Skip) [Auto] Auto
Install the image on? [/dev/sda] /dev/sda
...
Default user for the image? [vyos] vyos
Password for vyos: 
Full name for the user? [VyOS User] 
Default group for the user? [vyos] 
Do you want to install VyOS to /dev/sda? [y/N] y

3.2.2 Proxmox VE (KVM)

Proxmox 基于 KVM 虚拟化,对 VyOS 的支持非常友好。创建虚拟机时,操作系统类型 选择 Linux,版本选择 5.x - 2.6 Kernel 或直接使用默认值。磁盘总线建议选择 VirtIO Block,网卡模型选择 VirtIO (paravirtualized)。Proxmox 的独特优势在于可以方便地使用 Cloud-Init 进行网络初始化,但 VyOS 官方镜像并不直接支持 cloud-init,因此仍需通过 ISO 安装。

在 Proxmox 中,建议将 VyOS 虚拟机设置为 开机自启动,并配置 备份任务。由于 VyOS 配置存储在 /config 分区,备份虚拟机磁盘即可完整保留配置。此外,Proxmox 的 快照功能 可以在升级前创建还原点,极大降低操作风险。

3.2.3 纯 KVM (libvirt)

对于不使用完整虚拟化平台的环境,可以直接使用 virt-install 命令创建 VyOS 虚拟机。以下是一个典型的命令行示例:

virt-install \
  --name vyos-router \
  --ram 2048 \
  --vcpus 2 \
  --disk path=/var/lib/libvirt/images/vyos.qcow2,size=10,format=qcow2 \
  --network network=wan,model=virtio \
  --network network=lan,model=virtio \
  --cdrom /opt/iso/vyos-1.4-rolling.iso \
  --os-variant debian10 \
  --graphics none \
  --console pty,target_type=serial

使用 --graphics none 配合串口控制台,可以在无图形界面的服务器上完成安装。安装完成后,通过 virsh console vyos-router 进入系统。

风险提示: 在虚拟化平台中,务必关闭 MAC 地址随机化 功能。某些平台(如 Proxmox)默认会为虚拟网卡分配随机 MAC,导致 VyOS 的 DHCP 租约频繁变化,且基于 MAC 的防火墙规则失效。应在虚拟机配置中固定 MAC 地址。

3.3 物理机安装:从 U 盘到 SSD 的完整流程

物理机安装适用于需要高吞吐量、低延迟或专用硬件(如 Intel Xeon D 系列)的场景。VyOS 对硬件要求不高,但网卡芯片组的选择至关重要。推荐使用 Intel I350、X710、82599ES 等服务器级网卡,避免使用 Realtek 消费级网卡,因为其驱动稳定性较差。

物理机安装步骤如下:

  1. 制作启动介质: 使用 dd 命令将 ISO 写入 U 盘:dd if=vyos.iso of=/dev/sdX bs=4M status=progress。注意 U 盘设备名需谨慎确认,避免覆盖系统盘。
  2. BIOS/UEFI 设置: 进入 BIOS 开启 UEFI 引导模式,关闭 Secure Boot(VyOS 暂不支持)。设置启动顺序为 U 盘优先。
  3. 安装过程: 启动后选择 Install VyOS to disk,安装程序会引导选择目标磁盘。对于 NVMe 磁盘,设备名通常为 /dev/nvme0n1。
  4. 分区方案: 建议使用自动分区(Auto),系统会自动创建 /boot、/ 和 /config 分区。/config 分区独立存储配置,便于系统升级时保留配置。
  5. 管理网口规划: 物理机通常有多个网口,安装完成后需通过 show interfaces 确认网口名称(如 eth0、eth1)。建议将第一个网口(eth0)作为管理接口,并配置静态 IP 或 DHCP。
实战场景: 某企业使用一台 Dell R340 服务器部署 VyOS 作为核心出口路由器,配置为 4 个千兆电口 + 2 个万兆光口。安装时选择 1.3-LTS 版本,磁盘使用两块 480GB SSD 做 RAID1。安装完成后,将 eth0 配置为 WAN 口(连接运营商光猫),eth1 配置为 LAN 口(连接核心交换机),eth2/eth3 作为备用。通过 set interfaces ethernet eth0 address dhcp 获取公网 IP,set interfaces ethernet eth1 address 192.168.1.1/24 配置内网网关。整个部署耗时约 30 分钟,期间未出现硬件兼容性问题。

3.4 云环境部署:AWS、阿里云与 BYOL 模式

公有云环境与本地虚拟化有本质区别:云平台通常不提供 ISO 直接安装,而是要求使用 预构建镜像。VyOS 官方为 AWS、Azure、GCP、阿里云等主流平台提供了优化镜像,这些镜像已预装 cloud-init 和 hypervisor 驱动(如 AWS 的 ena、阿里云的 virtio)。

以 AWS 为例,部署流程如下:

  1. 在 AWS Marketplace 中搜索 VyOS,选择对应版本(如 1.3-LTS)。
  2. 点击 Continue to Subscribe,接受条款后点击 Continue to Configuration。
  3. 选择区域和实例类型(建议 t3.small 或更高),点击 Launch。
  4. 在实例创建向导中,配置安全组(开放 SSH 端口 22 和所需服务端口),选择密钥对。
  5. 启动实例后,通过 SSH 连接,默认用户名为 vyos,使用密钥认证。

云环境中的网络配置与本地不同:AWS 使用 DHCP 自动分配私有 IP,VyOS 启动后会自动获取地址。公网 IP 通过 AWS 的 NAT 或 EIP 映射,VyOS 无需配置 WAN 口公网地址。此外,云平台的安全组相当于外置防火墙,VyOS 的防火墙规则仅作用于实例内部。

关键注意: 切勿将本地 ISO 直接上传到云平台并尝试启动。云平台镜像需要包含特定的 Xen/KVM 半虚拟化驱动 和 串口控制台支持,官方云镜像已做优化。自行转换镜像可能导致启动失败或网络不可用。

对于阿里云,VyOS 提供 BYOL(Bring Your Own License)模式,用户需自行购买订阅。在阿里云 ECS 控制台选择 导入镜像,上传从 VyOS 官网下载的 .qcow2 云镜像,然后创建实例。需要注意的是,阿里云要求镜像格式为 RAW 或 QCOW2,且系统盘大小至少 20GB。

3.5 部署后的基础验证与常见误区

无论采用何种部署方式,安装完成后都应执行一套标准验证流程,确保系统运行正常:

验证项 命令/方法 预期结果
系统版本 show version 显示 VyOS 版本号、内核版本、硬件平台
网卡识别 show interfaces 列出所有网卡名称、MAC、链路状态
配置持久化 commit 后 save 配置保存到 /config/config.boot
磁盘空间 df -h /config 分区有足够剩余空间
DNS 解析 ping vyos.net 能解析并收到响应

常见的部署误区包括:

  • 误区一: 认为 VyOS 必须安装在独立分区。实际上,它支持在虚拟机中与其它系统共存,但强烈不建议,因为 VyOS 会格式化整个磁盘。
  • 误区二: 忽略 /config 分区的备份。该分区存储所有配置,一旦损坏,系统会恢复出厂设置。建议定期备份 /config 目录。
  • 误区三: 在云环境中直接修改网卡 MAC 地址。云平台禁止修改 MAC,否则网络会中断。
  • 误区四: 使用 32 位系统镜像。VyOS 仅支持 x86_64 架构,ARM 版本目前仅限特定硬件。
总结复盘: 部署 VyOS 的核心在于“版本匹配 + 介质正确 + 网络规划”。虚拟化环境优先使用 virtio 驱动,物理机优先 Intel 网卡,云环境必须使用官方云镜像。安装完成后,务必执行 save 命令持久化配置,并创建系统快照或备份,以便快速回滚。