PVE 安装飞牛 fnOS 虚拟机

飞牛 fnOS 目前还处于公测阶段,推荐尝试,但稳定性不足。

  • 目前 N100 小主机通过 PVE 安装 fnOS 虚拟机可能需要多次尝试,安装好后倒是没有掉线问题。

  • 尝试用 N5105 小主机通过 PVE 安装 fnOS 虚拟机则会报错“打开fstab失败”等,导致无法安装。

  • 尝试用 i3 8100 主机通过 UNRAID 安装 fnOS 虚拟机则会报错“grub-install安装失败”等,导致无法安装。

一、PVE 安装 fnOS

下载:飞牛 fnOS 下载

1. PVE 更新 qemu-guest-agent 守护进程

sudo apt update
sudo apt install qemu-guest-agent -y

2. 上传 ISO 文件

上传 ISO 文件到 PVE 管理页面: 数据中心 -> pve -> local(pve) -> ISO 镜像

3. 创建虚拟机

  • 常规。

    备注
    节点 pve 默认
    VM ID 101 默认
    名称 fnOS
  • 操作系统。

    小项 备注
    使用 CD/DVD 光盘镜像文件(ISO) 存储 local
    ISO 镜像 fnos-0.9.12-965.iso
    客户机操作系统 类别 Linux
    版本 6.x - 2.6 Kernel
  • 系统。

    备注
    显卡 默认
    SCSI 控制器 VirtIO SCSI single
    机型 q35
    Qemu 代理 不勾选
    BIOS 默认 (SeaBIOS)
    添加 TPM 不勾选
  • 磁盘。

    备注
    总线/设备 SCSI 0
    缓存 默认无缓存
    SCSI 控制器 VirtIO SCSI single
    丢弃 不勾选
    存储 local-lvm
    IO thread 勾选
    磁盘大小(GiB) 64
    格式 原始磁盘映像 灰色,无法选择。

    磁盘大小(GiB) 建议大点,在后续安装 fnOS 时,会单独选择系统占用磁盘大小,剩下的空间用于安装完成后进入系统配置阶段的存储空间创建。

    磁盘大小(GiB) = Sys_GiB + Mnt_GiB

  • CPU 。

    备注
    插槽 1
    类别 host
    核心 4 N100有4核心
  • 内存。

    备注
    内存(MiB) 4096

    建议内存大点,根据论坛讨论情况,可能会发生内存空间被完全占用后,出现死机或关机的情况。

    我设置的内存较大,还没遇到过。

  • 网络。

    备注
    无网络设备 不勾选
    桥接 vmbr0
    模型 VirtIO(半虚拟化)
    VLAN 标签 无 VLAN
    MAC 地址 auto
    防火墙 勾选

完成创建。

4. 启动安装

  • 在 fnOS 虚拟机控制台,启动。

  • 选择 *Graphical Install 开始安装。

  • fnOS Install -> 选择安装位置 ,只有一个选项 [sda] QEMU HARDDISK | HDD | 64.00 GB | 64.00 GB ,选中,下一步。

  • fnOS Install -> 自定义设置

    备注
    系统分区大小 24 GB
    Swap大小 4 GB

    剩余存储空间用于后续应用、Docker等存储。大小为 40 GB (64-24)。

  • 弹出格式化提示弹窗“全部数据将被抹除”,同意后,即开始执行安装,安装完成后提示“系统安装完成”。

    安装可能报错,N100 机型尝试几次即可。

  • fnOS Install -> 网络设置 ,可以保持 DHCP 服务,后续在系统中进行更改;也可以即可设置。保存即可,系统重启。

  • 重启之后,显示:

    FNOS
    OS version:               fnOS v0.9.12
    Hostname:               fnos
    IPv4 for ensp6s18:  192.168.1.x
    fnOS Web UI can be directly accessed at: http://192.168.1.x:5666
    
  • 可选:删除安装驱动。

    在 PVE fnOS 虚拟机控制界面,选中 硬件 -> CD/DVD 驱动器(ide2) | local:iso/fnos-0.9.12.iso.media=cdrom,size=2144208K ,将 使用 CD/DVD 光盘镜像文件(ISO) 改为 不适用任何介质

二、配置 iKuai 路由器(可选)

在 iKuai 路由器 DNS 设置中关闭 DNS 加速服务并重启路由器后,再进行更新。

根据 关于常见更新失败的问题处理合集 - BUG反馈论坛 的表述,针对“检查 Trim更新失败:失败出错 /更新脚本失败/下载错误等问题”:

近两个版本收到部分牛友反馈没有办法正常更新,表现为可以正常ping通外部网络,却无法ping通飞牛更新服务器的情况,我们联系了部分牛友进行排查,发现均是使用爱快路由并开启了DNS加速功能导致。

遇到该问题可以牛友可以先在爱快DNS设置中关闭DNS加速服务再进行更新。

三、配置 fnOS

在内网环境下访问 http://192.168.1.x:5666

1. 超级管理员设置

初次登陆需进行超级管理员设置。

备注
设备名称 fnOS
超级管理员账号 root
密码 123456
确认密码 123456

注意:填写完后并同意《隐私协议》等后,点击 进入 fnOS 时,如果上方弹出“系统参数设置错误”“系统设置超时”等,须重新安装系统。一般为 启动安装 -> fnOS Install -> 自定义设置 中设置系统大小时,以默认数据填写(系统自动默认最大值 64 GB)。

2. 测试网络解析

设置超级管理员后,需立即检查 fnOS 虚拟机网络解析有无异常:应用中心能否加载。

若无法加载,即可判断网络解析异常,可以更换 DNS 重新尝试,但我无法恢复正常,纠结半天不如重装。

建议后续每做一步都检查下网络异常,正常则在 PVE 中进行快照,异常则恢复快照。

3. 创建存储空间

仅剩下 40 GB 可用, 选择硬盘 -> 内置硬盘 选中唯一硬盘,以 Basic 模式创建,后续根据需求填写或者默认设置即可。

4. 网络设置并固定 IPv6 后缀

  • 系统设置 -> SSH ,开启即可。高级设置 中,可关闭 SFTP

  • 系统设置 -> 网络设置 -> 网口1 | enp6s18 -> ···(设置) -> 编辑

    • IPv4 -> 手动设置

      备注
      IPv4 192.168.1.x
      子网掩码 255.255.255.0
      网关地址 192.167.1.1
      DNS 233.5.5.5
      设为默认网关 不勾选
      手动设置MTU值 不勾选
    • IPv6 -> 自动

      建议自定义 IPv6 后缀,由路由器下发 IPv6 前缀。

  • 设置 IPv6 地址为 EUI64 模式。

    通过 SSH 访问,并 sudo su 进入超级管理员模式。

    root@fnOS:~$ cd /etc/NetworkManager/system-connections/
    root@fnOS:/etc/NetworkManager/system-connections$ ls
    'Wired connection 1.nmconnection'
    root@fnOS:/etc/NetworkManager/system-connections# cat Wired\ connection\ 1.nmconnection
    [connection]
    id=Wired connection 1
    uuid=xxxxxxxxxxxxxxxxxxxxxxxxxx
    type=ethernet
    autoconnect-priority=-999
    interface-name=enp6s18
    timestamp=1751513105
    
    [ethernet]
    
    [ipv4]
    address1=192.168.1.x/24,192.168.1.1
    dns=223.5.5.5;
    method=manual
    route-metric=100
    
    [ipv6]
    addr-gen-mode=default
    method=auto
    route-metric=100
    
    [proxy]
    

    可以看到 IPv6 模式为 addr-gen-mode=default ,此情况下,fnOS 的公网完整 IPv6 地址会随机改变,不方便路由器作防火墙配置。

    通过命令设置 IPv6 地址为 EUI64 模式:

    nmcli con modify "Wired connection 1" ipv6.addr-gen-mode eui64
    

    "Wired connection 1" 为获取的 id

    对于 fnOS v0.9.13 及之后的版本,在更改 IPv6 模式后,通过 fnOS 网页端关闭虚拟机,再在 PVE 中启动检查网络情况即可。

    对于 fnOS v0.9.12 及之前的版本,执行网络管理器重启:

    systemctl restart NetworkManager
    

    再次查看 'Wired connection 1.nmconnection'

    root@fnOS:/etc/NetworkManager/system-connections# cat Wired\ connection\ 1.nmconnection
    [connection]
    id=Wired connection 1
    uuid=xxxxxxxxxxxxxxxxxxxxxxxxxx
    type=ethernet
    autoconnect-priority=-999
    interface-name=enp6s18
    timestamp=1751513105
    
    [ethernet]
    
    [ipv4]
    address1=192.168.1.x/24,192.168.1.1
    dns=223.5.5.5;
    method=manual
    route-metric=100
    
    [ipv6]
    addr-gen-mode=eui64
    method=auto
    route-metric=100
    
    [proxy]
    
  • 路由器分配前缀,参考:Debian12 (雷池WAF SafeLine)通过 EUI64 固定 IPv6 地址后缀、获取无状态 SLAAC - Yogile - 博客园

  • 查看 fnOS Web UI, 系统设置 -> 网络设置 -> 网口1 | enp6s18

    IPv6地址
    240e:123:88dd:1a2b:aaaa:bbbb:cccc:dddd
    fe80::aaaa:bbbb:cccc:dddd
    

    即固定后缀地址。

5. 设置安全性

  • 系统设置 -> 防火墙 启用防火墙,并可以编辑入站规则。

  • 系统设置 -> 证书 -> 新增证书中间证书 可忽略。

    系统设置 -> 证书 -> 服务配置 中,至少对 远程访问备用 选为阿里云数字证书等第三方授权的正规证书,以便后续其他代理服务。

6. 远程访问

  • 系统设置 -> 远程访问 -> FN Connect 中,启用服务并设置 FN ID ,即可通过 <fn id>.5ddd.com 或者 5ddd.com/<fn id> 远程访问 fnOS 。
  • 系统设置 -> 远程访问 -> DDNS 中,即可设置 IPv4 和 IPv6 的 DDNS ,配合固定 IPv6 后缀 + CDN 即可通过 IPv4 和 IPv6 公网访问。

四、疑难杂症

很多问题可以去官网论坛查询或提请审核询问,论坛已经总结了部分常见问题:新手必看 - 攻略分享 飞牛私有云论坛 fnOS

五、参考

posted @ 2025-07-03 13:29  Yogile  阅读(2570)  评论(0)    收藏  举报