04
NFS, atau Network File System, adalah protokol sistem file terdistribusi yang memungkinkan
Anda memasang direktori jarak jauh di server Anda. Ini memungkinkan Anda mengelola ruang
penyimpanan di lokasi berbeda dan menulis ke ruang itu dari banyak klien. NFS menyediakan
cara yang relatif cepat dan mudah untuk mengakses sistem jarak jauh melalui jaringan dan
bekerja dengan baik dalam situasi di mana sumber daya bersama akan diakses secara teratur.
Dalam panduan ini, kami akan membahas cara mengonfigurasi pemasangan NFS.
Kita akan menggunakan dua server dalam tutorial ini: yang satu akan berbagi bagian dari sistem
berkasnya dengan yang lain. Untuk mengikutinya, Anda membutuhkan:
Dua server Ubuntu 16.04, masing-masing dengan pengguna non-root dengan hak sudo dan
jaringan pribadi diaktifkan.
Untuk bantuan mengatur pengguna dengan hak istimewa ini, ikuti Pengaturan Server Awal kami
dengan panduan Ubuntu 16.04.
Untuk bantuan mengatur jaringan pribadi, lihat Cara Mengatur dan Menggunakan Jaringan
Pribadi DigitalOcean.
Sepanjang tutorial, kami merujuk ke server yang membagikan direktorinya sebagai host dan
server yang memasang direktori ini sebagai klien. Untuk menjaganya tetap lurus, kami akan
menggunakan alamat IP berikut sebagai stand-in untuk nilai host dan klien:
Host: 203.0.113.0
Klien: 203.0.113.256
Anda harus mengganti nilai ini dengan host dan alamat ip klien Anda sendiri.
Kami akan mulai dengan memasang komponen yang diperlukan di setiap server.
Di Host
Pada server host, kita akan menginstal paket nfs-kernel-server, yang memungkinkan kita untuk
berbagi direktori kita.
Karena ini adalah operasi pertama yang kami lakukan dengan apt di sesi ini, kami akan
menyegarkan indeks paket lokal kami sebelum instalasi:
sudo apt-get update
Pada Klien
Di server klien, kita perlu menginstal paket bernama nfs-common, yang menyediakan
fungsionalitas NFS tanpa menyertakan komponen server yang tidak diperlukan. Sekali lagi, kami
akan menyegarkan indeks paket lokal sebelum penginstalan untuk memastikan bahwa kami
memiliki informasi terbaru:
sudo apt-get update
Pengguna super dapat melakukan apa saja di mana saja di sistem mereka. Namun, direktori
yang dipasang NFS bukan bagian dari sistem tempat mereka dipasang, jadi secara default,
server NFS menolak untuk melakukan operasi yang memerlukan hak superuser. Pembatasan
default ini berarti bahwa pengguna super pada klien tidak dapat menulis file sebagai root,
menetapkan kembali kepemilikan, atau melakukan tugas pengguna super lainnya pada
pemasangan NFS. Namun, terkadang, ada pengguna tepercaya di sistem klien yang perlu
melakukan hal-hal ini pada sistem file yang dipasang tetapi tidak memerlukan akses superuser
di host. Server NFS dapat dikonfigurasi untuk mengizinkan hal ini, meskipun ia memperkenalkan
elemen risiko, karena pengguna tersebut dapat memperoleh akses root ke seluruh sistem host.
Karena kami membuatnya dengan sudo, direktori tersebut dimiliki oleh root di sini di host.
ls -la /var/nfs/general
4 drwxr-xr-x 2 root root 4096 Jul 25 15:26 .
NFS akan menerjemahkan setiap operasi root pada klien ke siapa pun: kredensial nogroup
sebagai ukuran keamanan. Oleh karena itu, kami perlu mengubah kepemilikan direktori agar
sesuai dengan kredensial tersebut.
File tersebut memiliki komentar yang menunjukkan struktur umum setiap baris konfigurasi.
/etc/exports
exportfs -a
root@NFSCCTV:/home/noc# exportfs -u
/mnt/cctv1 172.16.17.2
/mnt/cctv2 172.16.17.44
/mnt/cctv3 172.16.17.45
/mnt/cctv4 172.16.17.46
/mnt/cctv5 172.16.17.47
/mnt/cctv6 172.16.17.48
directory_to_share client(share_option1,...,share_optionN)
Kita perlu membuat baris untuk setiap direktori yang ingin kita bagikan. Karena klien contoh
kami memiliki IP 203.0.113.256, baris kami akan terlihat seperti berikut. Pastikan untuk
mengubah IP agar sesuai dengan klien Anda:
/etc/exports
/var/nfs/general 203.0.113.256(rw,sync,no_subtree_check)
/home 203.0.113.256(rw,sync,no_root_squash,no_subtree_check)
Kami menggunakan opsi konfigurasi yang sama untuk kedua direktori dengan pengecualian
no_root_squash. Mari kita lihat apa artinya masing-masing.
Rw: Opsi ini memberi komputer klien akses baca dan tulis ke volume.
Sync: Opsi ini memaksa NFS untuk menulis perubahan ke disk sebelum membalas. ni
menghasilkan lingkungan yang lebih stabil dan konsisten karena balasan tersebut
mencerminkan keadaan volume jarak jauh yang sebenarnya. Namun, ini juga mengurangi
kecepatan operasi file.
No_subtree_check: Opsi ini mencegah pemeriksaan subpohon, yang merupakan proses di mana
host harus memeriksa apakah file sebenarnya masih tersedia di pohon yang diekspor untuk
setiap permintaan. Ini dapat menyebabkan banyak masalah saat file diganti namanya saat klien
membukanya. Di hampir semua kasus, lebih baik menonaktifkan pemeriksaan subpohon.
No_root_squash: Secara default, NFS menerjemahkan permintaan dari pengguna root dari jarak
jauh menjadi pengguna yang tidak memiliki hak istimewa di server. Ini dimaksudkan sebagai
fitur keamanan untuk mencegah akun root pada klien menggunakan sistem file host sebagai
root. No_root_squash menonaktifkan perilaku ini untuk bagian tertentu.
Setelah Anda selesai membuat perubahan, simpan dan tutup file. Kemudian, untuk membuat
saham tersedia untuk klien yang Anda konfigurasikan, mulai ulang server NFS dengan perintah
berikut ini:
Namun, sebelum Anda benar-benar dapat menggunakan share baru, Anda harus memastikan
bahwa lalu lintas ke share tersebut diizinkan oleh aturan firewall
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Di sistem kami, hanya lalu lintas SSH yang diizinkan, jadi kami perlu menambahkan aturan untuk
lalu lintas NFS. Dengan banyak aplikasi, Anda dapat menggunakan sudo ufw app list
Karena ufw juga memeriksa / etc / services untuk mengetahui port dan protokol dari suatu
layanan, kita masih dapat menambahkan NFS berdasarkan nama.dan mengaktifkannya dengan
nama, tetapi nfs bukan salah satunya. Praktik terbaik merekomendasikan agar Anda
mengaktifkan aturan paling ketat yang akan tetap mengizinkan lalu lintas yang ingin Anda
izinkan, jadi daripada mengaktifkan lalu lintas dari mana saja, kami akan lebih spesifik. Gunakan
perintah berikut untuk membuka port 2049 di host, pastikan untuk mengganti alamat ip klien
Anda:
https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-
16-04