GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Klien dan Server NFS di Ubuntu 20.04

Network File System atau NFS singkat adalah protokol sistem file terdistribusi yang memungkinkan Anda memasang direktori jarak jauh di server Anda. NFS memungkinkan Anda untuk mengakses file dan folder dari server atau klien yang berbeda. Anda dapat menulis ke server itu dari beberapa klien atau sistem jarak jauh melalui jaringan. Teknologi ini memberi Anda fleksibilitas untuk berbagi sumber daya melalui beberapa sistem.

Dalam tutorial ini, kita akan mempelajari cara menyiapkan Server NFS dan cara memasang NFS Shares pada klien menggunakan Ubuntu 20.04.

Prasyarat

  • Dua Sistem Ubuntu 20.04. Setiap server harus memiliki pengguna non-root dengan hak istimewa sudo dan firewall UFW.
  • Anda dapat menyiapkan server dan klien melalui jaringan pribadi. Untuk tutorial kita, saya akan menggunakan host_ip untuk menunjukkan host_ip alamat dan client_ip untuk merujuk ke alamat IP Klien.

Langkah 1 - Instal NFS di Server dan Klien

Tuan rumah

Kita perlu menginstal nfs-kernel-server paket di host untuk membagikan direktori Anda.

$ sudo apt update
$ sudo apt install nfs-kernel-server

Klien

Untuk klien, kami akan menginstal nfs-common paket yang memungkinkan Klien untuk memasang direktori host tetapi tidak dapat meng-host direktori itu sendiri.

$ sudo apt update
$ sudo apt install nfs-common

Langkah 2 - Buat direktori Berbagi di Host

Ada dua cara Anda dapat memberikan akses ke direktori di host ke klien. Secara default, server NFS tidak mengizinkan operasi yang memerlukan hak sudo. Ini berarti bahwa pengguna super pada klien tidak dapat menulis file sebagai root, menetapkan kembali kepemilikan, atau melakukan tugas apa pun yang memerlukan hak istimewa yang lebih tinggi.

Namun terkadang, klien perlu melakukan operasi tertentu pada host yang memerlukan hak istimewa yang lebih tinggi tetapi tidak memerlukan akses pengguna super untuk itu.

Metode Pertama

Ini adalah cara default untuk berbagi direktori. Ini mempersulit pengguna root pada klien untuk berinteraksi dengan host menggunakan hak istimewa yang lebih tinggi.

Pertama, buat direktori berbagi.

$ sudo mkdir /var/nfs/general -p

Jika Anda melakukan operasi root pada klien, maka NFS akan menerjemahkannya ke nobody:nogroup kredensial pada mesin host. Oleh karena itu, kita perlu memberikan kepemilikan yang sesuai pada direktori bersama.

$ sudo chown nobody:nogroup /var/nfs/general

Metode Kedua

Di sini, kami akan membagikan direktori home host dengan klien. Ini akan memungkinkan pengguna root pada klien mengakses host dengan benar.

Karena direktori home sudah ada di server host, kita tidak perlu membuatnya. Izin juga tidak perlu diubah karena akan menimbulkan banyak masalah bagi pengguna di mesin host.

Langkah 3 - Konfigurasi NFS di Host

Saatnya mengonfigurasi NFS untuk menyiapkan berbagi.

Buka file /etc/exports di server Host.

$ sudo nano /etc/exports

Tambahkan baris berikut di bagian bawah, masing-masing satu, untuk setiap direktori yang Anda bagikan.

/var/nfs/general    client_ip(rw,sync,no_subtree_check)
/home               client_ip(rw,sync,no_root_squash,no_subtree_check)

Mari kita bahas semua opsi ini dan artinya.

  • rw :Ini memberi klien akses baca dan tulis di direktori host.
  • sinkronisasi :Opsi ini memaksa NFS untuk menulis perubahan sebelum membalas. Ini berarti NFS pertama-tama akan menyelesaikan penulisan ke direktori host dan kemudian menanggapi klien. Ini memastikan bahwa keadaan sebenarnya dari server host tercermin tetapi dapat memperlambat kecepatan operasi file.
  • no_subtree_check :Opsi ini menonaktifkan pemeriksaan Subtree. Pemeriksaan subpohon adalah operasi di mana dengan setiap permintaan NFS, server harus memeriksa apakah file yang diakses ada dan ada di pohon yang diekspor. Operasi ini menyebabkan masalah saat file yang sedang diakses oleh klien diganti namanya. Jadi yang terbaik adalah membiarkannya dinonaktifkan dalam banyak kasus. Ini memiliki beberapa implikasi keamanan ringan tetapi dapat meningkatkan keandalan.
  • no_root_squash :Secara default, NFS menerjemahkan semua operasi yang dilakukan sebagai root oleh klien ke pengguna yang tidak memiliki hak istimewa di server. Hal ini dilakukan dengan maksud untuk meningkatkan keamanan. Opsi ini menonaktifkan perilaku tersebut untuk pembagian tertentu.

Setelah selesai, tutup file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Mulai ulang server NFS untuk menerapkan perubahan.

$ sudo systemctl restart nfs-kernel-server

Langkah 4 - Konfigurasikan Firewall Host

Praktik terbaik dengan NFS adalah mengaktifkannya secara khusus untuk setiap alamat IP klien secara terpisah alih-alih mengizinkan akses ke sana dari mana saja.

NFS menggunakan port 2049. Aktifkan akses untuk NFS dengan perintah berikut.

$ sudo ufw allow from client_ip to any port nfs

Periksa status untuk memverifikasi.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                 
2049                       ALLOW       167.100.34.78        
OpenSSH (v6)               ALLOW       Anywhere (v6)

Langkah 5 - Buat Poin Mount pada Klien

Setelah host kita dikonfigurasi, sekarang saatnya menyiapkan klien.

Buat dua direktori untuk mount pada klien.

$ sudo mkdir -p /nfs/general
$ sudo mkdir -p /nfs/home

Sekarang setelah kita mengatur semuanya di ujung host, kita dapat memasang share menggunakan alamat IP Host.

$ sudo mount host_ip:/var/nfs/general /nfs/general
$ sudo mount host_ip:/home /nfs/home

Anda dapat memeriksa apakah mereka telah berhasil dipasang dengan perintah berikut.

$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            448M     0  448M   0% /dev
tmpfs                            99M  664K   98M   1% /run
/dev/vda1                        25G  3.2G   21G  14% /
tmpfs                           491M     0  491M   0% /dev/shm
tmpfs                           5.0M     0  5.0M   0% /run/lock
tmpfs                           491M     0  491M   0% /sys/fs/cgroup
tmpfs                            99M     0   99M   0% /run/user/1000
123.175.112.87:/var/nfs/general  25G   18G  6.3G  74% /nfs/general
123.175.112.87:/home             25G   18G  6.3G  74% /nfs/home

Anda dapat melihat kedua bagian yang dipasang di bagian bawah daftar. Karena keduanya dipasang dari sistem file yang sama, keduanya menunjukkan penggunaan disk penuh dan bukan penggunaan sebenarnya dari direktori yang dipasang.

Untuk melihat seberapa banyak ruang aktual yang digunakan di bawah setiap mount, gunakan perintah berikut.

$ du -sh /nfs/general
36K     /nfs/general

Langkah 6 - Uji Berbagi NFS

Buat file uji ke /var/nfs/general bagikan.

$ sudo touch /nfs/general/general.test

Periksa kepemilikannya.

$ ls -l /nfs/general/general.test
-rw-r--r-- 1 nobody nogroup 0 Aug  1 13:31 /nfs/general/general.test

Ini dipasang menggunakan opsi NFS default dan karena kami membuat file menggunakan root dari mesin klien, kepemilikan host dipindahkan ke nobody:nogroup . Di sini, pengguna klien tidak dapat melakukan pekerjaan administratif pada mesin host.

Buat file uji ke /nfs/home` share.

$ sudo touch /nfs/home/home.test

Periksa kepemilikannya.

$ ls -l /nfs/home/home.test
-rw-r--r-- 1 root root 0 Aug  1 13:32 /nfs/home/home.test

Di sini karena kami membuat file uji menggunakan root dari mesin klien, kepemilikan dipertahankan pada mesin host. Ini karena kami menggunakan no_root_squash flag yang mengizinkan pengguna root pada mesin klien sebagai pengguna root pada mesin host juga.

Langkah 7 - Pasang Berbagi NFS selama Boot

Mount ini tidak akan disimpan setelah Anda mem-boot mesin klien. Untuk membuatnya permanen, kita perlu mengedit /etc/fstab berkas.

Buka /etc/fstab file untuk diedit.

$ sudo nano /etc/fstab

Rekatkan baris berikut di bagian bawah file. Setiap baris sesuai dengan setiap direktori yang ingin kita mount saat boot.

. . .
host_ip:/var/nfs/general    /nfs/general   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
host_ip:/home               /nfs/home      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Untuk mempelajari tentang opsi ini, periksa halaman manual nfs .

$ man nfs

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Reboot server untuk memeriksa mount.

$ sudo reboot

Masuk ke server klien dan verifikasi bahwa mount ada.

$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            448M     0  448M   0% /dev
tmpfs                            99M  664K   98M   1% /run
/dev/vda1                        25G  3.2G   21G  14% /
tmpfs                           491M     0  491M   0% /dev/shm
tmpfs                           5.0M     0  5.0M   0% /run/lock
tmpfs                           491M     0  491M   0% /sys/fs/cgroup
tmpfs                            99M     0   99M   0% /run/user/1000
123.175.112.87:/var/nfs/general  25G   18G  6.3G  74% /nfs/general
123.175.112.87:/home             25G   18G  6.3G  74% /nfs/home

Langkah 8 - Lepas NFS Shares

Setelah Anda tidak memerlukan pemasangan NFS, Anda dapat melepasnya dengan menggunakan perintah berikut.

$ sudo umount /nfs/home
$ sudo umount /nfs/general

Kesalahan umum adalah menggunakan unmount bukannya umount yang merupakan perintah sebenarnya.

Verifikasi bahwa mereka telah dilepas dengan benar.

$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            448M     0  448M   0% /dev
tmpfs                            99M  664K   98M   1% /run
/dev/vda1                        25G  3.2G   21G  14% /
tmpfs                           491M     0  491M   0% /dev/shm
tmpfs                           5.0M     0  5.0M   0% /run/lock
tmpfs                           491M     0  491M   0% /sys/fs/cgroup
tmpfs                            99M     0   99M   0% /run/user/1000

Anda juga perlu menghapus entri mereka dari /etc/fstab file sehingga mereka tidak di-remount saat boot. Anda juga dapat menghapus komentar entri mereka dengan menempatkan # karakter di depan jika Anda perlu menggunakan kembali tunggangan.

Kesimpulan

Ini mengakhiri tutorial kami di mana kami belajar cara membuat mount NFS pada mesin host dan cara mengaksesnya dari mesin klien yang berbeda. Jika Anda memiliki pertanyaan, tulis di komentar di bawah.


Ubuntu
  1. Cara Menginstal Server dan Klien NTP di Ubuntu 18.04 LTS

  2. Instal UrBackup Server dan Klien di Ubuntu 20.04 - Bagaimana cara melakukannya?

  3. Cara Mengatur Server dan Klien NFS di Ubuntu 20.04

  1. Cara menginstal Chef Server, Workstation dan Chef Client di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Server NFS di Ubuntu 20.04

  3. Instal server dan klien vnc di Ubuntu

  1. Cara Menginstal dan Mengkonfigurasi VNC di Ubuntu 20.04

  2. Cara Menginstal dan Mengkonfigurasi VNC di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Server NFS di Ubuntu 18.04