From e2d62cfd42571f2ec255d16c73b89587064dd1c3 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 27 Nov 2025 08:55:52 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..62c7107 --- /dev/null +++ b/README.md @@ -0,0 +1,263 @@ +# Домашнее задание 6 + +## Работа с NFS + +Для выполнение задания используется 2 vm Ubuntu Server 24.04 + + +Для дальнейших действий перейдем сразу в суперпользователя + + +```bash +nimda@ubuntu-nfs-server:~$ sudo su +[sudo] password for nimda: +root@ubuntu-nfs-server:/home/nimda# +``` + +```bash +nimda@ubuntu-nfs-client:~$ sudo su +[sudo] password for nimda: +root@ubuntu-nfs-server:/home/nimda# +``` + + +### Устанавливаем NFS сервер + + + +С помощью apt устанавливаем сервер nfs + +```bash +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 +```bash +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)) + +``` + + +### Создаем и опубликовываем каталог + + +Создаем каталог +```bash +root@ubuntu-nfs-server:/home/nimda# mkdir -p /srv/nfs_share/upload +``` + +Меняем владельца +```bash +root@ubuntu-nfs-server:/home/nimda# chown -R nobody:nogroup /srv/nfs_share/ +``` + +Меняем разрешение на папку upload. Разрешаем чтение и запись для всех +```bash +root@ubuntu-nfs-server:/home/nimda# chmod 0777 /srv/nfs_share/upload/ +``` + + +С помощью vi редактируем файл /etc/exports, и добавляем следующую строку + + +```bash +/srv/nfs_share 192.168.50.41(rw,sync) +``` + + +Перечитываем файл конфигурации NFS + +```bash +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 + +``` + + +Проверим, что каталог опубликован +```bash +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 клиент + +```bash +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 сервера +```bash +root@ubuntu-nfs-client:/home/nimda# mkdir /mnt/nfs +``` + +Редактируем /etc/fstab и добавляем туда автомонтирование калога по nfs для версии 3 +```bash +192.168.50.28:/srv/nfs_share/ /mnt/nfs nfs vers=3,noauto,x-systemd.automount 0 0 +``` + +Перечитываем конфигурацию служб, и перезапускаем службы монтирования по сети + +```bash +root@ubuntu-nfs-client:/home/nimda# systemctl daemon-reload +root@ubuntu-nfs-client:/home/nimda# systemctl restart remote-fs.target + +``` + +### Проверка + +Проверяем на клиенте, что nsf каталог примонтировался +```bash +root@ubuntu-nfs-client:/home/nimda# ls -l /mnt/nfs/ +total 4 +drwxrwxrwx 2 nobody nogroup 4096 Nov 26 19:57 upload +``` + +Видим там папку upload + +Создадим в ней файл + +```bash +root@ubuntu-nfs-client:/home/nimda# touch /mnt/nfs/upload/clietn_file +``` + + +проверим наличие файлы на сервере + +```bash +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 для автонастройки сервера +```bash +#!/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 для автонастройки клиента +```bash +#!/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 "========================" + +``` \ No newline at end of file