收起左侧

基于PVE 9.1的双NAS分离与安全加固家庭服务器搭建手册

2
回复
97
查看
[ 复制链接 ]

4

主题

12

回帖

0

牛值

江湖小虾

听取坛友建议,架构升级,安全,稳定,便捷,操作步骤分享。

版本与架构摘要

  • 核心架构:在单台宿主机上,通过虚拟化实现 “存储 (TrueNAS)”“应用 (飞牛NAS)”“安全 (雷池WAF)” 三层分离。
  • 网络设计:采用 双网卡+双网桥 实现流量隔离与性能优化。
  • 存储设计:单块SSD通过LVM精细分区,服务于系统、虚拟机、容器及缓存。
  • 软件版本:Proxmox VE 9.1, TrueNAS Scale 25.1, 飞牛NAS V1.1.4, 雷池WAF社区版。

第一阶段:硬件准备与PVE安装

步骤1.1:硬件与BIOS检查

  1. 硬件连接:确保所有硬件(CPU、16GB内存、NVMe SSD、数据硬盘、NVIDIA P600显卡)正确安装。
  2. BIOS设置:开机进入BIOS,务必开启:
    • 虚拟化技术AMD-V / SVM
    • IOMMUAMD-Vi (用于PCIe设备直通)

步骤1.2:安装PVE 9.1

  1. 使用镜像工具将PVE ISO写入U盘,并从U盘启动服务器。
  2. 在安装界面中:
    • 同意许可协议,选择目标磁盘为 NVMe SSD
    • 设置国家、时区、键盘布局。
    • 设置密码和邮箱。
    • 配置网络
      • 管理接口:选择你的物理网卡(如 enp3s0),这将自动创建 vmbr0
      • 主机名:如 pve.home
      • IP地址:设置为静态地址,例如 192.168.1.10/24
      • 网关:你的路由器IP,如 192.168.1.1
      • DNS:如 223.5.5.5
  3. 完成安装并重启,通过 **https://192.168.1.10:8006 访问Web管理界面。

步骤1.3:PVE基础配置

  1. 更新系统:在PVE Shell中执行 apt update && apt dist-upgrade -y
  2. 创建内部网桥 (vmbr1)
    • 在Web界面,进入**“系统” -> “网络”**。
    • 点击**“创建” -> “Linux Bridge”**。
    • 名称vmbr1IP/CIDR留空,点击创建。

第二阶段:核心存储分区(LVM)

目标:在238.5G SSD上划分出系统、虚拟机、容器、缓存专用空间。所有操作在PVE Shell中完成。

步骤2.1:检查与扩展磁盘空间

bash

# 1. 查看当前分区,确认nvme0n1p3后有大块空闲
lsblk /dev/nvme0n1
​
# 2. 使用parted创建新分区并加入LVM
parted /dev/nvme0n1 --script mkpart primary 42.9GB 100% set 4 lvm on
​
# 3. 创建物理卷并扩展卷组
pvcreate /dev/nvme0n1p4
vgextend pve /dev/nvme0n1p4

步骤2.2:创建五个逻辑卷

bash

# 1. 虚拟机系统盘存储池 (LVM-Thin)
lvcreate -L 60G -n vm-storage pve
lvconvert --type thin-pool pve/vm-storage
​
# 2. TrueNAS SLOG设备 (ZFS写入缓存)
lvcreate -L 8G -n truenas-slog pve
​
# 3. 飞牛NAS数据盘 (将由飞牛格式化为Btrfs)
lvcreate -L 100G -n feiniu-data pve
# 注意:切勿格式化此卷!
​
# 4. LXC容器存储 (用于雷池等)
lvcreate -L 34G -n lxc-storage pve
mkfs.ext4 /dev/pve/lxc-storage
mkdir -p /mnt/lxc-storage
echo '/dev/pve/lxc-storage /mnt/lxc-storage ext4 defaults 0 0' >> /etc/fstab
mount -a

步骤2.3:在PVE Web界面注册存储

  1. 进入**“数据中心” -> “存储”**。
  2. 添加 vm-storage
    • 添加 -> LVM-Thin
    • ID: vm-storage卷组: pveThinpool: vm-storage
    • 内容:勾选 “磁盘映像”
  3. 添加 lxc-storage
    • 添加 -> 目录
    • ID: lxc-storage目录: /mnt/lxc-storage
    • 内容:勾选 “容器”

第三阶段:部署TrueNAS Scale(存储核心)

步骤3.1:创建虚拟机

点击“创建虚拟机”,严格按以下参数配置:

  • 常规:VM ID设为 100,名称 TrueNAS-Scale,勾选“开机自启动”。
  • 操作系统:使用上传的TrueNAS Scale 25.1 ISO镜像。
  • 系统机型q35BIOSOVMF (UEFI),务必勾选 “添加EFI磁盘”
  • 磁盘总线SATA大小 32G存储vm-storage,缓存 Write Back
  • CPU核心 3类别务必选择 host
  • 内存大小 10240 MB (10GB),务必取消勾选 Ballooning设备
  • 网络添加两块网卡
    • 网卡1:桥接 vmbr0,模型 VirtIO
    • 网卡2:桥接 vmbr1,模型 VirtIO
  • 确认:检查无误后完成创建。

步骤3.2:配置虚拟机硬件

  1. 直通SATA控制器:在虚拟机“硬件”页面,添加 -> PCI设备,选择主机SATA控制器,勾选 所有功能PCI-Express
  2. 设置启动顺序:在“选项”中,编辑 “启动/关机顺序”
    • 开机时启动
    • 顺序1
    • 启动延迟0
    • 关机超时300

步骤3.3:安装与初始配置

  1. 启动虚拟机,从ISO引导,选择 Install/Upgrade
  2. 选择32G的虚拟磁盘作为安装目标,设置root密码。
  3. 安装完成后关闭电源,移除ISO镜像,再启动。
  4. 通过控制台显示的IP或路由器后台查找的IP,访问TrueNAS Web界面 (https://<IP>)。
  5. 配置网络(关键):
    • “网络” -> “接口”,编辑两块网卡:
      • vmbr0对应网卡:静态IP,如 192.168.1.20/24,设置网关和DNS。
      • vmbr1对应网卡:静态IP,如 10.10.10.2/24绝对不要设置网关
  6. 配置存储
    • “存储” -> “池”,使用直通的机械硬盘创建ZFS池(如 tank)。
    • 在池的 “扩展” 选项中,添加 /dev/pve/truenas-slog 设备作为 “日志设备 (SLOG)”

第四阶段:部署飞牛NAS(应用核心)

步骤4.1:创建虚拟机

点击 “创建虚拟机”,严格按以下参数配置:

  • 常规:VM ID设为 101,名称 FeiNiu-NAS,勾选“开机自启动”。
  • 操作系统:使用上传的飞牛NAS V1.1.4 ISO镜像。
  • 系统机型q35BIOSOVMF (UEFI)
  • 磁盘:需要添加两块硬盘
    • 硬盘1 (系统盘)总线 SATA大小 24G存储vm-storage
    • 硬盘2 (数据盘):点击“添加” -> “物理硬盘”,选择 /dev/pve/feiniu-data
  • CPU核心 1类别 host
  • 内存大小 4096 MB (4GB)。
  • 网络添加两块网卡
    • 网卡1:桥接 vmbr1,模型 VirtIO
    • 网卡2:桥接 vmbr0,模型 VirtIO
  • 直通显卡:在“硬件”页面,添加 -> PCI设备,选择NVIDIA P600显卡的两个设备(通常为 [01:00.0][01:00.1]),均勾选 所有功能PCI-Express

步骤4.2:配置虚拟机选项

在“选项”中,编辑 “启动/关机顺序”

  • 开机时启动
  • 顺序2
  • 启动延迟90 (等待TrueNAS启动)
  • 关机超时180

步骤4.3:安装与初始配置

  1. 启动虚拟机,安装飞牛NAS系统到24G的系统盘
  2. 进入飞牛系统后,配置网络
    • 连接 vmbr0的网卡:设为静态IP,如 192.168.1.30/24,设置网关和DNS。
    • 连接 vmbr1的网卡:设为静态IP,如 10.10.10.3/24绝对不要设置网关
  3. 配置存储
    • 进入飞牛“存储管理”,对直通的 feiniu-data 硬盘进行分区并格式化为 Btrfs 文件系统,然后挂载(如 /mnt/appdata)。
    • (必须)迁移Docker目录:在飞牛Docker设置中,将数据目录修改为 /mnt/appdata/docker
  4. 挂载NFS共享
    • 在飞牛中创建NFS客户端挂载,指向TrueNAS:10.10.10.2:/mnt/tank/media,挂载到本地目录(如 /mnt/truenas_media)。

第五阶段:部署雷池WAF(安全核心)于LXC容器

步骤5.1:创建LXC容器

  1. 在PVE Shell下载模板:pveam download local debian-12-standard_12.2-1_amd64.tar.zst
  2. Web界面点击 “创建CT”
    • 模板:选择刚下载的Debian模板。
    • 根磁盘8GB,存储在 lxc-storage
    • CPU1核心,CPU份额可设为 512
    • 内存1024 MB。
    • 网络需要添加两块网卡
      • 网卡0 (eth0):桥接 vmbr0,IPv4静态 192.168.1.40/24,网关 192.168.1.1
      • 网卡1 (eth1):桥接 vmbr1,IPv4静态 10.10.10.4/24网关留空

步骤5.2:配置容器内部路由(关键)

  1. 启动容器,通过“控制台”或SSH进入。
  2. 添加静态路由,确保访问内网走 eth1
    bash
    # 临时添加
    ip route add 10.10.10.0/24 dev eth1
    # 永久配置(编辑网络配置文件,例如)
    echo 'up ip route add 10.10.10.0/24 dev eth1' >> /etc/network/interfaces.d/eth1
    

步骤5.3:安装与配置雷池

  1. 在容器内,按照雷池官方指南执行Docker一键安装命令。
  2. 安装完成后,访问 https://192.168.1.40:9443 进入雷池管理界面。
  3. 添加防护站点
    • 站点1 (防护飞牛):监听端口 9444,上游服务器填写 http://10.10.10.3:飞牛端口
    • (可选)站点2 (防护TrueNAS管理):监听另一端口,上游填写 https://10.10.10.2
  4. 路由器端口转发
    • 将公网IP的 443 端口,转发到 192.168.1.40:9444 (飞牛服务)。
    • 将公网IP的另一端口(如 9443),转发到 192.168.1.40:9443 (雷池自身管理)。

重要提醒与最终验证

  1. 安全警告
    • PVE、TrueNAS管理界面建议仅限内网访问。如需外网访问,强烈建议通过VPN拨入家庭网络后访问,而非直接暴露。
    • 所有系统(PVE、TrueNAS、飞牛、雷池)必须使用高强度唯一密码
  2. 性能监控:部署后,在PVE界面监控各虚拟机/容器的CPU、内存、存储使用情况,根据实际负载微调资源。
  3. 最终验证清单
    • 在飞牛中能 ping10.10.10.2
    • 飞牛能正常读写 /mnt/truenas_media (NFS共享)。
    • 家庭电脑能通过 \\192.168.1.20 访问TrueNAS的SMB共享。
    • 通过公网 域名+端口能访问雷池防护的飞牛服务。
    • Jellyfin等应用能正常播放NFS中的媒体,且GPU解码正常工作。

至此,一个高性能、高安全性的家庭一体化服务器已搭建完成。此架构清晰分离了存储、计算与安全角色,并利用内部网络优化了关键流量路径。

收藏
送赞 1
分享

0

主题

4

回帖

0

牛值

fnOS系统内测组

大佬,辛苦了,先收藏了

0

主题

1

回帖

0

牛值

江湖小虾

不错的方案,留个印迹。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则