A. Pengertian NFS
NFS (Network File System) adalah sebuah protokol berbagi pakai berkas melalui jaringan. NFS ini meng-share file ataupun resource melalui network atau jaringan tanpa peduli sistem operasi yang digunakan apa. NFS merupakan sebuah sistem berkas terdistribusi yang dikembangkan oleh Sun Microsystems Inc. pada awal dekade 1980-an yang menjadi standar de facto dalam urusan sistem berkas terdistribusi. NFS didesain sedemikian rupa untuk mengizinkan pengeksporan sistem berkas terhadap jaringan yang heterogen (yang terdiri dari sistem-sistem operasi yang berbeda dan platform yang juga berbeda). Teknologi NFS ini dilisensikan kepada lebih dari 200 vendor komputer dan jaringan, dan telah dibuat implementasinya pada banyak platform dan sistem operasi, termasuk di antaranya adalah UNIX, GNU/Linux, Microsoft Windows, dan lingkungan mainframe.
NFS dapat mengizinkan klien-klien untuk menemukan dan mengakses berkas yang disimpan di dalam server jaringan jarak jauh. Memang, desain awal spesifikasi NFS dikhususkan untuk penggunaan dalam jaringan lokal (LAN) dan tidak dioptimalkan untuk penggunaan dalam WAN. Tapi, versi NFS 3 yang digunakan saat ini dapat digunakan dalam jaringan WAN, sebaik ketika ia bekerja di dalam LAN. Fitur-fitur yang dimiliki oleh NFS versi 3 adalah sebagai berikut:
- Mendukung ukuran berkas hingga satuan Terabyte, dengan menggunakan indikator ukuran berkas hingga 64-bit (pada versi sebelumnya, hanya mengimplementasikan indikator ukuran berkas hingga 32-bit saja, sehingga total ukuran berkas maksimum adalah 4 gigabyte).
- Ukuran maksimum paket data yang didukung adalah 64 Kilobyte (pada versi sebelumnya, hanya mencapai 8 KB untuk tiap paketnya, sehingga lebih lama dalam melakukan transfer data dari satu host ke host lainnya yang menjalankan NFS).
- Dapat memilih apakah hendak menggunakan protokol lapisan transport UDP atau TCP (pada versi sebelumnya, NFS hanya menggunakan protokol lapisan transport UDP sehingga kurang bagus diimplementasikan dalam jaringan WAN).
- Server dapat melakukan penge-cache-an terhadap request yang dilakukan oleh klien.
B. Implementasi Standar NFS
NFS diimplementasikan sebagai sebuah sistem client/server yang menggunakan perangkat lunak NFS server dan NFS client yang berjalan di atas workstation. NFS Server akan menggunakan protokol NFS untuk mengekspor sistem berkas yang dimilikinya kepada klien NFS agar dapat dibaca ole klien, seolah-olah sistem berkas remote tersebut merupakan sistem berkas yang dimiliki oleh klien secara lokal. Sedangkan NFS Client Menyiapkan direktori yang dipakai untuk menampung sharing direktori dari server, kemudian melakukan konfigurasi pengambilan file lewat sharing dengan tempat penampungan telah disiapkanImplementasi standar NFS biasanya seperti item-item berikut ini:
1. Server akan mengimplementasikan daemon NFS (dijalankan sebagai nfsd secara default).NFS ini akan berjalan dan memungkinkan data yang di-share tersedia dan bisa diakses oleh client
2. Administrator server berhak menentukan bagian-bagianyang di-share. Semuanya akan diletakkan di file/etc/export command exportfs.
3. Administrator security di server memungkinkan hanya client yang valid yang dapat mengakses file NFS yang di-share.
4. Konfigurasi jaringan memastikan bahwa client bisa mengakses melalui sistem firewall.. Request dari client harus ada untuk mengekspor data, biasanya menggunakan command mount.
6. Jika semua berjalan lancar, user dari client bisa melihat dan berinteraksi dengan file di jaringan seolah-olah berinteraksi di komputer sendiri.
1. Server akan mengimplementasikan daemon NFS (dijalankan sebagai nfsd secara default).NFS ini akan berjalan dan memungkinkan data yang di-share tersedia dan bisa diakses oleh client
2. Administrator server berhak menentukan bagian-bagianyang di-share. Semuanya akan diletakkan di file/etc/export command exportfs.
3. Administrator security di server memungkinkan hanya client yang valid yang dapat mengakses file NFS yang di-share.
4. Konfigurasi jaringan memastikan bahwa client bisa mengakses melalui sistem firewall.. Request dari client harus ada untuk mengekspor data, biasanya menggunakan command mount.
6. Jika semua berjalan lancar, user dari client bisa melihat dan berinteraksi dengan file di jaringan seolah-olah berinteraksi di komputer sendiri.
C. Keuntungan dari NFS
Penggunaan NFS tentunya membawa keuntungan bagi organisasi yang mengimplementasikannya , diantaranya :
Workstation lokal dapat menggunakan space storage yang lebih sedikit karena data yang sering diakses oleh banyak orang atau yang memakan banyak space dapat disimpan dalam NFS Server dan tetap dapat diakses oleh banyak orang.
Tidak perlu dibuat direktori Home yang terpisah ditiap workstation. Direktori Home untuk setiap user dapat dibuat di NFS Server dan tiap user dapat mengaksesnya melalui jaringan.
Penggunaan NFS memungkinkan manajemen yang tersentralisasi. Manajemen yang tersentralisasi ini dapat mengurangi pekerjaan administrator dalam melakukan back-up dan menambahkan software yang digunakan banyak orang .
D. Kelemahan NFS
NFS juga memiliki beberapa kelemahan , khususnya dalam hal performa dan keamanan. Sebagai File System yang berbasiskan Network , NFS sangat sensitif terhadap kepadatan jaringan. Trafik tinggi pada jaringan dapat menurunkan performa NFS , begitu juga aktifitas yang tinggi pada storage akan mempengaruhi performa NFS. Pada NFS client terlihat lambat karena proses membaca dan menulis pada storage membutuhkan waktu yang lebih lama. Jika File System yang di ekspor sedang tidak tersedia ketika sebuah client mencoba melakukan mount , sistem dari client akan crash, meskipun permasalahan ini dapat dikurangi dengan menggunakan mount yang spesifik. Dan karena NFS itu tersentralisasi jika storage yang di-mount oleh berbagai client tiba-tiba crash karena suatu sebab , maka tidak akan ada yang dapat mengakses storage tersebut. NFS juga memiliki permasalahan dalam keamanannya, karena NFS didesain dengan asumsi jaringannya itu aman. Kelemahan utama dari keamanan dari NFS ialah NFS itu berdasarkan RPC , yang tidak lain merupakan target utama dari serangan. Hal ini dapat menyebabkan informasi yang seharusnya tidak di-mount menjadi terekspos di internet yang berada di dalam Firewall maupun diluar. Meskipun berada di dalam Firewall , menyediakan akses ke seluruh user untuk semua file memberikan resiko yang lebih tinggi dibandingkan dengan keuntungan yang didapat. Oleh karena itu seorang Administrator Sistem harus jeli dalam membatasi akses user dan permission untuk file-file tertentu pada direktori atau file system yang di-mount. NFS juga memiliki fitur yang berpotensial meningkatkan resiko keamanan. Contohnya jika root user di suatu client melakukan mount pada NFS export, maka diharapkan root pada client tidak memiliki hak sebagai root pada file system yang di mount. Secara default, NFS telah mencegahnya dengan prosedur yang dinamakan root squashing , namun apabila tidak hati-hati bisa saja seorang Administrator menghapus prosedur tersebut
E. Cara Kerja NFS
Ketika client ingin mengakses suatu file melalui NFS , kernel melakukan RPC(Remote Procedure Call) melalui TCP/UDP ke nfsd (NFS daemon) pada server. RPC ini menggunakan file handle , namafile atau direktori yang ingin diakses, dan user id dan grup id dariclient sebagai parameter. Parameter ini digunakan untuk menentukkan apakah client berhak mengakses file tersebut. Untuk mencegah user yang tidak berhak membaca dan memodifikasi file , user dan group id harus sama untuk kedua hosts. Setelah akses diberikan , client dapat mengaksesnya seolah – olah file atau direktori berada pada local disk.
7. Pada client atur IP Address dengan gateway IP Server
8. Buat direktori juga di client untuk menyimpan file dari server. Buka terminal masuk ke root lalu buat direktori dengan perintah
9. Coba ping ke IP Server untuk memastikan server dan client sudah terhubung
10. Setelah sudah terhubung, kita coba mount dengan perintah
<Ip Server>:<direktori server yang dimount> <direktory clieCnt yang dimount>
11. Jika saya membuat direktori di /fileserver
12. Secara otomatis file/direktori tersebut akan muncul juga di client
Saya akan memaparkan sedikit bagaimana cara untuk menyetting NFS (Network File System). Disini saya menggunaka OS Debian Server sebagai Server dan OpenSUSE sebagai Client. Kira-kira seperti ini topologinya:
1. Atur IP Address di Debian Server menjadi static dengan perintah
2. Restart network server agar IP yang kita atur bisa aktif
3. Install paket nfs-kernel-server
4. Buat direktori untuk menampung file yang akan di share ke client. Saya membuat direktori didalam root.
5. Jika kalian sudah membuat direktory yang ingin dishare, sekarang kita edit file export.
Tambahkan dipaling bawah file exports seperti diatas.
6. Restart NFS dengan perintah
# nano /etc/network/interfacesDisini saya memakai IP 11.11.11.1 untuk servernya.
2. Restart network server agar IP yang kita atur bisa aktif
# /etc/init.d/networking restart
3. Install paket nfs-kernel-server
# apt-get install nfs-kernel-serverPada tahap ini biasanya kita diminta untuk memasukan CD Debian Server Binary 1, setelah kita masukan lalu enter. Instalasi otomatis akan berjalan.
4. Buat direktori untuk menampung file yang akan di share ke client. Saya membuat direktori didalam root.
# mkdir /namafile
5. Jika kalian sudah membuat direktory yang ingin dishare, sekarang kita edit file export.
# nano /etc/exports
- rw : Memberikan akses read and write kepada client,
- no_root_squash : Tidak ada penyamaan root pada client dengan root pada server,
- no_subtree_check : Tidak ada pengecekan subtree pada direktori yang dimount,
- sync : Untuk sinkronisasi antara perubahan di client dengan direktori yang sebenarnya di server.
6. Restart NFS dengan perintah
# /etc/init.d/nfs-kernel-server restart
7. Pada client atur IP Address dengan gateway IP Server
8. Buat direktori juga di client untuk menyimpan file dari server. Buka terminal masuk ke root lalu buat direktori dengan perintah
# mkdir /namafile
9. Coba ping ke IP Server untuk memastikan server dan client sudah terhubung
ping 11.11.11.1
10. Setelah sudah terhubung, kita coba mount dengan perintah
<Ip Server>:<direktori server yang dimount> <direktory clieCnt yang dimount>
# mount 11.11.11.1:/fileserver /fileclient
11. Jika saya membuat direktori di /fileserver
12. Secara otomatis file/direktori tersebut akan muncul juga di client
Sumber:nikanushalerehontkjb,blogspot.com
:rohmadiirfan,blogspot.com
:rohmadiirfan,blogspot.com