20240828443jm.png

装机

硬件配置

主板 + CPU:云星N100 NAS主板 + asm1164 m2 nvme 转4口sata 转接卡 (¥600)

内存:金士顿 骇客神条DDR4笔记本内存条 3200 8G(¥109)

电源:益衡Flex小1U全模组350电源 ENP-8335L(¥409)

机箱:咸鱼 3D打印机箱(¥89)

硬盘:旧致态tiplus5000 512G、旧sata固态 x2、旧西数1T硬盘、旧西数2T硬盘、旧希捷4T硬盘、旧杂牌msata硬盘16G(未使用)

配件:线材:山泽SATA3.0数据线 x5(¥31.34)一分三sata硬盘电源线 x2(¥14.84)散热风扇:利民8015W 2200转(¥36.9)风扇防尘网x2(¥11.6)NGFF转SATA3转接板 x2 (¥29.4)

辅助工具:视频采集卡ms2130 hdmi转usb(¥35.9)HDMI高清线(¥10.9)

系统

飞牛OS官网下载:https://www.fnnas.com/download

使用HTTPS访问

一、关闭http访问

  1. 进入系统设置,安全性->端口设置->高级设置,勾选强制HTTPS连接,关闭重定向80与443端口(将俩端口留给Nginx Proxy Manager),之后在同一设置页面下开启防火墙

  2. 远程访问,使用FN Connect(远程登录使用官方的fn地址)

  3. DDNS设置Cloudflare(用来给docker中的服务做解析)https://dash.cloudflare.com/profile/api-tokens在上面的网址创建令牌,编译区域DNS模板,获得API KEY,填写到飞牛上就可以了

  4. 安全性->证书->服务配置,选择fn connect 专属证书

为Docker添加代理

目的:让docker中的容器能够走代理出国

前提:需要在v2rayn中打开局域网访问

步骤:

  1. 飞牛设置中开启SSH,安全起见,更改端口

  2. 使用终端连接飞牛SSH(可使用Windows终端,命令为:ssh <你的用户名>@<飞牛IP>

  3. 获取root权限:sudo -i

  4. 编辑docker配置文件:

    • cd /etc/systemd/system/

    • vim ./docker.service

    • 按i进入编辑模式添加以下代码(注意192.168.50.109是运行v2rayn电脑的地址)

Environment="HTTP_PROXY=http://192.168.50.109:10808"
Environment="HTTPS_PROXY=http://192.168.50.109:10808"
Environment="NO_PROXY=localhost,127.0.0.1"
  • 按esc退出编辑模式,:wq 保存

  • 重载配置文件:sudo systemctl daemon-reload

  • 重启docker:sudo systemctl restart docker

1Panel无法开机自启或无法更新

1、去这里下载一个安装包(修改版本号):https://resource-fit2cloud-com.oss-cn-hangzhou.aliyuncs.com/1panel/package/stable/v1.10.20-lts/release/1panel-v1.10.20-lts-linux-amd64.tar.gz

2、解压找到“1panel.service”这个文件

3、在[service]部分添加 ExecStartPre 代码(延迟启动避免1Panel无法随开机自启)

[Service]
ExecStartPre=/bin/sleep 5

4、上传到 etc/systemd/system/ 目录即可

CoolerControl风扇自定义

无法使用,云星N100主板不支持软件风扇调节,只能通过BIOS调节风扇转速

中文:https://post.smzdm.com/p/aovmk979/

官方:https://docs.coolercontrol.org/getting-started.html(飞牛系统为Debian)

按照官方步骤安装后,根据中文教程sudo modprobe drivetemp #加载硬盘温度检测模块,重启coolercontrol即可,之后按照教程设置模块在开机时自动加载

飞牛虚拟机的网络限速

目前飞牛官方并没有开发虚拟机的网络限速功能,但可以利用 OVS 原生 QoS 功能实现网络限速。(要求 OVS≥2.5 且支持 HTB )

# 查找虚拟机对应的 OVS 端口(如tap53eeb988-c7)
ovs-vsctl show

输出示例,可以看到虚拟机的接口是 vnet2,属于网桥 enp3s0-ovs,OVS 版本为 3.1.0

root@DragonMarker:~# ovs-vsctl show

19d20c10-43b1-4509-82d6-bcc1bf2cd08e

Bridge enp3s0-ovs

Port enp3s0

Interface enp3s0

Port enp3s0-ovs

Interface enp3s0-ovs

type: internal

Port vnet2

Interface vnet2

ovs_version: "3.1.0"

创建 QoS 策略并绑定到虚拟机端口​​

# 创建QoS策略(最大速率35Mbps)并关联队列
# 虚拟机的下载速度限制(对于 vnet2 来说是发送)
ovs-vsctl -- set port vnet2 qos=@newqos \
-- --id=@newqos create qos type=linux-htb other-config:max-rate=35000000 \
-- --id=@q0 create queue other-config:max-rate=35000000

# 虚拟机的上传速度限制(对于 vnet2 来说是接收)
ovs-vsctl set interface vnet2 ingress_policing_rate=35000 \
                      ingress_policing_burst=3500
  • ​OVS配置默认自动保存至数据库,重启后无需重新配置

  • 关键参数说明​​:

    • type=linux-htb:使用分层令牌桶算法实现精确限速

    • max-rate=35000000:对应 35Mbps(单位:bit/s)

    • queue:每个队列对应一个限速规则,

    • other-config:max-rate需与 QoS 的max-rate一致

    • ingress_policing_rate:下载限速35Mbps(单位Kbps)(注意两边单位是不一样的)

    • ingress_policing_burst:突发值=限速的10%

(可选)允许虚拟机短时突发下载流量

添加burst参数:

ovs-vsctl set qos <QoS_UUID> other-config:burst=3500000  # 突发值=限速的10%(这里设置为 3.5Mbps)

验证配置生效​

# 查看端口QoS绑定状态
ovs-vsctl list port vnet2 | grep qos

# 查看QoS策略详细信息
ovs-vsctl list qos

# 查看队列参数
ovs-vsctl list queue

# 查看端口统计(含突发包计数)
ovs-appctl dpctl/show -s

# 查看ingress限速统计(Kbps单位)
ovs-vsctl list interface vnet2 | grep policing

预期输出​​:qos 字段应显示 UUID,且 other_config:max-rate 值为 35000000

(回滚)恢复默认状态

# 消除 vnet2 端口的下载速度限制
ovs-vsctl clear port vnet2 qos
ovs-vsctl destroy qos <QoS_UUID>

# 消除上传速度限制
ovs-vsctl set interface vnet2 ingress_policing_rate=0 \
                      ingress_policing_burst=0