Создать nas на linux

Обновлено: 07.07.2024

Samba позволяет настроить файловое хранилище различных масштабов — от малых офисов для крупных организаций. В данной инструкции мы рассмотрим процесс настройки файлового сервера. Сначала мы выполним установку и базовую настройку с предоставлением гостевого доступа. После будет приведены примеры разграничения доступа по пользователям, группам и пользователям Active Directory.

Подготовка сервера

1. Время

Для корректного отображения дат, необходимо позаботиться о синхронизации времени. Для этого будем использовать демон chrony. Установим его:

apt-get install chrony

Разрешим автозапуск сервиса:

systemctl enable chrony

2. Брандмауэр

По умолчанию, в системах на базе Debian брандмауэр разрешает все соединения. Но если в нашем случае мы используем брандмауэр, необходимо открыть порты:

iptables -I INPUT -p tcp --dport 445 -j ACCEPT

iptables -I INPUT -p udp --dport 137:138 -j ACCEPT

iptables -I INPUT -p tcp --dport 139 -j ACCEPT

* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).

apt-get install iptables-persistent

Установка и запуск Samba

Установка выполняется из репозитория одной командой:

apt-get install samba

Разрешаем автостарт сервиса:

systemctl enable smbd

И проверим, что сервис запустился:

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

Если мы настроили сервер правильно, система откроет пустую папку. На данном этапе проверка закончена и мы можем переходить к созданию первой шары.

Создание первой шары и предоставление к ней гостевого доступа (анонимного)

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

И добавляем настройку для общей папки:

[Общая папка]
comment = Public Folder
path = /data/public
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

  • [Общая папка] — имя общей папки, которое увидят пользователи, подключившись к серверу.
  • comment — свой комментарий для удобства.
  • path — путь на сервере, где будут храниться данные.
  • public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
  • writable — разрешает запись в сетевую папку.
  • read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
  • guest ok — разрешает доступ к папке гостевой учетной записи.
  • create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются указанные права. В нашем примере права будут полные.

Создаем каталог на сервере и назначим права:

mkdir -p /data/public

chmod 777 /data/public

Применяем настройки samba, перезагрузив сервис:

systemctl restart smbd

Пробуем подключиться к папке. Мы должны зайти в нее без необходимости ввода логина и пароля.

Доступ к папке по логину и паролю

Теперь создадим каталог, в который вход будет разрешен только авторизованным пользователям.

Открываем конфигурационный файл samba:

Добавляем настройку для новой папки:

[Папка сотрудников]
comment = Staff Folder
path = /data/staff
public = no
writable = yes
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:

  • path = /data/staff — используем новый путь до папки.
  • public = no — запрещаем публичный доступ.
  • guest ok = no — не разрешаем гостевое подключение.

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

* где staff1 — имя пользователя.

Задаем пароль для пользователя:

Теперь создадим пользователя в samba:

smbpasswd -a staff1

systemctl restart smbd

Пробуем зайти на сервер — общую папку мы должны открыть без авторизации, а при попытке открыть папку сотрудников должно появиться окно ввода логина и пароля.

Если мы авторизованы на компьютере, с которого пытаемся подключиться к серверу, под той же учетной записью, что создали для доступа к папке, samba может и не потребовать аутентификации.

Доступ к папке определенным пользователям и группам

Теперь создадим папку, доступ к которой будут иметь ограниченное количество пользователей.

Открываем конфигурационный файл samba:

Добавляем настройку для новой папки:

[Приватная папка]
comment = Private Folder
path = /data/private
public = no
writable = no
read only = yes
guest ok = no
valid users = admin, staff2, staff3, @privateusers
write list = admin, staff2
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
inherit owner = yes

* стоит обратить внимание на следующие настройки:

  • path = /data/private — используем новый путь до папки.
  • writable = no и read only = yes — в данном примере мы разрешим запись в каталог только некоторым пользователям. Поэтому общие настройки, разрешающие запись в папку, должны быть запрещены.
  • valid users — список пользователей, которым разрешено подключаться к каталогу. В данном примере разрешения работают для пользователей admin, staff2 и staff3, а также для всех, кто входим в группу privateusers.
  • write list — список пользователей, которые имеют доступ к папке на чтение и запись. В данном примере мы разрешаем это только для пользователей admin и staff2.
  • inherit owner — опция позволяем включить наследование владельца при создании папок и файлов.

* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/private

Для применения настроек перезапускаем samba:

systemctl restart smbd

Создать группу пользователей можно командой:

Добавить ранее созданного пользователя в эту группу:

usermod -a -G privateusers staff1

Проверяем возможность работы с новым каталогом.

Сетевая корзина

При удалении файлов из общей папки, данные удаляются навсегда. Но мы можем настроить сетевую корзину — скрытый каталог, в который будут перемещаться удаляемые с самбы объекты.

Открываем конфигурационный файл:

[Recycle]
comment = Snap Directories
path = /data/recycle
public = yes
browseable = yes
writable = yes
vfs objects = recycle
recycle:repository = .recycle/%U
recycle:keeptree = Yes
recycle:touch = Yes
recycle:versions = Yes
recycle:maxsize = 0
recycle:exclude = *.tmp,

  • vfs objects = recycle — использовать подсистему recycle.
  • recycle:repository — где хранить удаленные объекты. В данном примере удаленные файлы попадут в скрытый каталог .recycle к котором создастся каталог с именем пользователя, удалившего файл или папку.
  • recycle:keeptree — удалять объекты с сохранение дерева каталогов.
  • recycle:touch — изменить ли дату изменения файла при его перемещении в корзину.
  • recycle:versions — при удалении файлов с совпадающими именами, добавлять номер версии.
  • recycle:maxsize — не помещать в корзину файлы, размер которых больше заданного параметра (в байтах). В данном примере, помещать файлы любого размера.
  • recycle:exclude — исключить файлы.
  • recycle:exclude_dir — исключить каталог.

Создаем каталог и задаем права:

chmod 777 /data/recycle

systemctl restart smbd

Пробуем зайти в сетевой каталог Recycle и создать, а после удалить файл. Он должен оказаться к скрытой папке .recycle.

Для автоматической чистки сетевой корзины можно создать скрипт:

/usr/bin/find $recyclePath -name "*" -ctime +$maxStoreDays -exec rm <> \;

* в данном скрипте мы ищем все файлы в каталоге /data/recycle/.recycle, которые старше 30 дней и удаляем их.

Разрешаем запуск скрипта:

chmod +x /scripts/cleanrecycle.sh

Создаем задание в планировщике:

0 5 * * * /scripts/cleanrecycle.sh

* в данном примере мы будем запускать скрипт по очистке сетевой корзины каждый день в 05:00.

Подключение к шаре

Теперь разберем примеры подключения к нашим шарам из разных систем.

Windows

Для разового подключения можно использовать проводник, прописав в нем адрес сервера через косые линии:

Для подключения сетевого диска, который будет автоматически создаваться при запуске системы, в проводнике сверху нажимаем Простой доступ - Подключить как диск:

В открывшемся окне прописываем путь до сетевой папки и выбираем имя диска:

Сетевой диск настроен.

Но мы может сделать те же действия из командной строки:

net use x: \\samba.dmosk.local\AD ACL /persistent:yes

* где x: — имя сетевого диска; \\samba.dmosk.local\AD ACL — путь до сетевого каталога; persistent:yes — указывает на то, что нужно восстанавливать данный диск каждый раз при входе в систему.

Linux

Монтирование

В Linux мы можем монтировать удаленный каталог с помощью команды mount, например:

mount -t cifs "//192.168.1.15/ad" /mnt -o user=dmosk

* где 192.168.1.15 — IP-адрес сервера; mnt — каталог, куда монтируем сетевую шару; dmosk — пользователь, под которым выполняем подключение к сетевому каталогу.
** в систему должен быть установлен пакет cifs-utils.

Подробнее, процесс монтирования описан в инструкции Как в Linux монтировать шару CIFS.

SMB Browser

Также мы можем увидеть содержимое удаленных папок на samba при помощи клиента smb. Для начала установим данного клиента:

а) на Red Hat / CentOS / Fedora:

yum install samba-client

б) на Debian / Ubuntu / Mint:

apt-get install samba-client

После вводим команду:

smbclient -L 192.168.1.15 -U staff@dmosk.local

* где 192.168.1.15 — сервер samba, к которому мы пытаемся подключиться; staff@dmosk.local — учетная запись, под которой выполняется подключение.

. мы получим список каталогов, которые расшарены на сервере.

Также мы можем подключиться к конкретной папке, например:

smbclient \\\\192.168.1.15\\ad -U staff@dmosk.local

Мы подключимся клиентом samba — можно выполнить запрос на показ содержимого:

Или полный список возможных команд:

Некоторые опции Samba

Рассмотрим некоторые полезные опции, которые могут пригодится при настройке Samba.

1. hosts allow

Параметр задает список разрешенных хостов или сетей, с которых можно подключаться к серверу. Если его прописать в секцию с настройкой шары, то он будет действовать только для нее, если прописать в [global], то для всех общих папок.

Пример использования параметра.

hosts allow = comp1, 192.168.1., 192.168.160.0/255.255.252.0

* в нашем примере мы разрешим доступ только для компьютера comp1, компьютеров из сетей 192.168.1.0/24 и 192.168.160.0/22.

2. hosts deny

Параметр аналогичный hosts allow, только он наоборот — запрещает доступ для хостов и сетей. Например:

hosts deny = comp2, 192.168.2., 192.168.164.0/255.255.252.0

hosts deny = ALL EXCEPT 192.168.3.

3. interfaces

По умолчанию samba использует все сетевые интерфейсы, кроме локальной петли (127.0.0.1). Параметр interfaces позволит указать, на каком сетевом адаптере файловый сервер должен принимать запросы. Пример:

interfaces = ens32 192.168.1.15/24 192.168.2.15/255.255.255.0

4. Force User/Group

Опции force user и force group позволяют задать пользователя и группу, от которых будет работать подключение пользователя к samba. Параметр может оказаться полезным для создания шары из каталога с уже назначенным владельцем, которого мы не хотим менять.

Прописывается для шары:

force user = apache
force group = apache

* данная настройка позволит подключаться к шаре под пользователем apache.


Из-за очередного приступа параноии, я решил сменить Google Drive на собственное решение и хранить свои файлики поближе к телу. Выбор был между: поднимать в каком-нибудь DigitalOcean виртуалку и хранить там, или собрать дома свое хардварное решение. Подсчитав сколько будет стоить виртуалка с нужным объемом диска, выбор был сделан в пользу домашнего NAS-сервера.

Выбор

У меня было примерно 100 ГБ данных на момент съезда из Google Drive. Виртуалка в DigitalOcean на 160ГБ стоит 40$ в месяц, то есть в год будет выходить

500$. Дорого. За эти деньги можно дома собрать NAS на терабайт с SSD дисками. Есть ещё вариант брать маленькую виртуалку, и к нему подключить S3 хранилище, но софт, который я планировал использовать, не умеет работать с S3.

Итак, вариант с виртуалкой в облаке я отмёл и пошел смотреть, что нынче есть на рынке домашних NAS серверов. Так как я живу в маленькой квартире, NAS я планировал ставить в жилой комнате, и, если он будет шуметь вентиляторами и вибрировать HDD-дисками, то житья в комнате не будет. Поэтому я хотел найти NAS с пассивным охлаждением и вставить туда SSD диски. Не самое дешевое решение, но за тишину приходится платить.

Как выяснилось, на рынке практически нет NAS с пассивным охлаждением. Почему так я не понимаю, по опыту использования — максимальная температура дисков за год использования у меня была 47.0 C (наверно когда я переносил все данные), в покое — 36.0 C, крышка NAS-а чуть теплая. 90% времени диски простаивают и зачем им вентилятор я не понимаю.

Вот модели с пассивным охлаждением которые я смог найти — QNAP HS-210 , QNAP HS-251 , QNAP HS-251+ (он же QNAP S2 ), QNAP HS-453 . У всех моделей обычный x64-процессор, не ARM. Получается маленькая такая desktop-тачка с местом для двух HDD.

  • HS-210 - 512 МБ ОЗУ мало.
  • HS-251 - 1ГБ ОЗУ мало
  • HS-251+ - 2ГБ ОЗУ норм
  • HS-453 - 4 или 8 ГБ ОЗУ. Ultimate решение, но не продается в России и стоит космос.

У Synology бесшумных решений я не нашел. Собирать системник тоже не хотелось - он не получится таким же маленьким и бесшумным как QNAP. В общем выбрал золотую середину - QNAP HS-251+ (QNAP S2).

Из дисков я выбрал WD BLUE 3D NAND SATA SSD 1 TB (WDS100T2B0A). Взял две штуки. Они без проблем заходят в NAS. Итого вышло:

Не самое дешевое решение для NAS, но самое дешевое из подходящих под требования. Кроме этого, чтобы создать свое облако потребуется статический “белый” IP-адрес дома. Чтобы подключаться из интернета к домашнему серверу. Обычно такая услуга есть у любого провайдера.

Программная часть

После покупки и установки самого NAS-а, решил попробовать использовать софт от самого QNAP. Стоит сказать, что он очень разнообразный - полностью заменяет публичные облака и даже умеет запускать виртуальные машины. Из себя он представляет некую ОС (на основе Debian, кажется), с веб-интерфейсом а-ля iPad и проприетарными приложениями.

QNAP OS

К сожалению все работает довольно медленно, да и менять один проприетарный продукт на другой, внутренний параноик мне не позволил, поэтому я установил на NAS обыкновенный чистый Linux.

Так как это обычный x86_64 ПК, я записал на флешку свежий дистрибутив, зашел в BIOS и загрузился с нее:

Загрузка с флешки NAS

В этом NAS-е есть постоянная память размером 512 МБ куда установлена дефолтная прошивка. Ее я не перезаписывал (при желании можно будет вернуться на нее), и поставил Ubuntu 18.04 на software RAID, собранный из двух установленных дисков. На каждом диске создается по партиции одинакового размера, и они объединяются в RAID1. На одном диске также раздел для загузчика и /boot:

Установка LINUX на Software RAID

Домашнее облако

Выбор был между ним и Nextcloud/ownCloud, но после тестовых установок выбрал Seafile. До 3-х пользователей можно использовать Enterprise версию - её и взял. В ней есть поиск по файлам и еще несколько полезных функций, вот здесь есть сравнение бесплатной и enterprise версий. Разворачивал с помощью Docker — очень просто и быстро, на сайте есть подробный мануал

У Seafile есть веб-интерфейс, desktop-приложение для всех ОС и мобильный клиент.

Nextcloud/ownCloud гораздо богаче по функционалу и хранят файлы в открытом виде, то есть их можно интегрировать в другие серверные приложения, но жуткие тормоза при аплоаде файлов и на веб-интерфейсе делают их неработопригодными.

Seafile тоже не идеален, всё что он умеет — просто хранить файлы. Особенности использования:

    хранит данные в бинарных файлах. То есть их нельзя просматривать на диске. Получаем высокую скорость при доступе к данным, но теряем в гибкости. Вот так выглядят данные на ФС:

есть приложение для Android/iOS. Довольно скромное, но заливать фотки с телефона и просматривать файлы умеет.

Seafile android клиент

Домашний NAS и медиа-плеер

Так как в NAS-е есть HDMI выход, я его подключил к телевизору и сделал из него медиа-плеер. В комплекте также есть пульт ДУ:

Медиа плеер QNAP и пульт

Вот так выглядит интерфейс Kodi на телевизоре:

Kodi

Как я использую Kodi:

  • плеер фильмов, которые лежат на NAS-диске
  • плеер IPTV вместо MAG-250. Умеет показывать multicast-потоки
  • проигрыватель YouTube (приложение не очень удобное, но юзабельное)
  • в поездках с помощью приложения Kodi для Android подключаюсь к своему NAS и смотрю с него фильмы. Получается такой self-hosted онлайн-кинотеатр
  • для скачивания новых фильмов на NAS установил Transmission + web-интерфейс

Также на NAS поставил FTP и Samba, чтобы подключаться с девайсов в локальной сети и NFS для монтирования сетевого диска.

Такой схемой я пользуюсь около года и вот какие выводы сделал:

  • приложения Яндекс.Диск/Google Photo удобнее и быстрее. Да, opensource-аналоги не дают такого удобства использования — то тут, то там встречаются мелкие косяки (например в android-приложении seafile фотки при просмотре скачиваются полностью, т.е. не превью сжатое, а фото если весит 5МБ — оно все полетит на телефон, это медленно и занимает место на телефоне; хотя в веб-морде есть превьюхи). Ну и поиск в Гугл.фото по содержанию фотографий (когда в поиске вводишь “горы”, и он показывает все фотографии гор из вашей библиотеки) — это вообще киллер фича, такого в бесплатные аналоги не знаю когда завезут.
  • скорость загрузки файлов в Seafile гораздо выше, чем в публичные облака
  • смотреть фильмы теперь супер удобно. Особенно в поездках. 4G есть практически везде в России, и теперь не надо закачивать кучу фильмов на телефон — смотрю онлайн, подключаясь с телефона к домашнему серверу. В случае отсутствия связи, например в поезде, подключаюсь по FTP и скачиваю перед отправлением.
  • Kodi — супер комбайн, но хотелось бы научиться стримить телевизионный сигнал на телефон, чтобы смотреть ТВ не из дома. Этого еще не понял как сделать.
  • чтобы все это настроить пришлось покурить мануалы и подзаморочиться с установкой и наладкой.

Хочу ли я вернуться в публичные облака (Google Drive, Яндекс.Диск)? Нет, не хочу. На мой взгляд, плюсов в такой схеме все же больше, чем минусов. А внутренний параноик теперь спит сладким сном.

Проблема с растущими стартапами или малым бизнесом заключается в масштабируемости, когда они достигают пути, на котором они не являются ни маленькими, ни большими, слишком большими для использования общедоступных облачных хранилищ и слишком маленькими, чтобы позволить себе корпоративные хранилища, такие как Amazon Web Services.

Услуги публичного облачного хранилища начинаются дешево, но могут стать непомерно дорогими по мере того, как будет храниться больше данных.

В зависимости от факторов, не зависящих от вас, производительность может быть ненадежной, в то же время существует высокий риск конфиденциальности и безопасности, связанный с хранением определенных данных на чужом «облачном» компьютере, если вы не платите надбавку за корпоративное шифрование военного уровня.

Здесь в игру вступает Prosumer, он попадает в точку между потребителями и профессионалами. Операционная система хранилища позволяет вам создать собственное «облако» в вашей сети за ваши собственные средства. Поскольку эта ОС использует настольный компьютер в качестве системы хранения, домашним пользователям не имеет смысла запускать ее круглосуточно и без выходных, если вы хотите создать центральную сетевую систему хранения для своего дома, приобретите потребительское хранилище NAS от WD Red, D-Link, Asus или Seagate IronWolf. Без лишних слов, вот некоторые бесплатные ОС с открытым исходным кодом для сетевых хранилищ (NAS) для малого бизнеса.

Хранилище ОС FreeNAS

NAS4Free

Популярная статья: 4 программы для исправления и восстановления поврежденных видеофайлов MP4 AVI для 32-битных 64-битных Windows 10 и Mac

NAS4Free поддерживает совместное использование в Windows, Apple и UNIX-подобных системах. Он включает ZFS v5000, программный RAID (0,1,5), шифрование диска, отчеты SMART / электронной почты и т. Д. Со следующими протоколами: CIFS / SMB (Samba), контроллер домена Active Directory (Samba), FTP, NFS, TFTP, AFP, RSYNC, Unison, iSCSI (инициатор и цель), HAST, CARP, Bridge, UPnP и Bittorent, которые легко настраиваются через веб-интерфейс. NAS4Free можно установить на Compact Flash / USB / SSD ключ, жесткий диск или загрузить с LiveCD / LiveUSB с небольшим usbkey для хранения конфигурации.

openmediavault

openmediavault в первую очередь предназначен для использования в небольших офисах или домашних офисах, но не ограничивается этими сценариями. Это простое и легкое в использовании готовое решение, которое позволит каждому устанавливать и администрировать сетевое хранилище без более глубоких знаний.

  • ОС Debian Linux с веб-администрированием
  • Управление томом и SMART
  • Агрегация ссылок
  • Wake On LAN
  • Поддержка IPv6
  • Уведомления по электронной почте
  • Обмен файлами

Openfiler

Openfiler превращает стандартную систему архитектуры x86_64 в полноценное устройство NAS / SAN или шлюз IP-хранилища и предоставляет администраторам хранилища мощный инструмент для удовлетворения растущих потребностей в хранилищах. Openfiler гарантирует, что администраторы хранилища могут наилучшим образом использовать производительность системы и ресурсы емкости хранилища при распределении хранилища и управлении хранилищем в многоплатформенной сети.

Openfiler предоставляет ключевые функции, такие как цель iSCSI для виртуализации, поддержка цели Fibre Channel, репликация на уровне блоков и высокая доступность, которые являются основой любой критически важной для бизнеса среды хранения. Openfiler решает все ключевые проблемы хранения данных:

↓ 05- Rockstor

Rockstor

  • Создайте свое частное облачное хранилище и расширьте возможности своей организации с помощью гибридного рабочего процесса, используя лучшее из общедоступного и частного облачного хранилища.
  • Полная интеграция с общедоступным облачным хранилищем для повышения эффективности и снижения эксплуатационных расходов
  • Масштабируйте свои потребности в хранилище с низкими дополнительными затратами
  • Управляйте своим хранилищем практически без опыта работы с ИТ

ПетаСАН

PetaSAN изначально разработан для одной цели: предоставления высокодоступных кластерных дисков iSCSI. В PetaSAN диск iSCSI может иметь множество путей доступа, каждый из которых определяется своим виртуальным IP-адресом. Эти IP-адреса сгруппированы по нескольким узлам хранения.

ESOS - ОС корпоративного хранилища

Популярная статья: БЕСПЛАТНО RescuePRO Deluxe с флешкой SanDisk и SD-картой

Типичные варианты использования «сервера хранения» ESOS® включают хранилища данных VMFS на VMware ESX / ESXi, тома Windows NTFS, диски Linux и т. Д. Высокопроизводительная, специализированная (наподобие устройства) база Linux, созданная с нуля, не имеющая отношения к другим Дистрибутивы Linux.

CryptoNAS

Проект CryptoNAS приносит шифрование данных в массы. Live-CD CryptoNAS создан для людей, которые хотят зашифровать свои данные, не беспокоясь о сложных технических проблемах. Компьютер, на котором установлен Live-CD CryptoNAS, работает как файловый сервер (NAS), который шифрует ваши личные данные. Пакет CryptoNAS-Server добавляет удобный веб-интерфейс для шифрования жесткого диска на существующий файловый сервер.

Статья была опубликована 19 марта 2010 года в 18:58, а последний раз правилась 10 февраля 2020 года в 03:30.

В статье представлено пошаговое руководство по настройке домашнего сетевого хранилища данных (NAS) на базе GNU/Linux-дистрибутива Openfiler. Каждый шаг проиллюстрирован скриншотами. Доступ к ресурсам обеспечивается без пароля с любого компьютера из сети.

Учитывая тот факт, что во многих семьях количество компьютеров приближается к количеству членов семьи, возникает необходимость обращаться к одним и тем же данным (фильмы, музыка, фото, документы) с разных компьютеров. Для такой цели нужно завести отдельный постоянно работающий компьютер, который у нас будет выполнять роль хранилища данных — NAS-сервера (Network Attached Storage — сетевая система хранения данных, сетевое хранилище).

Первым делом нужно выбрать железо. Для домашнего использования мощный компьютер не нужен — подойдет любой ПК с поддержкой сети. Я использовал свою старую машину на базе AMD Athlon. Второй вопрос — выбор программного обеспечения. Из бесплатных есть два дистрибутива:

Я остановил свое внимание на Openfiler, потому как посчитал его более «дружелюбным», чем FreeNAS. О настройке Openfiler для дома я и расскажу.

Установка дистрибутива не составляет труда. Инсталлятор здесь основан на Anaconda, которую можно встретить во всех совместимых с Red Hat дистрибутивах (RHEL, Fedora, CentOS и т.п.). Рассказывать о процессе установки не буду, отмечу лишь одну деталь. При разбивке жесткого диска нужно создать 2 раздела:

  1. Для системы с точкой монтирования «/», файловой системой ext3 и размером около 1 Гб.
  2. Swap — я сделал на 1 Гб (у меня 1 Гб RAM).

Оставшееся пустое место так и оставим (не создаем раздела и не форматируем) — в последующем мы именно его будем использовать как хранилище. После установки заходим на сервер через консоль и проверяем сеть:


Если видим такой вывод, как ниже, то сеть не настроена:


Если же вывод — такой:


— сеть настроена, так что следующий раздел («Настройка сети») можно пропустить и сразу перейти к обновлению системы.

Настройка сети

Создаем файл ifcfg-eth0 с настройками сети:


В случае DHCP он будет выглядеть примерно так:


Чтобы сохранить файл в запущенном текстовом редакторе nano, надо нажать на «Ctrl» + «X», а затем — «Y». Теперь перезапустим сеть:


После этого вы должны увидеть примерно следующее:

Для обновления системы выполняем команду:


После этого перезагружаемся и приступаем к настройке доступа.

Настройка общего доступа без пароля

Так как мы у себя дома, то и пароли нам ни к чему — доступ к ресурсам будем настраивать по гостевому входу, чтобы любой компьютер в сети без проблем читал расшаренные ресурсы и записывал в них.

Основное окно состоит из 7 основных вкладок. После выбора вкладки справа появляются дополнительные меню, которые открывают доступ к специфическим для данной вкладки настройкам.


Теперь — по порядку.

1. Перейдем на вкладку System, в поле «Hostname:» запишем «openfiler»:


Прокрутив ниже в разделе Network Access Configuration, настраиваем доступ к сети. Если здесь не вбить хоть один компьютер из сети, будущая шара работать не будет.

  • Name: имя компьютера
  • Network/Host: IP-адрес компьютера
  • Netmask: маска подсети


2. Перейдем на вкладку «Volumes». Здесь создадим раздел, на котором будут размещаться наши общие данные:


Нажимаем «create new physical volumes» и попадаем в меню выбора диска:


Выбираем /dev/sda и на следующем экране создаем раздел с такими параметрами:

  • Mode — Primary
  • Partition Type — Physical volume

Видим такой экран — раздел создан:


Далее переходим на экран «Volume Groups» в меню справа и создаем группу раздела:


Затем переходим на экран «Add Volume» в меню справа и форматируем диск. Скроллим вниз и видим вот такую картину:


Вводим имя, выбираем размер раздела и файловую систему, нажимаем «Create», ждем пару минут. Раздел создан!


3. Перейдем на вкладку Services, и включим SAMBA, для этого напротив SMB / CIFS server нажмем «Enable».


В меню справа переходим на экран SMB/CIFS Setup, и настраиваем там локаль и NetBIOS name:

  • Display Charset: cp1251
  • Unix Charset: UTF-8
  • DOS Charset: CP866

Остальные пункты не трогаем, нажимаем «Apply»:


4. Перейдем на вкладку «Accounts», проскроллив чуть ниже. В разделе «Use Windows domain controller and authentication» введем название нашей workgroup:

Опускаемся еще чуть ниже и нажимаем «Submit»:


5. Перейдем на вкладку «Shares» — вкладка, на которой настраиваются наши ресурсы и доступ к ним:


Нажимаем на «shara» и создаем папку:


Нажимаем на только что созданную папку и в открывшемся окне нажимаем «Make share»:


Попадаем на следующий экран, где настраиваем общий доступ:

Нажимаем «Change». Напротив «Public guest access» ставим галку и нажимаем «Update»:


Прокручиваем вниз и видим таблицу. Включаем SAMBA для хоста в сети, нажав «RW» в разделе «SMB/CIFS», нажимаем «Update»:


Аналогично с остальными папками. На этом настройка окончена, заходим на сервер, закачиваем ваши файлы и радуемся если все работает:

Читайте также: