Apakah Anda mencari aplikasi yang memungkinkan Anda berbagi file dan direktori melalui jaringan? Untuk beberapa klien? Anda mungkin membutuhkan NFS (Sistem File Jaringan)! Server NFS Ubuntu memungkinkan Anda membuat direktori bersama untuk berbagai klien dengan kontrol akses tambahan.
Bukan pembaca? Tonton tutorial video terkait ini! Tidak melihat videonya? Pastikan pemblokir iklan Anda dinonaktifkan.Dalam tutorial ini, Anda akan mempelajari cara menyiapkan server NFS dan berbagi file dengan aman di antara beberapa mesin.
Siap? Baca terus dan mulai berbagi file Anda dengan aman!
Prasyarat
Tutorial ini akan menjadi demonstrasi langsung. Untuk mengikuti, pastikan Anda memiliki persyaratan berikut:
- Server dan klien Linux di jaringan yang sama – Demo ini menggunakan server Ubuntu 20.04 dengan nama host sebagai
nfs-server
dan klien Ubuntu 20.04 dengan nama host sebagaiclient
. Namun, Anda dapat menggunakan distribusi Linux lain, seperti Debian, CentOS, atau Fedora.
- Pengguna non-root dengan hak istimewa sudo.
Menginstal Server NFS Ubuntu
NFS memungkinkan akses file yang aman pada sistem jarak jauh untuk pengguna seperti mereka hanya file yang disimpan secara lokal. Tetapi sebelum berbagi file dan direktori, Anda harus menginstal server NFS Ubuntu terlebih dahulu. Di Ubuntu, Anda akan menginstal nfs-kernel-server
paket di nfs-server
mesin.
Beberapa perintah di sepanjang tutorial tidak memiliki output. Namun hasil dari akumulasi langkah yang Anda ambil akan ditampilkan pada langkah terakhir setiap bagian.
1. Masuk ke server Linux Anda, dan jalankan sudo su
perintah di bawah ini untuk mendapatkan hak akses root.
sudo su
2. Jalankan perintah di bawah ini ke update
indeks paket untuk repositori Anda dan instal paket server Ubuntu NFS (nfs-kernel-server
).
sudo apt update
sudo apt install nfs-kernel-server -y
3. Terakhir, jalankan systemctl
perintah di bawah ini untuk memulai dan mengaktifkan layanan NFS nfs-kernel-server
, lalu verifikasi nfs-kernel-server
status layanan aktif.
# start and enable NFS service
sudo systemctl enable --now nfs-kernel-server.service
# verify status NFS service
sudo systemctl status nfs-kernel-server.service
Seperti yang Anda lihat di bawah, aktif (keluar) status menunjukkan layanan NFS sedang berjalan. keluar pesan memberi tahu Anda bahwa manajer systemd tidak dapat menemukan daemon apa pun untuk dipantau.
Menyiapkan Direktori Bersama NFS
Setelah menginstal paket server NFS, Anda sekarang akan mengatur direktori bersama NFS dengan membuat direktori baru. Anda akan membagikan direktori ini dengan klien dan menambahkan konfigurasi baru ke /etc/exports berkas.
1. Jalankan perintah di bawah ini untuk membuat direktori bersama NFS baru. Dalam contoh ini, Anda akan membagikan /srv/data
direktori dan /srv/test
kepada klien.
sudo mkdir -p /srv/{data,test}
2. Selanjutnya, jalankan chown
perintah di bawah ini untuk mengubah kepemilikan direktori bersama NFS /srv/data
dan /srv/test
kepada pengguna nobody
dan grup nogroup
. Perintah ini memastikan direktori bersama NFS dapat ditulis oleh klien. sudo chown -R nobody:nogroup /srv/{data,test}
Perintah ini memastikan direktori bersama NFS dapat ditulis oleh klien.
sudo chown -R nobody:nogroup /srv/{data,test}
3. Edit konfigurasi NFS /etc/exports
menggunakan editor pilihan Anda dan isi file dengan konfigurasi berikut.
Konfigurasi di bawah ini memungkinkan mesin klien mengakses direktori bersama NFS dengan akses pengguna tertentu baik baca maupun tulis (rw
) atau hanya-baca (ro
). Pastikan untuk mengubah alamat IP (172.16.1.25
dan 172.16.1.0/24
) dengan alamat IP mesin klien.
# sync - forces NFS to write change from the shared directory to disk immediately.
# no_subtree_check - disabling the subtree checking to get more performance.
# rw - set read/write access to NFS shared directory for clients.
# share /srv/data to client 172.16.1.25 with read and write access.
/srv/data 172.16.1.25(rw,sync,no_subtree_check,root_squash)
# r0 - set read-only access to NFS shared directory for clients.
# share /srv/test to network 172.16.1.0/24 with read only access.
/srv/test 172.16.1.0/24(ro,sync,no_subtree_check)
4. Jalankan perintah di bawah ini untuk menerapkan direktori bersama, dan verifikasi /etc/exports
berkas konfigurasi. Jika Anda tidak mendapatkan pesan keluaran, konfigurasi NFS sudah benar.
sudo exportfs -a
5. Sekarang, jalankan systemctl
perintah di bawah ini untuk memulai ulang nfs-kernel-server
melayani.
sudo systemctl restart nfs-kernel-server
6. Terakhir, jalankan showmount
perintah di bawah ini untuk membuat daftar direktori bersama di server NFS Ubuntu. Pastikan untuk mengubah alamat IP (172.16.1.20
) dengan alamat IP server NFS.
showmount --exports 172.16.1.20
Sekarang Anda akan melihat daftar direktori bersama di server NFS dengan alamat IP yang memungkinkan Anda mengakses server NFS Ubuntu.
Mengamankan Direktori Bersama NFS dengan UFW Firewall
Anda telah mengonfigurasi direktori bersama NFS, tetapi biasanya, Anda ingin mencegah pengguna acak mengakses direktori bersama.
Pastikan bahwa hanya alamat IP yang diizinkan yang dapat mengakses direktori bersama. Bagaimana? Dengan menyiapkan firewall UFW dan menentukan alamat IP ke port NFS.
1. Jalankan perintah berikut untuk membuka port NFS (2049
) dan izinkan klien menggunakan alamat IP 172.16.1.25
dan 172.16.1.0/24
akses ke server NFS Ubuntu. Pastikan untuk mengganti alamat IP dengan alamat IP klien Anda.
# allow client IP 172.16.1.25 to access NFS server
sudo ufw allow from 172.16.1.25 to any port nfs
# allow network 172.16.1.0/24 to access NFS server
sudo ufw allow from 172.16.1.0/24 to any port nfs
2. Selanjutnya, jalankan ufw
perintah di bawah ini untuk memuat ulang firewall UFW dan menerapkan konfigurasi baru.
sudo ufw reload
3. Terakhir, jalankan ufw
perintah di bawah ini untuk memverifikasi status firewall UFW.
sudo ufw status
Di bawah, Anda dapat melihat port server NFS 2049 ditambahkan ke firewall dan hanya dapat diakses dari alamat IP klien 172.16.1.25 dan jaringan 172.16.1.0/24.
Memasang Direktori Bersama NFS di Mesin Klien
Pada titik ini, Anda telah sepenuhnya mengonfigurasi server NFS Ubuntu. Tetapi bagaimana mesin klien dapat mengakses direktori bersama NFS? Menjalankan mount
perintah untuk mengakses direktori bersama NFS akan berhasil. Tapi pertama-tama, Anda akan menginstal nfs-common
(untuk distribusi Debian Linux) atau nfs-utils
(untuk RHEL, distribusi CentOS) ke mesin klien.
1. Masuk ke mesin klien Anda, buka terminal, dan jalankan sudo su
perintah untuk mendapatkan hak akses root.
sudo su
2. Selanjutnya, jalankan salah satu perintah di bawah ini untuk menginstal paket NFS pada mesin klien, tergantung pada OS Anda.
# for Ubuntu/Debian based distribution
sudo apt install nfs-common -y
# for RHEL/CentOS/Fedora Linux distribution
sudo dnf install nfs-utils -y
3. Jalankan perintah di bawah ini untuk membuat direktori mount target. Direktori bersama NFS akan dipasang pada mesin klien /data
dan /test
direktori dalam contoh ini.
mkdir -p /{data,test}
4. Jalankan setiap mount
perintah di bawah ini untuk mengakses direktori bersama NFS.
-t nfs
opsi menentukan jenis sistem file adalah server NFS. Perintah ini memasang /srv/data
direktori bersama di server NFS Ubuntu ke direktori klien lokal (/data
). Dan /srv/test
direktori bersama ke direktori lokal klik /test
.
# mount shared directory `/srv/data on the nfs server 172.16.1.20
# to the local client directory /data
sudo mount -t nfs 172.16.1.20:/srv/data /data
# mount shared directory `/srv/test on the nfs server 172.16.1.20
# to the local client directory /test
sudo mount -t nfs 172.16.1.20:/srv/test /test
5. Jalankan df
perintah di bawah ini untuk memverifikasi daftar sistem file yang dipasang pada mesin klien.
sudo df -h
Pada output di bawah, Anda akan melihat direktori bersama NFS /srv/data dipasang pada direktori /data pada mesin klien. Pada saat yang sama, direktori bersama (/srv/test) dipasang ke direktori lokal (/test) di mesin klien.
6. Selanjutnya, jalankan perintah di bawah ini untuk menavigasi ke direktori pemasangan target (/data
) dan buat file bernama file.txt
.
Sejak direktori bersama (
/srv/data
) memiliki izin baca dan tulis, Anda dapat membuat file baru.
# navigate to /data directory
cd /data
# create a new file with "This file from client machine!" as content
echo "This file from client machine!" > file.txt
7. Jalankan ls
dan cat
perintah di bawah ini untuk memverifikasi bahwa file tersedia di direktori pemasangan /data
.
# list files on the current directory
ls -lah
# showing the content of the file.txt
cat file.txt
8. Terakhir, jalankan setiap perintah di bawah ini untuk menavigasi ke direktori pemasangan (/test)
dan buat file bernama file.txt
. Perintah ini memungkinkan Anda menguji pembatasan akses tulis pada sistem file hanya-baca.
# navigate to /test directory
cd /test
# create new file
echo "Test create a file on Read-only filesystem" > file.txt
Seperti output di bawah ini, Anda akan mendapatkan pesan error karena direktori bersama (/srv/test) hanya memiliki izin hanya baca.
Memasang Direktori Bersama NFS Secara Permanen
Sekarang Anda telah berhasil memasang direktori bersama NFS di mesin klien, tetapi direktori itu akan hilang setelah Anda me-restart sistem. Bagaimana cara memasang direktori bersama NFS secara permanen? Dengan menentukan direktori bersama NFS di /etc/fstab berkas.
1. Edit /etc/fstab file konfigurasi menggunakan editor pilihan Anda dan tambahkan konfigurasi berikut. Ubah alamat IP dengan alamat IP server NFS, direktori bersama, dan direktori target pemasangan.
# rw/ro - allow read and write or read-only to the target mount.
# hard - enable client machine to always try to connect to the NFS whenever fail.
# noexec - disable binary file execution on the file system.
# rsize - maximum READ requests that client machine can handle.
# wzise - maximum WRITE requests that client machine can handle.
# timeo - timeout for NFS client before retries requests to the NFS server.
# NFS Shared Directory - target - type - options - dump - pass
172.16.1.20:/srv/data /data nfs rw,hard,noexec,rsize=8192,wsize=8192,timeo=14 0 0
172.16.1.20:/srv/test /test nfs ro,hard,noexec,rsize=8192,wsize=8192,timeo=14 0 0
2. Selanjutnya, jalankan mount
perintah di bawah ini untuk memasang semua sistem file pada /etc/fstab
file dan verifikasi /etc/fstab
konfigurasi. Jika tidak ada pesan error, maka konfigurasi sudah benar.
sudo mount -a
3. Jalankan df
perintah di bawah ini untuk memverifikasi sistem file yang terpasang pada mesin klien.
sudo df -h
Mirip dengan output di bawah ini, Anda akan melihat direktori bersama NFS dipasang secara otomatis pada mesin klien Anda.
4. Terakhir, jalankan reboot
perintah untuk me-restart mesin klien. Setelah reboot, login dan jalankan kembali df
perintah seperti yang Anda lakukan pada langkah ketiga untuk memverifikasi direktori bersama NFS.
sudo df -h
Seperti yang Anda lihat di bawah, direktori bersama NFS masih terpasang secara permanen pada mesin klien.
Kesimpulan
Sepanjang tutorial ini, Anda telah belajar cara mengatur server NFS di server Linux untuk berbagi direktori dengan aman. Anda juga telah menyentuh pemasangan direktori bersama NFS secara permanen, sehingga Anda tidak perlu memasang direktori bersama secara manual setiap kali Anda me-reboot mesin Anda.
Pada titik ini, Anda memiliki server NFS yang berfungsi penuh. Jadi apa selanjutnya? Mungkin belajar menambahkan lapisan keamanan untuk NFS menggunakan otentikasi Kerberos?