Подробный гайд: установка и настройка NAS-сервера на ALT Linux

Установка и настройка NAS-сервера на ALT Linux: RAID, Samba, NFS, безопасность, подключение клиентов. Пошаговое руководство.

2026.04.21                  


Подробный гайд: установка и настройка NAS-сервера на ALT LinuxПодробный гайд: установка и настройка 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

  1. Откройте Проводник → \\192.168.1.100\NAS_Share
  2. Введите логин/пароль пользователя, добавленного через smbpasswd
  3. Для постоянного подключения: «Подключить сетевой диск» → выберите букву

Из 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) — он позволяет мониторить диски, сеть и службы через браузер.