Подробный гайд: установка и настройка NAS-сервера на ALT Linux
Важно:
- Руководство актуально для ALT Linux 10 (платформа «п10») и выше. Подходит для редакций Server, Workstation и Regular.
Предварительные требования
| Компонент |
Рекомендация |
| Оборудование |
ПК/сервер с 2+ дисками (для RAID), 2+ ГБ ОЗУ, гигабитная сеть |
| ОС |
ALT Linux 10 Server (предпочтительно) |
| Доступ |
Права суперпользователя (root) |
| Сеть |
Статический IP-адрес для сервера |
Шаг 1: Подготовка системы
1.1. Обновление пакетов
sudo apt-get update
sudo apt-get upgrade -y
1.2. Настройка статического IP
Настройки сети в ALT Linux хранятся в /etc/net/ifaces/<интерфейс>/:
# Пример для интерфейса eth0
cd /etc/net/ifaces/eth0/
echo "IPADDR=192.168.1.100" > options
echo "PREFIX=24" >> options
echo "GATEWAY=192.168.1.1" >> options
echo "DNS1=8.8.8.8" >> options
systemctl restart network
Шаг 2: Настройка дисковой подсистемы (RAID)
2.1. Установка инструментов для RAID
sudo apt-get install mdadm
2.2. Создание RAID-массива (пример для RAID1)
# Проверка дисков
lsblk
# Создание массива (замените /dev/sdb и /dev/sdc на ваши диски)
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
# Сохранение конфигурации
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
# Создание файловой системы
sudo mkfs.ext4 /dev/md0
# Монтирование
sudo mkdir -p /srv/nas
sudo mount /dev/md0 /srv/nas
# Добавление в /etc/fstab для автозагрузки
echo "/dev/md0 /srv/nas ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab
Шаг 3: Установка и настройка протоколов доступа
Вариант А: Samba (SMB/CIFS) — для совместимости с Windows
3.1. Установка пакетов
sudo apt-get install samba samba-client
3.2. Резервное копирование конфигурации
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
3.3. Настройка /etc/samba/smb.conf
Откройте файл:
sudo nano /etc/samba/smb.conf
Секция [global] (базовые параметры):
[global]
workgroup = WORKGROUP
server string = ALT NAS Server
security = user
map to guest = Bad User
unix charset = UTF-8
dos charset = CP866
log file = /var/log/samba/log.%m
max log size = 50
Пример общей папки:
[NAS_Share]
comment = Основное хранилище
path = /srv/nas/share
browseable = yes
writable = yes
guest ok = no
valid users = @nasusers
create mask = 0644
directory mask = 0755
3.4. Создание директории и настройка прав
# Создание папки
sudo mkdir -p /srv/nas/share
# Создание группы пользователей
sudo groupadd nasusers
# Добавление пользователя в группу (замените username)
sudo usermod -aG nasusers username
# Назначение прав
sudo chown -R root:nasusers /srv/nas/share
sudo chmod -R 0770 /srv/nas/share
3.5. Добавление пользователя в базу Samba
# Пользователь должен существовать в системе!
sudo smbpasswd -a username
# Введите пароль дважды
3.6. Настройка брандмауэра
# Для firewalld (стандарт в ALT Linux)
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
# Альтернатива для iptables:
sudo iptables -A INPUT -p tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 445 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 138 -j ACCEPT
sudo service iptables save
3.7. Запуск служб
sudo systemctl enable --now smb
sudo systemctl enable --now nmb
# winbind нужен только для домена AD
3.8. Проверка конфигурации
# Проверка синтаксиса
testparm
# Перезапуск при отсутствии ошибок
sudo systemctl restart smb nmb
# Проверка доступных ресурсов
smbclient -L localhost -U username
Вариант Б: NFS — для Linux/macOS клиентов
3.1. Установка сервера NFS
sudo apt-get install nfs-kernel-server nfs-common
3.2. Настройка экспорта в /etc/exports
# Пример: доступ для всей подсети 192.168.1.0/24
/srv/nas/share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
Параметры экспорта:
| Параметр |
Описание |
| rw |
Чтение и запись |
| sync |
Синхронная запись (надёжнее) |
| no_root_squash |
Разрешить root-доступ (осторожно!) |
| no_subtree_check |
Ускорить проверку доступа |
3.3. Применение настроек
sudo exportfs -a
sudo systemctl enable --now nfs-server
3.4. Настройка брандмауэра для NFS
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload
Шаг 4: Безопасность и мониторинг
4.1. Настройка аудита доступа (опционально)
# Установка auditd
sudo apt-get install auditd
# Логирование доступа к общей папке
sudo auditctl -w /srv/nas/share -p rwxa -k nas_access
4.2. Регулярное резервное копирование
# Пример с rsync + cron
sudo apt-get install rsync
# Добавить в crontab (crontab -e):
0 2 * * * rsync -av --delete /srv/nas/share /backup/nas_backup
4.3. Мониторинг дисков (SMART)
sudo apt-get install smartmontools
sudo smartctl -a /dev/sdb
Шаг 5: Подключение клиентов
Из Windows
- Откройте Проводник →
\\192.168.1.100\NAS_Share
- Введите логин/пароль пользователя, добавленного через
smbpasswd
- Для постоянного подключения: «Подключить сетевой диск» → выберите букву
Из Linux (SMB)
# Временное подключение
smbclient //192.168.1.100/NAS_Share -U username
# Постоянное монтирование через /etc/fstab
# Создайте файл с учётными данными:
sudo nano /etc/samba/credentials
# Содержимое:
username=ваш_пользователь
password=ваш_пароль
sudo chmod 600 /etc/samba/credentials
# Добавьте в /etc/fstab:
//192.168.1.100/NAS_Share /mnt/nas cifs credentials=/etc/samba/credentials,iocharset=utf8,uid=1000,gid=1000 0 0
sudo mkdir -p /mnt/nas
sudo mount -a
Из Linux/macOS (NFS)
# Установка клиента (если нужно)
# Debian/Ubuntu: sudo apt-get install nfs-common
# RHEL/ALT: уже установлен
# Монтирование
sudo mkdir -p /mnt/nas
sudo mount -t nfs 192.168.1.100:/srv/nas/share /mnt/nas
# Для автозагрузки в /etc/fstab:
192.168.1.100:/srv/nas/share /mnt/nas nfs defaults,_netdev 0 0
Устранение неполадок
| Проблема |
Решение |
| Не видны русские имена файлов |
Убедитесь, что в [global] указаны unix charset = UTF-8 и dos charset = CP866 |
| Ошибка «Permission denied» |
Проверьте права на папку (ls -l /srv/nas/) и членство пользователя в группе |
| Сервер не виден в сети |
Проверьте firewall-cmd --list-all, убедитесь, что службы smb и nmb активны |
| Медленная передача файлов |
Проверьте MTU сети, отключите антивирус на клиенте, используйте socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 в smb.conf |
| Проблемы с обнаружением в Windows 10/11 |
Добавьте в [global]: client min protocol = NT1 и client max protocol = SMB3 |
Полезные команды для диагностики:
# Проверка служб
systemctl status smb nmb nfs-server
# Логи Samba
tail -f /var/log/samba/log.*
# Проверка экспортов NFS
exportfs -v
# Тест подключения с клиента
smbclient -L //192.168.1.100 -U username
showmount -e 192.168.1.100
Совет:
- Для упрощения управления рассмотрите установку веб-интерфейса Cockpit (
sudo apt-get install cockpit) — он позволяет мониторить диски, сеть и службы через браузер.