欢迎注册论坛,享受更多奶昔会员权益!
您需要 登录 才可以下载或查看,没有账号?注册
×
注:本文首发于我的blog,转载请注明来源(https://blog.ous50.moe/p/在-proxmox-ve-pve-上安装-fnos/)。
最后更新: 2025 年 8 月 3 日
介绍: 本指南详细介绍了如何在 Proxmox VE(在 Debian 12 上测试)上安装 FnOS,并提供了关键的安装后配置,以确保功能和性能。
简介
本文档解决了在 PVE 环境中安装 FnOS 后遇到的常见问题,例如系统被锁定和 PVE Web 控制台无响应。通过遵循这些步骤,您将获得一个完全可访问、安全且优化的 FnOS 虚拟机。
安装准备
FnOS ISO:访问 https://www.fnnas.com 并通过“直接下载”获取。
建议 PVE 至少具有 3GB RAM 和 2 核。
按照官方指南安装系统。
安装后配置
首次启动时,有两个主要问题会阻止访问新的 FnOS 实例:
- 登录禁用:在完成基于 Web 的初始设置之前,系统控制台不接受任何凭据(包括
root)。这对于可能只有 IPv6 访问权限的远程机器来说是个问题。
- PVE 控制台无响应:PVE Web UI 中的
Xterm.js 串行控制台默认情况下无法工作。
以下部分提供了这些问题的解决方案。
1. 获取初始 root 访问权限
首先,我们必须绕过标准启动序列来设置 root 密码。
- 在 PVE 控制台中,重启虚拟机。在 GRUB 启动菜单中,按
e 编辑启动参数。
- 找到以
linux 开头的行。它将类似于以下内容:
linux /boot/vmlinuz-6.12.18-trim root=UUID=... ro quiet
- 在此行末尾添加
single init=/bin/bash。此参数将系统直接引导到 root shell。
- 按
Ctrl+X 或 F10 启动。
- 在 root shell 中,执行
passwd 命令为 root 用户设置新密码。
- 完成后,重启虚拟机。引导参数更改是临时的,不会持久化。
2. 启用永久控制台访问和功能
建立 root 访问权限后,永久修改 GRUB 配置以启用 PVE 串行控制台和其他功能。
-
使用新设置的密码以 root 身份登录。
-
编辑 GRUB 配置文件:nano /etc/default/grub。
-
修改 GRUB_CMDLINE_LINUX_DEFAULT 行,以包含串行控制台和可选的嵌套虚拟化 IOMMU 支持。
对于 Intel CPU:
- GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty0 console=ttyS0,115200 intel_iommu=on iommu=pt"
对于 AMD CPU:
- GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty0 console=ttyS0,115200 amd_iommu=on iommu=pt"
注意: console=ttyS0,115200 是 PVE Xterm.js 功能的关键参数。
-
保存更改并退出编辑器。
-
通过执行以下命令应用新配置:
update-grub
-
重启虚拟机。PVE Web 控制台现在应该完全正常工作。
3. 安装 QEMU 客户机代理
为了更好地与 PVE 集成,例如在虚拟机摘要中显示网络信息,我们需要安装qemu-guest-agent。
apt update && apt -y install qemu-guest-agent
systemctl enable --now qemu-guest-agent
4. 网络优化
以下可选步骤可提高网络吞吐量和隐私。
-
执行此脚本以启用 BBR 拥塞控制算法和现代 IPv6 隐私地址标准(RFC 7217 和 RFC 4941)。
# 确保 BBR 模块在启动时加载
echo "tcp_bbr" > /etc/modules-load.d/modules.conf
# 为自定义网络设置创建新的 sysctl 配置文件
cat > /etc/sysctl.d/99-custom-network.conf <<EOF
fs.fanotify.max_queued_events=65536
fs.inotify.max_user_watches=216508
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
net.ipv6.conf.all.addr_gen_mode=1
net.ipv6.conf.default.addr_gen_mode=1
EOF
-
无需重启即可应用新的内核参数:
sysctl -p /etc/sysctl.d/99-custom-network.conf
🚨 警告:请不要在 FnOS Web 界面中使用“EUI-64”选项。这样做会通过在其 IPv6 地址中暴露设备的 MAC 地址使这些隐私增强功能失效。
-
无需重启即可应用网络更改
要激活新的 IPv6 地址设置,必须重置网络接口。这可以通过 nmcli 完成,而无需完全系统重启。
🚨 重要提示:从 PVE Web 控制台 (Xterm.js) 执行这些命令,因为通过 SSH 运行它们会导致临时断开连接,可能无法恢复。
步骤 1:识别连接名称
列出所有活动连接以找到主接口的名称。
nmcli connection show
输出将列出可用的连接。记下您的以太网连接的名称,通常是 Wired connection 1。
步骤 2:重置连接
使用识别出的名称重新启动网络接口:
nmcli connection down "Wired connection 1" && nmcli connection up "Wired connection 1"
网络接口将重新启动。您可以使用 ip a 或者在 PVE Web 控制台中虚拟机的 Summary 页面中确认新的 IPv6 地址配置。
结语
您已成功在 Proxmox VE 上配置了 FnOS 实例。系统现在完全可访问,与 PVE 主机正确集成,并针对网络性能和用户隐私进行了优化。
|