2025-11-27 08:55:52 +03:00
2025-11-27 08:55:52 +03:00

Домашнее задание 6

Работа с NFS

Для выполнение задания используется 2 vm Ubuntu Server 24.04

Для дальнейших действий перейдем сразу в суперпользователя

nimda@ubuntu-nfs-server:~$ sudo su
[sudo] password for nimda:
root@ubuntu-nfs-server:/home/nimda#
nimda@ubuntu-nfs-client:~$ sudo su
[sudo] password for nimda:
root@ubuntu-nfs-server:/home/nimda#

Устанавливаем NFS сервер

С помощью apt устанавливаем сервер nfs

root@ubuntu-nfs-server:/home/nimda# apt install nfs-kernel-server -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  keyutils libnfsidmap1 nfs-common rpcbind
Suggested packages:
  watchdog
The following NEW packages will be installed:
  keyutils libnfsidmap1 nfs-common nfs-kernel-server rpcbind
0 upgraded, 5 newly installed, 0 to remove and 25 not upgraded.
....

....
No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
root@ubuntu-nfs-server:/home/nimda#

Проверяем, слушаются ли порты 2049 и 111

root@ubuntu-nfs-server:/home/nimda# ss -tnplu | grep -E '0:2049|0:111'
udp   UNCONN 0      0                  0.0.0.0:111        0.0.0.0:*    users:(("rpcbind",pid=1510,fd=5),("systemd",pid=1,fd=100))
tcp   LISTEN 0      64                 0.0.0.0:2049       0.0.0.0:*                                                  
tcp   LISTEN 0      4096               0.0.0.0:111        0.0.0.0:*    users:(("rpcbind",pid=1510,fd=4),("systemd",pid=1,fd=96))

Создаем и опубликовываем каталог

Создаем каталог

root@ubuntu-nfs-server:/home/nimda# mkdir -p /srv/nfs_share/upload

Меняем владельца

root@ubuntu-nfs-server:/home/nimda# chown -R nobody:nogroup /srv/nfs_share/

Меняем разрешение на папку upload. Разрешаем чтение и запись для всех

root@ubuntu-nfs-server:/home/nimda# chmod 0777 /srv/nfs_share/upload/

С помощью vi редактируем файл /etc/exports, и добавляем следующую строку

/srv/nfs_share 192.168.50.41(rw,sync)

Перечитываем файл конфигурации NFS

root@ubuntu-nfs-server:/home/nimda# exportfs -r
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.50.41:/srv/nfs_share".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x

Проверим, что каталог опубликован

root@ubuntu-nfs-server:/home/nimda# exportfs -s
/srv/nfs_share  192.168.50.41(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

Устанавливаем NFS клиент

Устанавливаем nfs клиент

root@ubuntu-nfs-client:/home/nimda# apt install nfs-common -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  keyutils libnfsidmap1 rpcbind
Suggested packages:
  watchdog
The following NEW packages will be installed:
  keyutils libnfsidmap1 nfs-common rpcbind
0 upgraded, 4 newly installed, 0 to remove and 34 not upgraded.
Need to get 400 kB of archives.
....

....
No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.


Создаем каталог, куда будем монтировать из nfs сервера

root@ubuntu-nfs-client:/home/nimda# mkdir /mnt/nfs

Редактируем /etc/fstab и добавляем туда автомонтирование калога по nfs для версии 3

192.168.50.28:/srv/nfs_share/ /mnt/nfs nfs vers=3,noauto,x-systemd.automount 0 0

Перечитываем конфигурацию служб, и перезапускаем службы монтирования по сети

root@ubuntu-nfs-client:/home/nimda# systemctl daemon-reload
root@ubuntu-nfs-client:/home/nimda# systemctl restart remote-fs.target

Проверка

Проверяем на клиенте, что nsf каталог примонтировался

root@ubuntu-nfs-client:/home/nimda# ls -l /mnt/nfs/
total 4
drwxrwxrwx 2 nobody nogroup 4096 Nov 26 19:57 upload

Видим там папку upload

Создадим в ней файл

root@ubuntu-nfs-client:/home/nimda# touch /mnt/nfs/upload/clietn_file

проверим наличие файлы на сервере

root@ubuntu-nfs-server:/home/nimda# ls -l /srv/nfs_share/upload/
total 0
-rw-r--r-- 1 nobody nogroup 0 Nov 26 20:36 clietn_file

Скрипты автоматической настройки

Скрипт nfss_script.sh для автонастройки сервера

#!/bin/bash

echo "========================"
echo ""
echo "Установка NFS сервера"
echo ""
echo "========================"
apt install -y nfs-kernel-server

echo "========================"
echo ""
echo "Подготовка каталога Upload"
echo ""
echo "========================"
mkdir -p /srv/nfs_share/upload
chown nobody:nogroup /srv/nfs_share/upload
chmod 0777 /srv/nfs_share/upload

echo "========================"
echo ""
echo "Публикация каталога"
echo ""
echo "========================"
echo "/srv/nfs_share 192.168.50.41(rw,sync)" >> /etc/exports
exportfs -r

echo "========================"
echo ""
echo "Установка и настройка завершена"
echo ""
echo "========================"

Скрипт nfsc_script.sh для автонастройки клиента

#!/bin/bash

echo "========================"
echo ""
echo "Установка NFS клиента"
echo ""
echo "========================"
apt install nfs-common -y


echo "========================"
echo ""
echo "Подготовка каталога, куда будем монтировать"
echo ""
echo "========================"
mkdir /mnt/nfs

echo "========================"
echo ""
echo "Автомонтирование каталога"
echo ""
echo "========================"
echo "192.168.50.28:/srv/nfs_share/ /mnt/nfs nfs vers=3,noauto,x-systemd.automount 0 0" >> /etc/fstab

echo "========================"
echo ""
echo "Перезапуск служб"
echo ""
echo "========================"
systemctl daemon-reload 
systemctl restart remote-fs.target

echo "========================"
echo ""
echo "Установка и настройка завершена"
echo ""
echo "========================"

Description
No description provided
Readme 32 KiB
Languages
Shell 100%