FnOS 系统配置指南 🐂

一份详尽的飞牛(FnOS)系统配置记录,涵盖SSH设置、硬件直通、NFS共享、证书申请、Git仓库管理及Docker工具配置。


📋 目录导航


🔐 飞牛 SSH 开启 ROOT 用户登录

1. 设置 ROOT 密码

1
2
sudo -i
sudo passwd root

2. 修改 SSH 配置

1
2
3
4
5
6
7
8
sudo sed -i \
-e 's/#Port 22/Port 22/' \ # 🚪 启用并保持默认SSH端口22
-e 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' \ # 👑 允许root用户直接登录
-e 's/#GSSAPIAuthentication no/GSSAPIAuthentication no/' \ # 🔒 禁用GSSAPI认证
-e 's/#UseDNS no/UseDNS no/' \ # 🌐 禁用DNS反向解析,加速连接
-e 's/#ClientAliveInterval 0/ClientAliveInterval 10/' \ # ⏱️ 设置客户端活动检查间隔为10秒
-e 's/#ClientAliveCountMax 3/ClientAliveCountMax 999/' \ # ♾️ 大幅增加客户端活动检查最大次数
/etc/ssh/sshd_config

3. 查看修改是否成功

1
grep -E 'Port 22|PermitRootLogin|GSSAPIAuthentication|UseDNS|ClientAliveInterval|ClientAliveCountMax' /etc/ssh/sshd_config

4. 重启 SSH 服务

1
systemctl restart ssh && hostname -I | awk '{print $1}'

💡 提示:启用Root登录后,可直接使用FinalShell等SSH工具以root用户登录,无需每次输入sudo -i


🔧 飞牛虚拟机 IOMMU 硬件直通

1. 修改 GRUB 配置

1
nano /etc/default/grub

修改启动参数:

1
GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.force_probe=7d55 intel_iommu=on iommu=pt"

2. 更新 GRUB 配置

1
update-grub && update-initramfs -u -k all

3. 重启系统

1
reboot

📸 效果展示:IOMMU启用成功


📁 飞牛 NFS 共享配置

1. 飞牛后台 NFS 配置

记录 IP 地址和路径:10.10.10.254/fs/1000/nfs

NFS配置界面

2. Debian 挂载飞牛 NFS 共享

安装 NFS 客户端

1
sudo apt update && sudo apt install nfs-common -y

创建挂载目录

1
mkdir -p /mnt/fnos-nfs

临时挂载 NFS 共享

1
mount -t nfs -o rw 10.10.10.254:/fs/1000/nfs /mnt/fnos-nfs

验证挂载结果

1
df -hT /mnt/fnos-nfs

一键挂载命令

1
mkdir -p /mnt/fnos-nfs && mount -t nfs -o rw 10.10.10.254:/fs/1000/nfs /mnt/fnos-nfs && df -hT /mnt/fnos-nfs

NFS挂载成功

永久挂载配置

1
2
echo "10.10.10.254:/fs/1000/nfs /mnt/fnos-nfs nfs defaults,_netdev 0 0" | sudo tee -a /etc/fstab
sudo mount -a

🔒 Certbot 申请 SSL 证书

1. 安装 Certbot

1
sudo apt update && sudo apt install certbot python3-certbot-dns-cloudflare -y

2. 验证安装

1
certbot --version

获取 Cloudflare API Token

Cloudflare API Token

3. 创建认证配置文件

1
2
3
4
5
sudo mkdir -p /etc/letsencrypt
sudo tee /etc/letsencrypt/cloudflare.ini > /dev/null <<EOF
dns_cloudflare_api_token = 你的api_token
EOF
sudo chmod 600 /etc/letsencrypt/cloudflare.ini

4. 申请证书

1
2
3
4
5
6
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
--dns-cloudflare-propagation-seconds 60 \
-d example.com \
-d *.example.com

5. 部署证书到 Nginx

1
2
3
sudo cp /etc/letsencrypt/live/example.com/fullchain.pem /etc/nginx/ssl/cert.pem
sudo cp /etc/letsencrypt/live/example.com/privkey.pem /etc/nginx/ssl/key.pem
sudo systemctl restart nginx

📖 详细教程:Certbot 完整指南


🐙 飞牛 Gitee 仓库管理

1. Gitee 仓库创建

创建Gitee仓库

2. Git 全局设置

1
2
git config --global user.name "meimolihan"
git config --global user.email "meimolihan@gmail.com"

3. 生成 SSH 密钥

1
2
ssh-keygen -t ed25519 -C "your_email@example.com"
cat ~/.ssh/id_ed25519.pub

添加SSH公钥

4. 初始化并推送仓库

1
2
3
4
5
6
7
cd /vol1/1000/docker/random-pic-api
git init
git config --global --add safe.directory /vol1/1000/docker/random-pic-api
git add .
git commit -m "first commit"
git remote add origin git@gitee.com:meimolihan/random-pic-api.git
git push -u origin "master"

5. 自动化推送脚本

1
2
3
4
5
6
7
8
cat > /vol1/1000/docker/random-pic-api/gitee-push.sh <<'EOF'
#!/bin/bash
cd "$(dirname "$0")"
git add .
git commit -m "自动提交: $(date +'%Y-%m-%d %H:%M:%S')"
git push
EOF
chmod +x /vol1/1000/docker/random-pic-api/gitee-push.sh

🐳 飞牛安装 Docker Compose

1. 安装 Docker Compose

1
2
sudo curl -L "https://github.com/docker/compose/releases/download/v2.35.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2. 验证安装

1
docker-compose --version

3. 国内镜像加速安装

1
2
sudo curl -L "https://mirror.azure.cn/docker-toolbox/linux/compose/$(curl -s https://mirror.azure.cn/docker-toolbox/linux/compose/latest)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

🌐 TMDB Hosts 同步配置

1. 安装 Python3

1
sudo apt update && sudo apt install python3 python3-pip -y

2. 下载 DNS 解析脚本

1
2
3
mkdir -p /vol1/1000/home/nastools/tmdb-hosts
wget -O /vol1/1000/home/nastools/tmdb-hosts/DnsParse.py https://cdn.meimolihan.eu.org/hexo/fnos/hosts/DnsParse.py
chmod +x /vol1/1000/home/nastools/tmdb-hosts/DnsParse.py

3. 手动执行同步

1
/usr/bin/python3 /vol1/1000/home/nastools/tmdb-hosts/DnsParse.py

4. 验证同步结果

1
cat /etc/hosts | grep -A5 -B5 "tmdb"

5. 设置定时任务

1
2
3
4
5
6
7
8
9
10
11
# 添加更新hosts文件定时任务,每天凌晨一点十分执行
(crontab -l 2>/dev/null; echo "10 1 * * * /usr/bin/python3 /vol1/1000/home/nastools/tmdb-hosts/DnsParse.py") | crontab -

# hosts文件同步到emby,每天凌晨一点十五分执行
(crontab -l 2>/dev/null; echo "15 1 * * * rsync -avhz --delete /etc/hosts /vol1/1000/home/emby/config/hosts") | crontab -

# hosts文件同步到nastools,每天凌晨一点二十分执行
(crontab -l 2>/dev/null; echo "20 1 * * * rsync -avhz --delete /etc/hosts /vol1/1000/home/nastools/config/hosts") | crontab -

# 查看定时任务
crontab -l

6. 编辑定时任务

1
crontab -e

🔗 相关资源:GitHub项目地址


这份FnOS配置指南将持续更新,欢迎贡献您的使用经验!🐂