Android

Cara menginstal dan mengkonfigurasi server nfs pada centos 8

Install and Configure OpenLDAP server on CentOS7

Install and Configure OpenLDAP server on CentOS7

Daftar Isi:

Anonim

Network File System (NFS) adalah protokol sistem file terdistribusi yang memungkinkan Anda untuk berbagi direktori jarak jauh melalui jaringan. Dengan NFS, Anda dapat memasang direktori jarak jauh di sistem Anda dan bekerja dengan file di mesin jarak jauh seolah-olah itu adalah file lokal.

Protokol NFS tidak dienkripsi secara default, dan tidak seperti Samba, protokol ini tidak menyediakan otentikasi pengguna. Akses ke server dibatasi oleh alamat IP atau nama host klien.

Dalam tutorial ini, Anda akan melalui langkah-langkah yang diperlukan untuk menyiapkan Server NFSv4 di CentOS 8. Kami juga akan menunjukkan kepada Anda cara memasang sistem file NFS pada klien.

Prasyarat

Kami berasumsi bahwa Anda memiliki server yang menjalankan CentOS 8 di mana kami akan menyiapkan server NFS dan mesin lain yang akan bertindak sebagai klien NFS. Server dan klien harus dapat berkomunikasi satu sama lain melalui jaringan pribadi. Jika penyedia hosting Anda tidak menawarkan alamat IP pribadi, Anda dapat menggunakan alamat IP publik dan mengkonfigurasi firewall server untuk mengizinkan lalu lintas di port 2049 hanya dari sumber tepercaya.

Mesin dalam contoh ini memiliki IP berikut:

NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range

Mengatur Server NFS

Bagian ini menjelaskan cara menginstal paket yang diperlukan, membuat dan mengekspor direktori NFS, dan mengkonfigurasi firewall.

Menginstal server NFS

Paket "nfs-utils" menyediakan utilitas dan daemon NFS untuk server NFS. Untuk menginstalnya jalankan perintah berikut:

sudo dnf install nfs-utils

Setelah instalasi selesai, aktifkan dan mulai layanan NFS dengan mengetik:

sudo systemctl enable --now nfs-server

Secara default, pada CentOS 8 NFS versi 3 dan 4.x diaktifkan, versi 2 dinonaktifkan. NFSv2 sudah cukup tua sekarang, dan tidak ada alasan untuk mengaktifkannya. Untuk memverifikasinya jalankan perintah cat berikut:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Opsi konfigurasi server NFS diatur dalam file /etc/nfs.conf dan /etc/nfs.conf . Pengaturan default sudah cukup untuk tutorial kami.

Menciptakan sistem file

Ketika mengkonfigurasi server NFSv4, itu adalah praktik yang baik adalah dengan menggunakan direktori root NFS global dan mengikat mount direktori aktual ke titik mount berbagi. Dalam contoh ini, kita akan menggunakan direktur /srv/nfs4 sebagai root NFS.

Untuk lebih menjelaskan bagaimana NFS mount dapat dikonfigurasi, kita akan membagikan dua direktori ( /var/www dan /opt/backups ) dengan pengaturan konfigurasi yang berbeda.

/var/www/ dimiliki oleh apache pengguna dan grup dan /opt/backups dimiliki oleh root .

Buat sistem file ekspor menggunakan perintah mkdir :

sudo mkdir -p /srv/nfs4/{backups, www}

Pasang direktori yang sebenarnya:

sudo mount --bind /opt/backups /srv/nfs4/backups sudo mount --bind /var/www /srv/nfs4/www

Untuk membuat bind mounts permanen, tambahkan entri berikut ke file /etc/fstab :

sudo nano /etc/fstab / etc / fstab

/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0

Mengekspor sistem file

Langkah selanjutnya adalah menentukan sistem file yang akan diekspor oleh server NFS, opsi saham dan klien yang diizinkan untuk mengakses sistem file tersebut. Untuk melakukannya, buka file /etc/exports :

sudo nano /etc/exports

Ekspor direktori www dan backups dan izinkan akses hanya dari klien di jaringan 192.168.33.0/24 :

/ etc / ekspor

/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)

Baris pertama berisi fsid=0 yang mendefinisikan direktori root NFS /srv/nfs . Akses pada volume NFS ini hanya diizinkan untuk klien dari subnet 192.168.33.0/24 . Opsi crossmnt diperlukan untuk berbagi direktori yang merupakan sub-direktori dari direktori yang diekspor.

Baris kedua menunjukkan bagaimana menentukan beberapa aturan ekspor untuk satu sistem file. Ia mengekspor direktori /srv/nfs4/backups dan hanya mengizinkan akses baca ke seluruh rentang 192.168.33.0/24 , dan keduanya membaca dan menulis akses ke 192.168.33.3 . Opsi sync memberitahu NFS untuk menulis perubahan ke disk sebelum menjawab.

Baris terakhir harus jelas. Untuk informasi lebih lanjut tentang semua opsi yang tersedia, ketik man exports di terminal Anda.

Simpan file dan ekspor share:

sudo exportfs -ra

Anda perlu menjalankan perintah di atas setiap kali Anda memodifikasi file /etc/exports . Jika ada kesalahan atau peringatan, mereka akan ditampilkan di terminal.

Untuk melihat ekspor aktif saat ini dan kondisinya, gunakan:

sudo exportfs -v

Output akan mencakup semua saham dengan opsi mereka. Seperti yang Anda lihat, ada juga opsi yang belum kami definisikan di file /etc/exports . Itu adalah opsi default, dan jika Anda ingin mengubahnya, Anda harus mengatur opsi itu secara eksplisit.

/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)

root_squash adalah salah satu opsi paling penting tentang keamanan NFS. Ini mencegah pengguna root yang terhubung dari klien untuk memiliki hak akses root pada saham yang dipasang. Ini akan memetakan root UID dan GID kepada nobody / nogroup UID / GID .

Agar pengguna di mesin klien memiliki akses, NFS mengharapkan pengguna dan ID grup klien agar cocok dengan yang ada di server. Pilihan lain adalah menggunakan fitur idmapping NFSv4 yang menerjemahkan ID pengguna dan grup ke nama dan sebaliknya.

Itu dia. Pada titik ini, Anda telah menyiapkan server NFS di server CentOS Anda. Anda sekarang dapat pindah ke langkah berikutnya dan mengkonfigurasi klien dan terhubung ke server NFS.

Konfigurasi firewall

FirewallD adalah solusi firewall default di Centos 8.

Layanan NFS mencakup aturan yang telah ditentukan untuk mengizinkan akses ke server NFS.

Perintah berikut secara permanen akan memungkinkan akses dari subnet 192.168.33.0/24 :

sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent sudo firewall-cmd --reload sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent sudo firewall-cmd --reload

Mengatur Klien NFS

Sekarang setelah server NFS diatur dan saham diekspor, langkah selanjutnya mengonfigurasi klien dan memasang sistem file jarak jauh.

Anda juga dapat memasang share NFS di macOS dan mesin Windows, tetapi kami akan fokus pada sistem Linux.

Menginstal klien NFS

Pada mesin klien, instal alat yang diperlukan untuk me-mount sistem file NFS jarak jauh.

  • Instal klien NFS di Debian dan Ubuntu

    Nama paket yang menyertakan program untuk memasang sistem file NFS pada distribusi berbasis Debian adalah nfs-common . Untuk menginstalnya jalankan:

    sudo apt update sudo apt install nfs-common

    Instal klien NFS di CentOS dan Fedora

    Di Red Hat dan turunannya instal paket nfs-utils :

    sudo yum install nfs-utils

Memasang sistem file

Kami akan bekerja pada mesin klien dengan IP 192.168.33.110 , yang memiliki akses baca dan tulis ke sistem file /srv/nfs4/www dan akses read-only ke sistem file /srv/nfs4/backups .

Buat dua direktori baru untuk mount point. Anda dapat membuat direktori ini di lokasi mana pun yang Anda inginkan.

sudo mkdir -p /backups sudo mkdir -p /srv/www

Pasang sistem file yang diekspor dengan perintah mount :

sudo mount -t nfs -o vers=4 192.168.33.148:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

Di mana 192.168.33.148 adalah IP dari server NFS. Anda juga dapat menggunakan nama host alih-alih alamat IP, tetapi perlu dipecahkan oleh mesin klien. Ini biasanya dilakukan dengan memetakan hostname ke IP di file /etc/hosts .

Saat memasang sistem file NFSv4, Anda perlu menghilangkan direktori root NFS, jadi alih-alih /srv/nfs4/backups Anda harus menggunakan /backups .

Verifikasi bahwa sistem file jarak jauh berhasil dipasang menggunakan perintah mount atau df :

df -h

Perintah akan mencetak semua sistem file yang dipasang. Dua baris terakhir adalah share yang dipasang:

… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/www 9.7G 1.2G 8.5G 13% /srv/www

Untuk membuat mounts permanen pada reboot, buka file /etc/fstab :

sudo nano /etc/fstab

dan tambahkan baris berikut:

/ etc / fstab

192.168.33.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0

Untuk menemukan informasi lebih lanjut tentang opsi yang tersedia saat memasang sistem file NFS, ketikkan man nfs di terminal Anda.

Pilihan lain untuk memasang sistem file jarak jauh adalah menggunakan alat autofs atau membuat unit systemd.

Menguji Akses NFS

Mari kita uji akses ke share dengan membuat file baru di masing-masing.

Pertama, coba buat file uji ke direktori /backups menggunakan perintah touch :

sudo touch /backups/test.txt

Sistem file /backup diekspor sebagai hanya-baca, dan seperti yang diharapkan Anda akan melihat pesan kesalahan Permission denied :

touch: cannot touch '/backups/test': Permission denied

Selanjutnya, coba buat file uji ke direktori /srv/www sebagai root menggunakan perintah sudo :

sudo touch /srv/www/test.txt

Sekali lagi, Anda akan melihat pesan Permission denied .

touch: cannot touch '/srv/www': Permission denied

Direktori /var/www dimiliki oleh pengguna apache , dan bagian ini memiliki set opsi root_squash , yang memetakan pengguna root ke grup nobody dan grup nogroup yang tidak memiliki izin menulis ke share jarak jauh.

Dengan asumsi bahwa apache pengguna ada pada mesin klien dengan UID dan GID sama seperti pada server jarak jauh (yang seharusnya terjadi jika, misalnya, Anda menginstal apache pada kedua mesin), Anda dapat menguji untuk membuat file sebagai apache pengguna dengan:

sudo -u apache touch /srv/www/test.txt

Perintah tidak akan menampilkan keluaran, yang berarti file berhasil dibuat.

Untuk memverifikasi daftar file-file di direktori /srv/www :

ls -la /srv/www

Output akan menampilkan file yang baru dibuat:

drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 0 Jun 23 22:18 test.txt

Lepas Sistem File NFS

sudo umount /backups

Jika titik mount didefinisikan dalam file /etc/fstab , pastikan Anda menghapus baris atau berkomentar dengan menambahkan # di awal baris.

Kesimpulan

Dalam tutorial ini, kami telah menunjukkan kepada Anda cara mengatur server NFS dan cara memasang sistem file jarak jauh pada mesin klien. Jika Anda menerapkan NFS dalam produksi dan berbagi data yang masuk akal, merupakan ide bagus untuk mengaktifkan otentikasi kerberos.

Sebagai alternatif NFS, Anda dapat menggunakan SSHFS untuk memasang direktori jarak jauh melalui koneksi SSH. SSHFS dienkripsi secara default dan jauh lebih mudah untuk dikonfigurasi dan digunakan.

Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.

centos nfs mount terminal