|
Login Terpusat dengan Layanan NIS dan NFS
Di suatu komputer lab mungkin anda pernah login dengan user name anda sendiri walaupun anda tahu di komputer tersebut anda tidak mempunyai account. Anda hanya mempunyai account di komputer server kampus bukan di komputer lab tersebut, anehnya lagi ketika anda login, anda langung masuk ke home directory anda yang si server kampus. Maka bisa dipastikan bahwa komputer lab anda tersebut dijadikan sebagai klien NIS (Network Information Server) dan klien NFS (Network File System), sedangkan server kampus sebagai server NIS dan NFS.
NIS merupakan layanan yang berfungsi untuk menyediakan informasi lewat jaringan yaitu informasi user name, password, home directory (/etc/passwd) dan informasi group (/etc/group). Jika dirunut dari asalnya NIS dulu lebih dikenal dengan Sun Yellow Pages (YP) tapi berhubung nama Yellow Pages telah dipakai oleh British Telecom maka nama itu tidak diizinkan lagi untuk dipakai.
Prinsip Kerja NIS
Dalam suatu sistem jaringan yang menjalankan NIS maka tentu saja harus ada satu atau beberapa server NIS. Kalau beberapa server berarti kemungkinan dalam jaringan itu:
> terdapat lebih dari satu domain NIS
> terdapat server NIS master dan slave
Slave server ini hanya merupakan backup terhadap server master, jika server master mengalami gangguan maka server slave otomatis mengambil alih fungsi server master. Jadi database server slave merupakan salinan dari server master. Database ini dinamakan DBM-format yang dikonversi dari format ASCII oleh program makedbm. Untuk mensinkronkan database antara server master dan slave digunakan program "yppush".
Layanan NIS bekerja berbasiskan panggilan RPC (Remote Procedure Call) yaitu panggilan yang dialakukan oleh klien NIS kepada server NIS . Untuk membuat RPC ini kita harus menjalankan program yang dinamakan portmapper (portmap) yang bertugas untuk mengkonversi nomor-nomor dalam program RPC ke dalam nomor-nomor port dalam protokol TCP/IP (atau UDP/IP). Ketika server RPC (server NIS) sudah diaktifkan, ia akan meminta portmap unutuk membuka nomor port tertentu dan nomor program RPC berapa yang siap untuk melayani panggilan RPC dari klien. Jadi apabila komputer klien melakukan panggilan RPC untuk meminta nomor program, ia harus terlebih dahulu melakukan hubungan dengan portmap pada server RPC untuk mengetahui nomor port berapa paket RPC harus dikirimkan.
Nah, untuk dapat melakukan komunikasi berbasis RPC ini setting waktu antara server dan klien harus disinkronisasi terlebih dahulu lewat time service.
Instalasi software dan konfigurasi server NIS
Konfigurasi di bawah ini didasarkan atas keadaan bahwa hanya terdapat satu server NIS dengan nomor IP address 172.16.110.1 dan nama domain NIS if.te.ugm.ac.id. Jumlah klien sebanyak 20 buah. Langkah-langkah konfigurasi: a) Di mesin server NIS kita perlu menginstall program inetd (atau xinetd) yang berisi layanan time service, portmap, dan yang terutama ypserv. Ke-3 program ini biasanya sudah disertakan dalam CD Linux jadi anda tinggal menginstallnya, dengan perintah (dalam platform Red Hat):
# rpm -ivh inetd-xx.xx.xx.rpm atau xinetd-xx.xx.xx.rpm
# rpm -ivh portmap-xx.xx.xx.rpm
# rpm -ivh ypserv-xx.xx.xx.rpm
Setelah instalasi program di atas sukses maka anda perlu mengaktifkan time service pada file /etc/inetd.conf:
#Time service is used for clock synchronization
time stream tcp nowait root internal
time dgram udp wait root internal
atau kalau anda menggunakan xinetd maka yang dikonfigurasi adalah file /etc/xinetd.d/time dan /etc/xinetd.d/time-udp:
# File /etc/xinetd.d/time
# default: off
# description: An RFC 868 time server. This is the tcp \
# version, which is used by rdate.
service time
{
disable = no
type = INTERNAL
id = time-stream
socket_type = stream
protocol = tcp
user = root
wait = no
}
# File /etc/xinetd.d/time-udp
# default: off
# description: An RFC 868 time server. This is the udp \
# version.
service time
{
disable = no
type = INTERNAL UNLISTED
id = time-dgram
socket_type = dgram
protocol = udp
user = root
wait = yes
port = 37
}
b) Lalu restart inetd atau xinetd anda dengan perintah:
# /etc/init.d/inetd restart
atau
# /etc/init.d/xinetd restart
c) Setelah time service-nya berjalan, maka giliran portmap yang harus dijalankan:
# /etc/init.d/portmap start
d) Aktifkan layanan NIS dengan perintah:
# /etc/init.d/ypserv start
e) Setelah layanan NIS diaktifkan, test apakah layanan RPC sudah aktif:
# rpcinfo -u localhost ypserv
f) Sekarang saatnya membuat database server :
[root@gate RPMS]# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS servers. gate.if.te.ugm.ac.id is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with the list, type a "control+D".
next host to add: gate.if.te.ugm.ac.id
next host to add:
The current list of NIS servers looks like this:
gate.if.te.ugm.ac.id
Is this correct? [y/n: y] y
We need some minutes to build the databases...
Building /var/yp/if.te.ugm.ac.id/ypservers...
Running /var/yp/Makefile... gmake[1]: Entering directory `/var/yp/if.te.ugm.ac.id'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/if.te.ugm.ac.id'
Instalasi software dan konfigurasi klien NIS Untuk klien NIS anda perlu program inetd (atau xinetd), portmap dan ypbind yang biasanya sudah disertakan dalam CD Linux.
a) Seperti halnya pada server, untuk klien NIS anda perlu program inetd (atau xinetd), portmap dan yang membedakannya adalah ypbind. Program ini biasanya sudah disertakan dalam CD Linux jadi anda tinggal menginstallnya, dengan perintah (dalam platform Red Hat):
# rpm -ivh inetd-xx.xx.xx.rpm atau xinetd-xx.xx.xx.rpm
# rpm -ivh portmap-xx.xx.xx.rpm
# rpm -ivh ypbind-xx.xx.xx.rpm
b) Ulangi langkah b) - d) seperti pada server NIS
c) Konfigurasi /etc/yp.conf untuk menentukan nomor IP address server NIS:
ypserver 172.16.110.1
d) Tentukan nama domain NIS dengan perintah:
# domainname if.te.ugm.ac.id
e) Perhatikan apakah direktori /var/yp sudah ada, jika belum maka buatlah secara manual:
# mkdir /var/yp
f) Sekarang saat melakukan binding terhadap server dengan perintah:
# /etc/init.d/ypbind start
g)Kalau sudah OK, test apakah klien yp anda sudah bisa berkomunikasi dengan server dengan perintah:
[root@server root]# rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 817 ypbind
100007 2 tcp 819 ypbind
100011 1 udp 907 rquotad
100011 2 udp 907 rquotad
100003 2 udp 2049 nfs
100021 1 udp 1026 nlockmgr
100021 3 udp 1026 nlockmgr
100005 1 udp 1045 mountd
100005 1 tcp 1063 mountd
100005 2 udp 1045 mountd
100005 2 tcp 1063 mountd
100005 3 udp 1045 mountd
100005 3 tcp 1063 mountd
Ouput yang dihasilkan dari perintah ini berbeda tergantung versi ypbind yang dipakai. Cara lain adalah dengan mencoba login dengan user name yang terdapat pada server tetapi tidak terdapat pada klien. Seperti halnya fungsi file /etc/hosts yang berfungsi sebagai referensi dalam urutan pencarian suatu host, maka kita perlu mengkonfigurasi file /etc/nsswitch.conf sebagai referensi dalam urutan pencarian informasi user name, group dan password. Konfigurasi file /etc/nsswitch.conf:
passwd: compat
shadow: compat
group: compat
passwd: nis
shadow: nis
group: nis
#hosts: db files nisplus nis dns
hosts: files nisplus dns
Dari konfigurasi di atas kita menginginkan informasi user name, gorup dan password didapat dari server NIS bukan dari file-file yang ada di klien. Setelah sukses membuat suatu sistem jaringan yang berbasiskan NIS, tentu saja kurang lengkap kalau tidak dipadukan dengan layanan NFS (Network File System) karena kalau kita login saja tidak cukup, tapi kita login dan masuk ke rumah (home directory) kita sendiri. NFS merupakan layanan untuk menyediakan suatu sistem file komputer remote pada komputer lokal sebagaimana layaknya seperti sistem file komputer lokal itu sendiri. Sistem file ini bisa berupa partisi disk atau direktori.
Syarat pemakaian layanan NFS
Sama seperti NIS, NFS dapat bekerja karena adanya portmapper (portmap) sehingga program ini harus terinstall di server NFS dan juga klien. Server akan memberikan sistem file/direktori mana yang akan dipakai oleh klien diatur di satu file yaitu /etc/export. Di klien sistem file ini nantinya dikenali sebagai sistem file nfs, yang tentu saja kernel sistem si klien harus mendukungnya. Apabila kernel anda belum mendukungnya, maka anda harus mengkompile ulang kernel dan jadikan sistem file nfs sebagai modul atau masuk langsung dalam kernel. Di pembahasan kali ini, penulis membuat nfs sebagai modul, sehingga apabila klien ingi memakai sistem file tersebut, maka klien harus terlebih dahulu memountnya.
Langkah instalasi dan konfigurasi NFS
Konfigurasi di bawah ini didasarkan atas keadaan bahwa server NIS dengan nomor IP address 172.16.110.1 dijadikan sebagai server NFS juga dan nama domain NIS if.te.ugm.ac.id. Jumlah klien sebanyak 20 buah. Langkah-langkah konfigurasi:
a) Untuk server NFS anda perlu menginstall beberapa program diantaranya nfs-utils dan portmap yang sudah lengkap tersedia dalam CD Linux. Instalasi nfs-utils:
# rpm -ivh nfs-utils-xx.xx.xx.rpm
Karena dari langkah pembuatan NIS terdahulu portmap sudah terinstall, maka anda tinggal menjalankan daemon portmap dengan mengetikkan:
#/etc/rc.d/init.d/portmap start
b) Konfigurasi file /etc/export :
direktori server mesin_klien(option) mesin_klien_lain(option)
contoh:
/home 172.16.110.0/27(rw)
File konfigurasi menunjukkan bahwa kita men-share direktori /home pada server untuk diberikan kepada klien yang bernomor IP address 172.16.110.1-172.16.110.30 dengan mode baca dan tulis (rw).
c) Setelah mengkonfigurasi file /etc/export, sekarang aktifkan daemon nfs dengan mengetikkan:
# /etc/rc.d/init.d/nfs start
d) Setelah daemon nfs anda di server aktif, maka sekarang saatnya anda melakukan konfigurasi di klien. Karena dari konsep awal bahwa di klien kita ingin memakai direktori /home yang ada di server sebagai direktori /home di klien, maka apabila seandainya di klien kita membuat partisi tersendiri untuk /home, maka anda harus meng-unmount partisi tersebut. Dan seandainya juga anda sudah mempunyai direktori /home yang sudah berisi tapi tidak dalam partisi tersendiri, maka rename-lah direktori tersebut dengan nama lain. Setelah itu lakukan mount direktori /home di server dengan perintah:
# mount 172.16.110.1:/home /home
Untuk melihat keadaan sistem file anda sekarang, di klien ketikkan:
# df -hT
Seharusnya salah satu baris dari output perintah di atas adalah:
172.16.110.1:/home nfs /home
Keamanan
Dalam hal ini, keamanan yang dimaksudkan adalah pembatasan pemakaian layanan NIS dan NFS yang sudah kita buat. File konfigurasinya adalah /etc/hosts.allow dan /etc/hosts.deny : Pada file /etc/hosts.deny kita mengkonfigurasi layanan mana yang tidak boleh dipakai oleh suatu komputer/jaringan, di sini kita buat agar layanan portmap tidak diperbolehkan untuk dipakai oleh semua komputer/jaringan:
portmap : ALL
Sedangkan pada /etc/hosts.allow kita mengkonfigurasi layanan yang boleh dipakai oleh suatu komputer/jaringan, di sini kita mempercayai komputer-komputer dalam jaringan kita:
portmap : 172.16.110.
Dengan demikian, kelak apabila ada komputer yang tidak termasuk dalam jaringan kita (di luar 172.16.110.0/255.255.255.224) tetapi misalkan terhubung ke jaringan kita meminta layanan portmap, maka otomatis permintaan tersebut tidak akan "terkabul".
|
|