Домашний сервер (сетевые диски)

Я уже писал про домашний сервер здесь и здесь. Теперь нужно сделать так, чтобы остальные могли подключаться и копировать файлы. А сделаем мы с помощью пакета Samba. Для этого необходимо настроить сетевой диск для доступа и обмена. Приступим!

Диск для всех

И так, для начала необходимо установить некоторые программы. Что ж, сделаем:

apt install -y samba

Этого достаточно чтобы установить сервер, но не достаточно чтобы он заработал. Теперь нужно настроить программу, чтобы она отдавала нам файлы по сети. Для этого выполняем nano /etc/samba/smb.conf и приводим конфигурационный файл примерно к следующему виду:


[global]
   workgroup = MYNAS
   dns proxy = no

   log file = /var/log/samba/log.%m

   max log size = 1000

   syslog = 0

   panic action = /usr/share/samba/panic-action %d

   server role = standalone server

   passdb backend = tdbsam

   obey pam restrictions = yes

   unix password sync = yes

   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

   pam password change = yes

/bin/false %u

   usershare allow guests = yes

   ntlm auth = yes

[storage]
   comment = Share NAS
   browsable = yes
   path = /mnt/storage
   guest ok = yes
   read only = no
   create mask = 0777
   directory mask = 0777
   writeable = yes
   valid users = user
   locking = no
   oplocks = yes
   strict locking = no
   share modes = yes

Здесь я привожу свой пример без комментариев. Данный пример не является истинно верным и не претендует на уникальность. Все что Вам нужно изменить и донастроить Вы можете это сделать. А мы идем дальше…

Теперь нам нужен пользователь, с помощью которого мы буем подключаться к сетевому диску. Для этого создаем его в Samba:


smbpasswd -a user

Перед применением всего этого добра сервер, вероятнее всего, будет ругаться на количество открываемых файлов. Это связано в ограничении. Добавим пару срочек в /etc/security/limits.conf:


*               hard    nofile          1048576
*               soft    nofile          1048576

Теперь проверим все ли хорошо:


testparm

И, если все хорошо, перезапустим службу:


systemctl stop smbd && systemctl restart nmbd && systemctl start smbd
systemctl enable smbd && systemctl enable nmbd

Теперь можно подключаться с Windows-компьютера указав адрес \\<адрес Вашего сервера>\storage и ввести логин и пароль пользователя, которого Вы указали.

Клиент на Linux

Тут ничего сложного нет. Для этого создаем директорию:


mkdir -p /mnt/storage

Установим необходимые пакеты:


apt install -y cifs-utils

И в /etc/fstab добавим одну строчку:


//<адрес Вашего сервера>/storage /mnt/storage    cifs    credentials=/etc/home_store.cred,file_mode=0777,dir_mode=0777,rw        0 0

Затем создаем файл /etc/home_store.cred:


username=<Логин>
password=<Пароль>

И устанавливаем права доступа:


sudo chmod 600 /etc/home_store.cred

Теперь все монтируем:


sudo mount -a

В принципе все.

Еще один сетевой диск

Теперь нам необходимо настроить NFS. Это самая родная сетевая файловая система для Linux. Так как у меня есть второй одноплатник и я на него собираюсь ставить различные приложения, то мне нужно где-то хранить данные. Буду их хранить на сервере с файлами. Можно было бы использовать ту же Samba, но есть некоторые проблемы и ограничения которые отчасти сложно обходить, да и зачем мучиться, если можно сделать все гораздо проще. Продолжим…

Для начала установим все необходимые пакеты на сервер хранилища и сразу его запустим:


apt install -y nfs-common nfs-kernel-server
systemctl start nfs-server && systemctl enable nfs-server

Так как у меня уже есть расшаренная сетевая директория для Samba и я не хочу придумывать другую, то буду использовать ее же. Далее нужно сказать NFS-серверу что мы хотим отдать другим. Для этого редактируем файл /etc/exports (я просто добавил строчку):


/mnt/storage    <Адрес клиента, которому разрешено подключаться>(rw,no_root_squash)

И просто перезапускаем сервер:


systemctl restart nfs-server

Клиент другого сетевого диска

На будущем сервер устанавливаем пакет клиента:


apt install -н nfs-common

в /etc/fstab добавляем строчку:


<адрес Вашего NFS-cthdthf>:/mnt/storage/     /mnt/nfs/       nfs     rw      0 1

Создаем директорию, к которой будем подключаться:


mkdir -p /mnt/nfs

И монтируем:


mount -a

Подключенные сетевые диски

Как бы всё!

Собственно на этом все. Основа готова. Теперь уже можно что-то дальше наворачивать, так как есть и сервер для хранения данных и сервер для обработки каких-либо данных. Да, это не самолет с реактивным двигателем, но какие-то домашние задачи вполне можно решать.

Поделиться
Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

Вы должны быть авторизованы, чтобы разместить комментарий.