入门教程

fnOS安装后必做的10项初始设置

2026-07-30 2 admin

fnOS安装后必做的10项初始设置:从零搭建安全高效的家用NAS

刚装好fnOS,你可能会被简洁的界面吸引,但真正用好它,需要从系统底层开始做对10项关键设置。作为基于Linux深度定制的NAS系统,fnOS初始状态下存在默认端口暴露、SSH未加固、存储池未优化等问题。本文将带你一步步完成这些必须的初始化操作,确保你的NAS既安全又高效。

1. 更新系统与内核

新安装的fnOS可能包含已知漏洞,首先更新所有包。

sudo apt update && sudo apt upgrade -y
sudo fnos-upgrade

执行后重启系统:

sudo reboot

2. 修改SSH默认端口并禁用密码登录

默认22端口是暴力破解的重灾区。先修改SSH配置:

sudo nano /etc/ssh/sshd_config

找到#Port 22改为Port 2222(或其他高位端口)。然后设置密钥认证:

# 在客户端生成密钥(非NAS上执行)
ssh-keygen -t ed25519
# 将公钥复制到NAS
ssh-copy-id -p 2222 username@nas-ip

返回NAS,编辑SSH配置文件:

PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes

重启服务:

sudo systemctl restart sshd

安全提示:切勿关闭当前SSH会话,先另开终端测试新端口连接成功再退出。

3. 创建非root管理员账户

避免日常使用root账号操作,增加审计追踪:

sudo useradd -m -G sudo,sambashare adminuser
sudo passwd adminuser

赋予fnOS管理权限:

sudo fnos-cli user add adminuser --role admin

后续所有操作都通过此账户执行,root仅用于紧急维护。

4. 配置防火墙限制访问来源

fnOS默认iptables规则较宽松,建议限制管理端口:

# 允许本地网络访问(假设内网段192.168.1.0/24)
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 80
sudo ufw allow from 192.168.1.0/24 to any port 443
# 允许特定IP访问管理面板
sudo ufw allow from 你的公网IP to any port 8006
sudo ufw enable

查看规则:

sudo ufw status numbered

5. 配置存储池与自动快照

fnOS默认使用单盘模式,建议创建带校验的RAID阵列:

# 查看磁盘标识
sudo lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
# 创建RAID5(假设三块盘sdb,sdc,sdd)
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
sudo mkfs.ext4 /dev/md0
sudo mkdir /data
sudo mount /dev/md0 /data

设置开机自动挂载:

echo '/dev/md0 /data ext4 defaults 0 0' | sudo tee -a /etc/fstab

配置定时快照(保留7天):

sudo fnos-cli snapshot create --pool /data --retention 7

6. 启用Samba安全共享

编辑Samba配置强化安全:

sudo nano /etc/samba/smb.conf

在[global]段添加:

min protocol = SMB3
max protocol = SMB3
server signing = mandatory
smb encrypt = required
restrict anonymous = 2

创建专用共享目录:

sudo mkdir -p /data/shared
sudo chown adminuser:adminuser /data/shared
sudo chmod 770 /data/shared

添加共享段:

[Shared]
path = /data/shared
valid users = @sambashare
read only = no
browseable = yes
create mask = 0660
directory mask = 0770

重启Samba服务:

sudo systemctl restart smbd nmbd

7. 配置自动备份至远程存储

使用rsync定时增量备份关键数据到另一台NAS或云存储:

# 安装rsync
sudo apt install rsync -y
# 创建备份脚本
sudo nano /usr/local/bin/backup.sh

脚本内容:

#!/bin/bash
SOURCE="/data"
DEST="user@backup-server:/backup/fnos"
rsync -avz --delete --exclude='.cache/' --link-dest=/backup/latest $SOURCE $DEST

设置执行权限并加入crontab:

sudo chmod +x /usr/local/bin/backup.sh
sudo crontab -e
# 添加每日凌晨2点执行
0 2 * * * /usr/local/bin/backup.sh

8. 配置系统日志远程转发

将日志集中到日志服务器,便于安全审计:

sudo nano /etc/rsyslog.d/remote.conf

添加:

*.* @日志服务器IP:514

重启日志服务:

sudo systemctl restart rsyslog

9. 启用Fail2ban防护

防止SSH和Web面板暴力破解:

sudo apt install fail2ban -y
sudo nano /etc/fail2ban/jail.local

配置内容:

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log

[fnos-web]
enabled = true
port = 8006
filter = fnos-web
logpath = /var/log/fnos/access.log

启动服务:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

10. 配置UPS自动关机

保护硬件免受意外断电损坏:

sudo apt install nut -y
sudo nano /etc/nut/ups.conf

添加UPS配置(以APC为例):

[apc]
driver = usbhid-ups
port = auto
desc = "APC UPS"

配置自动关机策略:

sudo nano /etc/nut/upsmon.conf

添加:

MONITOR apc@localhost 1 admin secret master
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /sbin/upsmon-notify

启动服务:

sudo systemctl enable nut-monitor
sudo systemctl start nut-monitor

结语

完成这10项设置后,你的fnOS已经具备了企业级NAS的基本安全防护能力。从端口隐蔽到存储冗余,从访问控制到灾难恢复,每个环节都经过精心设计。建议将本教程的配置步骤保存在安全位置,定期(至少每季度)检查防火墙规则和备份完整性。fnOS的强大在于其Linux底层的灵活性,但这份自由也意味着你需要主动管理安全边界。现在,你的NAS已经准备好承载重要数据,放心使用吧。