You are on page 1of 25

Bab 0

Editor VI

Editor VI merupakan editor berbasis layar yang digunakan oleh banyak pemakai UNIX. Berbasis layar
berarti teks yang akan disunting ditampilkan dalam sebuah layar dan pemakai dapat menggerakkan
kursor pada bagian layar yang ingin diperbaiki.

Dua Modus Pada Editor VI


Hal pertama yang perlu diketahui oleh pemakai adalah bahwa editor VI memiliki dua modus, yaitu
modus perintah (command mode) dan modus penyisipan (insert mode) Modus perintah dapat digunakan
untuk memasukkan perintah-perintah untuk memanipulasi teks dan file. Perintah-perintah ini biasanya
terdiri dari satu atau dua buah karakter. Modus penyisipan digunakan untuk melakukan pengetikan
teks.
Pada saat kita memulai editor VI, kita langsung berada pada modus perintah. Ada beberapa perintah
untuk memasuki mode penyisipan. Perintah-perintah yang paling sering digunakan adalah perintah a
dan i. Bila kita menekan tombol [Escape], maka kita akan kembali ke modus perintah. Penekanan
[Escape] pada modus perintah tidak akan mangakibatkan kita keluar dari modus perintah.

Memulai Editor VI
Dengan menggunakan editor VI, kita dapat membuat file baru atau menyunting file yang sudah ada.
Perintah untuk memulai editor VI adalah “vi nama_file”. Bila nama_file merupakan file yang sudah ada,
pada bagian bawah layar akan ditampilkan jumlah baris dan jumlah karakter pada file tersebut. Bila
nama_file merupakan file baru, pada bagian bawah layar akan ditampilkan keterangan bahwa file
tersebut adalah file baru.
Pada layar akan tampak baris-baris yang diawali dengan tanda tilde (~). Baris yang diawali dengan
tanda ini menunjukkan baris tersebut belum pernah digunakan oleh pemakai. Editor VI juga dapat
dimulai tanpa menyertakan nama_file. Akan tetapi nama_file ini harus diberikan pada saat kita ingin
menyimpan pekerjaan ke file. Pada bagian kiri atas dari layar akan tampak kursor yang berkedip yang
menunjukkan bahwa editor siap menerima perintah dari pemakai.

Keluar Dari Editor VI


Untuk keluar dari editor VI, ada beberapa perintah yang dapat digunakan. Semua perintah ini harus
dimasukkan dari modus perintah.

Tabel 1. Perintah-perintah untuk keluar dari editor VI.


Perintah Keterangan
:q [Enter] Keluar dari editor VI, hanya jika tidak ada modifikasi pada file.
ZZ Menyimpan ke file dan keluar dari editor VI
:wq [Enter] Sama seperti ZZ
:x [Enter] Sama seperti ZZ
:q! [Enter] Keluar dari editor VI tanpa harus menyimpan ke file
Untuk menyimpan ke file tanpa keluar dari editor VI, gunakan perintah :w [Enter].

Beberapa Perintah Pada Modus Perintah


Penjelasan tentang perintah-perintah pada modus perintah akan dibagi dalam beberapa bagian.
Perintah-perintah yang akan dijelaskan antara lain : menggerakkan kursor, menghapus teks, faktor
pengulang, membatalkan perubahan atau penghapusan, mencari string, dan berpindah layar.

Menggerakkan Kursor

Tabel 2. Perintah-perintah untuk mengerakkan kursor.


Perintah Keterangan
l panah kanan atau spasi ke kanan 1 karakter
h atau panah kiri ke kiri 1 karakter
j atau panah bawah ke bawah 1 baris
k atau panah atas ke atas 1 baris

Menghapus Teks
Tabel 3. Perintah-perintah untuk menghapus teks.
Perintah Keterangan
x menghapus karakter pada posisi kursor
X menghapus karakter disebelah kiri kursor
dd menghapus satu baris pada posisi kursor
d [Enter] menghapus dua baris, baris pada posisi kursor dan baris berikutnya
d0 menghapus dari awal baris sampai tepat sebelum posisi kursor
d$ menghapus dari posisi kursor sampai akhir baris

Faktor Pengulang

1
Beberapa perintah dapat diulang beberapa kali dengan menambahkan jumlah pengulangan di depan
perintah. Sebagai contoh, dd adalah perintah untuk menghapus satu baris. Untuk menghapus 3 buah
baris tanpa harus memasukkan perintah dd sebanyak 3 kali dapat digunakan : 3dd.

Membatalkan Perubahan atau Penghapusan


Jika kita melakukan kesalahan menghapus tanpa sengaja, kita dapat memperbaikinya dengan
menggunakan perintah u atau U. Perintah u digunakan untuk membatalkan perubahan terakhir yang
dilakukan oleh pemakai, sedangkan perintah U digunakan untuk membatalkan seluruh perubahan pada
satu baris.

Mencari String
Editor VI memiliki dua jenis pencarian, yaitu : string dan karakter. Untuk pencarian string, perintah
yang digunakan adalah perintah / dan ?. Pada saat kedua perintah ini digunakan, perintah yang
diketikkan akan muncul dibagian bawah layar, tempat kita mengetikkan string yang ingin dicari. Kedua
perintah ini berbeda hanya pada arah pencarian yang akan dilakukan. Perintah / mencari ke arah
bawah, sedangkan perintah ? mencari ke arah atas dari file. Perintah n dan N digunakan untuk
melanjutkan proses pencarian yang sebelumnya. Perintah n akan mencari dalam arah yang sama,
sedangkan perintah N akan mencari dalam arah yang berlawanan.

Berpindah Layar
Editor VI juga menyediakan perintah-perintah untuk berpindah layar dengan cepat tanpa harus
menggerakkan kursor perbaris. Perintah-perintah tersebut adalah :

Tabel 4. Perintah-perintah untuk berpindah perlayar.


Perintah Keterangan
ctrl-b berpindah satu layar sebelumnya
ctrl-d turun setengah bagian layar
ctrl-f turun satu bagian layar
G turun ke bagian akhir dari file
line no. G memindahkan kursor ke line tertentu
ctrl-j naik setengah bagian layar

2
BAB 1
PENGENALAN JARINGAN

Jaringan Komputer (Computer Network) bisa diartikan sebagai dua buah komputer atau lebih yang
dihubungkan sehingga dapat saling berkomunikasi, sehingga akan menghasilkan efisiensi, sentralisasi,
dan optimalisasi kerja. Pada jaringan komputer, yang dikomunikasi-kan berupa paket-paket data.
Salah satu arsitektur jaringan komputer yang paling sederhana adalah Local Area Network. Luas
cakupan LAN tidak melebihi dari satu area yang terdiri dari beberapa terminal yang saling dihubungkan
sehinggamenambahkan fungsi dari terminal itu sendiri.
Ibarat manusia, di dalam berkomunikasi menggunakan bahasa tertentu, ada bahasa Indonesia, Jawa,
Arab, dll. Maka begitu juga dengan komputer, terdapat bahasa yang digunakan untuk berkomunikasi
yang disebut dengan protokol. Sebagai contoh adalah IPX, NETBEUI, dll. Untuk bisa saling
berkomunikasi, protokol yang digunakan haruslah sama. TCP/IP merupakan contoh protokol yang sering
digunakan saat ini seperti dalam internet.
Perumpamaan di dalam manusia untuk bisa saling berinteraksi, masing-masing memiliki suatu identitas,
misalkan nama. Dan masing-masing manusia mempunyai suatu alamat tempat tinggal,misalnya berupa
alamat rumah, No Rumah, Jalan, Desa, Kecamatan, Kabupaten, dst. Apabila manusia yang satu akan
mengirim suatu paket, maka ia harus mengetahui alamat yang akan dituju.
Hal ini tidaklah berbeda dengan komputer, penamaan terminal pada suatu jaringan menggunakan apa
yang disebut dengan IP (Internet Protocol) Address sedang penamaan server berdasarkan nama
domainnya disebut dengan DNS (Domain Name Server). Server disini merupakan penyedia layanan
untuk host terminal sebagai klien.
Penamaan alamat IP
IP Address (Alamat IP) digunakan untuk mengidentifikasikan interface jaringan pada host dari suatu
mesin. Alamat IP merupakan sekelompok bilangan biner 32 bit yang dibagi menjadi 4 bagian yang
masing-masing bagian terdiri dari 8 bit. Akan tetapi biasanya kita sulit untuk menghapal bilangan-
bilangan yang jumlahnya banyak, sehingga umumnya penamaan yang digunakan adalah menggunakan
bilangan desimal.

Contoh:
11000000.10101000.00001010.00000001
192 168 10 1
Pembagian kelas IP
Alamat IP dibagi menjadi kelas-kelas yang masing-masing mempunyai kapasitas jumlah IP yang
berbeda-beda. Tabel 1.1 menampilkan kelas-kelas pengalamatan IP. Pada tabel tersebut x adalah
NetId dan y adalah HostID

Kelas Format Kisaran Jumlah IP


A 0xxxxxxx.yyyyyyyy.yyyyyyyy.yyyyyyyy 0.0.0.0-127.255.255.255 16.777.214
B 10xxxxxx.xxxxxxxx.yyyyyyyy.yyyyyyyy 128.0.0.0-191.255.255.255 65.532
C 110xxxxx.xxxxxxxx.xxxxxxxx.yyyyyyyy 192.0.0.0-223.255.255.255 254

Subnetting
Subnetting adalah pembagian suatu kelompok alamat IP menjadi bagian-bagian yang lebih kecil lagi.
Tujuan dalam melakukan subnetting ini adalah
• Membagi kelas jaringan menjadi bagian-bagian yang lebih kecil
• Menempatkan suatu host, apakah berada dalam satu jaringan atau tidak
• Keteraturan

o Kelas A subnet : 11111111.00000000.00000000.00000000 (255.0.0.0)


o Kelas B subnet : 11111111.11111111.00000000.00000000 (255.255.0.0)
o Kelas C subnet : 11111111.11111111.11111111.00000000 (255.255.255.0)

Misal dalam suatu jaringan dengan IP jaringan 192.168.3.0 ingin dibagi menjadi 5 jaringan kecil
(masing-masing 48 host), yang artinya harus dilakukan proses subnetting dalam jaringan tersebut.
Langkah pertama adalah membagi IP menjadi blok-blok yang masing-masing blok minimal terdiri dari
48 host. Seperti kita telah ketahui bahwa tiap-tiap kelas C mempunyai 255 IP maka perhitungannya
adalah sbb:
255/5 = 51
Masing-masing subnet mempunyai 49 alamat IP (masing-masing diambil 2 untuk IP broadcast dan IP
network. Berikut adalah pengelompokan dari jaringan-jaringan tersebut:
192.168.3.0/50 untuk jaringan 1
192.168.3.51/101 untuk jaringan 2
192.168.3.102/152 untuk jaringan 3
192.168.3.153/203 untuk jaringan 4
192.168.3.204/254 untuk jaringan 5

Subnetting diperlukan agar host pada satu jaringan tidak dapat mengakses host pada jaringan lain
secara langsung. Untuk pembagian 51 host : 51 = 00110011 (biner). Nilai 8 bit tertinggi dari subnetting
kelas C adalah : 255 = 11111111.
11111111 - 00110011 =11001100 (8 bit terakhir dari subnet kelas C) = 204,
maka IP subnetmask-nya adalah 255.255.255.204.

3
Praktikum
Untuk mengkomunikasikan antara 2 komputer atau lebih, haruslah ada media yang
menghubungkannya, bisa berupa kabel, fiber optic, ataupun tanpa kabel dsb. Yang dibahas di sini
adalah dengan menggunakan kabel UTP (Unshielded Twisted Pair). Untuk itu dibutuhkan interface untuk
menghubungkan antara kedua komputer melalui kabel yang disebut dengan Kartu Jaringan (Network
Card). Kartu jaringan inilah yang kita identifikasikan masing-masing dengan id yang unik.
Sebetulnya masing-masing kartu jaringan sudah memiliki id (Address) yang disebut dengan mac
address atau Adapter Address (dibuat oleh vendor dari kartu jaringan). Akan tetapi kita masih perlu
untuk memberikan alamat IP pada masing-masing kartu.
Untuk melakukan konfigurasi ethernet secara manual, langkah-langkahnya adalah sbb:
1. Masuk ke terminal console (baik X ataupun text mode)
2. Login sebagai root
Server login: root
Password: password
3. Ketika sudah muncul prompt (#) ketikan perintah berikut:
root@localhost ~# dmesg |grep eth0
4. Sehingga akan ditampilkan informasi kartu ethernet yang dipasang pada PC.
5. selanjutnya kita bisa melakukan probing kartu ethernet tersebut supaya bisa dikenali oleh
sistem untuk menjalankan jaringan.
Sebagai contoh, driver untuk RTL8139 di Linux adalah 8139too.o.gz. Langkah-langkahnya
adalah:
[root@localhost~#]cd /lib/modules/2.4.7-10/kernel/drivers/net/
[root@localhost~#]modprobe 8139too
6. Kemudian simpan hasil probing tersebut pada file /etc/modules.conf, dengan cara:
Ketikan perintah:
[root@localhost~#]vi /etc/modules.conf
Tambahkan kalimat sbb:
alias 8139too
Simpan hasilnya, dengan mengetikan :wq ketika mode command
7. Setelah selesai, jalankan perintah :
[root@localhost~#]ifconfig eth0 192.168.0.1 netmask 255.255.255.0
8. Untuk memeriksa konfigurasi IP address Kartu Ethernet, jalankan perintah:
[root@localhost~#]ifconfig –a
eth0 Link encap:Ethernet HWaddr 00:0A:CD:07:04:6F
inet addr:192.168.0.105 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13644 errors:0 dropped:0 overruns:0 frame:0
TX packets:24706 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:11 Base address:0xaf00
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2009 errors:0 dropped:0 overruns:0 frame:0
TX packets:2009 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
9. Selanjutnya untuk menguji konfigurasi yang telah kita lakukan, ketikan perintah:
[root@localhost~#]ping –c 7 192.168.0.1
10. 192.168.0.1 merupakan IP yang kita tuju untuk menguji koneksi dengan komputer tujuan
11. Konfigurasi berhasil apabila hasil yang ditampilkan adalah:
PING 192.168.0.1 (192.168.0.1) from 192.168.0.105 : 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=0 ttl=128 time=0.6ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=128 time=0.6ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=128 time=0.6ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=128 time=0.6ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=128 time=0.6ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=128 time=0.6ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=128 time=0.6ms
---192.168.0.1 ping statistics ---
7 packets transmitted, 7 packet received, 0% packet loss
round-trip min/avg/max = 0.3/0.3/0.6 ms
12. Berikutnya masih login sebagai root, perintahkan:
[root@localhost~#]cd /etc/sysconfig/network-script
[root@localhost~#]vi ifcfg-eth0
13. Ketikan perintah berikut :
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes
14. Simpanlah hasil pekerjaan kita. Kemudian kita perlu lakukan restart service jaringan dengan
menjalankan perintah berikut:
[root@localhost~#]/etc/init.d/network restart
15. Jika tidak terdapat pesan kesalahan, sampai di sini pekerjaan kita sudah berhasil dengan baik

4
BAB 2
DNS Server

Server DNS bertugas menterjemahkan IP ke nama alamat dan sebaliknya dari nama alamat ke nomor
IP. Beberapa cara untuk menterjemahkan alamat internet antara lain:
∂ Menggunakan file lokal yang bernama hosts yang ada di direktori /etc/
∂ menggunakan pelayanan DNS server
∂ menggunakan pelayanan NIS (Network Information System) Server

1. Menggunakan file /etc/hosts


File hosts ini berisi daftar penterjemahan alamat IP ke nama. Dengan memiliki file ini, mesin linux dapat
menggunakan nama yang lebih mudah diingat untuk memanggil atau mengakses mesin lain dalam
jaringan, daripada harus menggunakan nomor IP. File ini sangatlah sederhana isinya.
Untuk melihat isi dari suatu file di linux, gunakan perintah cat
[root@labsoftware jaringan#]cat /etc/hosts
hasil yang di tampilkan dari perintah di atas (sebagai contoh) adalah:
127.0.0.1 localhost.localdomain localhost
192.168.0.105 labsoftware.stmikelrahma.net labsoftware
Keterangan
Θ kolom 1 adalah nomor IP
Θ kolom 2 adalah FQDN (Fully Qualified Domain Name)
Θ kolom 3 adalah nama host
File /etc/hosts di atas menunjukan bahwa nama labsoftware.stmikelrahma.net dan labsoftware
dimapping (dipetakan) pada alamat dengan nomor IP 192.168.0.105 , sedangkan nama
localhost.localdomain dan localhost dipetakan ke nomor IP 127.0.0.1.
Cara pertama ini mempunya beberapa kelemahan, diantaranya adalah:
Semua mesin atau host dalam jaringan harus mempunyai file /etc/hosts yang sama isinya.
Sehingga setiap kali ada perubahan nama hosts atau nomor IP, maka seluruh file di tiap host harus
diperbaharui. Oleh karena itu, cara ini sangatlah tidak praktis jika jaringan yang ada memiliki host yang
banyak.

2. Menggunakan DNS Server


menggunakan DNS tidak seperti menggunakan file /etc/hosts. DNS bersifat client-server sehingga
administrasi cukup dilakukan di sisi server saja, sedangkan pada client cukup dikonfigurasi satu kali
yaitu memberi cara agar mewsin client dapat menghubungi DNS server. Dalam jaringan internet, DNS
server di seluruh dunia saling bekerja sama dalam rangka menerjemahkan alamat internet. Network
yang lebih besar memiliki DNS server yang menjadi sumber data bagi DNS server pada network di
bawahnya. Kerja sama yang dijalin ini dapat dijelaskan pada contoh berikut:
Kasus: proses penampilan gambar atau isi sebuah situs pada browser Mozilla yang digunakan seorang
pengguna dengan akses dialup ke sebah ISP misalnya comnet.net.id. Saat itu DNS client mengarah
pada DNS server dengan IP 202.150.128.64 dan IP 202.150.128.65.
Perjalanan yang ditempuh untuk menerjemahkan IP secara umum dapat dijelaskan seperti berikut:
1. Browser diarahkan ke situs http://mail.yahoo.com
2. DNS client menghubungi DNS server agar mendapatkan IP domain mail.yahoo.com
3. DNS server mencari data mengenai mail.yahoo.com dengan cara menghubungi DNS server
tertinggi yaitu dot (.) atau root server
4. DNS root server menghubu
5. ngi DNS server com
6. DNS com menghubungi DNS server yahoo.com
7. DNS server yahoo.com mengenali sub domain mail.yahoo.com dan berhasil menerjemahkan
mail.yahoo.com ke IP 1202.135.0.9
8. IP tersebut dikirimkan kembali ke DNS client kemudian diberikan ke browser.
9. Browser mengarahkan langsung ke IP 202.135.0.9 untuk menghubungi web server pada IP
tersebut.
DNS server terdiri dari 2 jenis server, yaitu:
a. Primary Name Server (PNS) adalah DNS server yang bertanggung jawab atas resolusi
domain dan subdomain yang dikelolanya.
b. Secondary Name Server (SNS) adalah DNS server yang secara hirarki setara dengan PNS
namun data-data domain dan subdomain diperoleh dengan cara menyalin dari PNS.
Instalasi BIND 8.2.4
Program DNS yang dipakai oleh Linux Komura adalah BIND 8.2.4 yang terdiri dari file-file rpm sebagai
berikut:
a. bind-8.2.4-4wb.i386.rpm
b. bind-devel-8.2.4-1wb.i386.rpm
c. bind-utils-8.2.4-1wb.i386.rpm
Gunakan rpm –ivh untuk menginstal bind pada mesin server Linux.
Client DNS
Client DNS bertugas menentukan server DNS yang digunakan untuk menerjemahkan alamat internet
yang perlu dihubungi oleh program dalam mesin client. Dalam sistem Linux, DNS client merupakan file
biasa seperti /etc/hosts bernama /etc/resolv.conf, tetapi isinya berbeda.
[root@labsoftware /root#]ls –l /etc/resolv.conf
-rw-r—r-- 1 root root 23 Sep 9 00:45 /etc/resolv.conf
[root@labsoftware /root#]cat /etc/resolv.conf

5
search elrahma.net
nameserver 192.168.0.1
nameserver 192.168.0.2
Contoh di atas menunjukan bahwa PNS yang dihubungi adalah IP 192.168.0.1 dan SNS yang dihubungi
adalah IP 192.168.0.1. Tag search berisi sebuah nama yang digunakan sebagai default domain bila
revolusi sebuah nama gagal.
Server DNS
DNS membaca data-data resolusi pada sekumpulan file konfigurasi yang terdapat pada komputer lokal.
File-file tersebut antara lain:
/etc/named.conf
Berisi konfigurasi DNS server BIND 8.x.x.
acl secondaries {
127.0.0.1;
};

acl local-networks {
/* Add your local networks here */
192.168.0.0/24;
};

logging {
category lame-servers { null; };
category cname { null; };
};

options {
/* The directory for the files */
directory "/var/named";
/* Restrict zone transfers to the servers specified as secondary
name servers.
*/
allow-transfer { secondaries; };
};

zone "bind" chaos {


type master;
file "master/chaos.zone";
allow-query { none; };
};

zone "." in {
type hint;
file "root.cache";
};

zone "0.0.127.in-addr.arpa" in {
type master;
file "master/127.0.0";
};

zone "user.linux05" in {
type master;
file "user.zone";
};
zone "0.168.192.in-addr.arpa" in {
type master;
file "user.rev";
};
Format /etc/named.conf terdiri dari 2 bracket dasar yaitu:
Φ Block Options berisi kumpulan opsi-opsi global untuk bind 8.x.x, gunakan man named.conf untuk
mendapatkan informasi lebih detil mengenai opsi-opsi yang tersedia.
Φ Block Zone berisi tag-tag yang digunakan untuk menentukan tipe server untuk 1 domain atau
subdomain tertentu dan file zona yang berisi konfigurasi 1 domainatau subdomain tertentu.
Θ Jika kita bertujuan membuat zona file untuk pemetaan NAME-TO-IP gunakan nama domain
sebagai nama zona.
Θ Jika kita bertujuan membuat zona file untuk pemetaan IP-TO-NAME gunakan nama domain
dengan format sebagai berikut:
IP-TO-NAME untuk network 192.168.0, nama zona file ditulis 0.168.192.in-addr.arpa
IP-TO-NAME untuk network 202.150.128, nama zona file ditulis 128.150.202.in-addr.arpa
/var/named/*
Direktori /var/named berisi file-file zona yang namanya bersesuaian dengan tag file pada bracket zone
dalam /etc/named.conf
[root@labsoftware /root#]ls –l /var/named
total 20
drwxr-xr-x 2 root root 4096 Sep 9 00:34 master/
-rw-r--r-- 1 root root 1495 Jan 24 2000 root.cache

6
drwxr-xr-x 2 named named 4096 Nov 25 1999 slave/
-rw-r--r-- 1 root root 249 Sep 8 18:25 user.rev
-rw-r--r-- 1 root root 336 Sep 8 18:26 user.zone
[root@labsoftware /root#]cat /var/named/master/127.0.0
$TTL 2w1d
@ IN SOA localhost.localdomain. root.localhost.localdomain. (
1 ; serial
2H ; refresh
30M ; retry
2w1d ; expiry
1H ) ; minimum
IN NS localhost.localdomain.
IN A 127.0.0.1
1 IN PTR localhost.localdomain.
[root@labsoftware /root#]cat /var/named/root.cache
; <<>> DiG 8.2 <<>> @k.root-servers.net . ns
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUERY SECTION:
;; ., type = NS, class = IN

;; ANSWER SECTION:
. 6D IN NS C.ROOT-SERVERS.NET.
. 6D IN NS G.ROOT-SERVERS.NET.
. 6D IN NS F.ROOT-SERVERS.NET.
. 6D IN NS B.ROOT-SERVERS.NET.
. 6D IN NS J.ROOT-SERVERS.NET.
. 6D IN NS K.ROOT-SERVERS.NET.
. 6D IN NS L.ROOT-SERVERS.NET.
. 6D IN NS M.ROOT-SERVERS.NET.
. 6D IN NS I.ROOT-SERVERS.NET.
. 6D IN NS E.ROOT-SERVERS.NET.
. 6D IN NS D.ROOT-SERVERS.NET.
. 6D IN NS A.ROOT-SERVERS.NET.
. 6D IN NS H.ROOT-SERVERS.NET.
[root@labsoftware /root#]cat /var/named/user.rev
$TTL 86400
@ IN SOA elrahma.user.linux05.
root.elrahma.user.linux05. (
20040908 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400) ; Minimum
IN NS elrahma.user.linux05
5 IN PTR elrahma.user.linux05

[root@labsoftware /root#]cat /var/named/user.zone


$TTL 86400
@ IN SOA elrahma.user.linux05.
root.elrahma.user.linux05. (
20040908 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400) ; Minimum

IN NS elrahma.user.linux05
IN MX 10 elrahma.user.linux05
elrahma IN A 192.168.0.105
www IN CNAME elrahma
ftp IN CNAME elrahma
mail IN CNAME elrahma

Sedangkan SNS membaca data copy dari PNS melalui sebuah mekanisme transfer data melalui protokol
DNS. Data yang dicopy disimpan dalam bentuk file zona yang diletakan di direktori /var/named pada
mesin SNS.
Format file zona terdiri dari kumpulan record yang berisi keterangan yang detil tentang sebuah domain
atau subdomain. Record-record tersebut antara lain:
SOA (Start of Authority) mengawali file zona, berisi data-data waktu sebuah domain atau
subdomnain.Lebih jelasnya seperti berikut:

@ IN SOA elrahma.user.linux05.
root.elrahma.user.linux05. (

7
20040908 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400) ; Minimum
Keterangan
@ Shortcut yang menyatakan nama domain yang bersesuaian dengan zona ini
IN Kata Kunci protokol internet
SOA Nama record SOA
localhost Name Server yang menangani domain ini
root.localhost Kontak administratif berupa email administrator, dalam hal ini
root@localhost
( dan ) bila ditulis lebih dari satu baris
Serial Nomor urut yang dibangkitkan setiap kali ada perubahan konfigurasi
Refresh Interval yang digunakan SNS untuk mengontak PNS
Retry waktu tunggu yang digunakanoleh SNS bila PNS down atau crash
Expire Masa berlaku zona untuk SNS tanpa harus melakukan refresh pada PNS jika
PNS down
Minimum Nilai default untuk masa berlaku data yang disimpan dalam cache

NS menyatakan Name Server yang berlaku


@ IN NS localhost.localdomain.
A menyatakan Address Internet atau alamat IP dari mesin yang ditangani oleh DNS ini
proses penerjemahan namanya
@ IN A 127.0.0.1
elrahma IN A 192.168.0.105
CNAME menyatakan nama Alias (Canonical Name). Contoh berikut ini menyatakan bahwa
mail adalah nama alias dari elrahma
mail IN CNAME elrahma
PTR menyatakan pointer, yaitu reversed-address. Contoh berikut ini menyatakan bahwa
IP 192.168.0.105 dipetakan ke nama domain atau subdomain elrahma
elrahma IN A 192.168.0.5
105.0.168.192.in-addr.arpa. IN PTR elrahma.
MX menyatakan Mail Exchanger, digunakan untuk menunjuk mail server yang
menangani email domain atau subdomain ini. Contoh berikut ini menentukan bahwa
email untuk elrahma.user.linux-05 akan diterima oleh mailserver dengan prioritas
lebih tinggi (super.elrahma.user.linux-05). Angka yang lebih kecil merupakan
prioritas yang lebih tinggi. Angka yang dimaksud adalah kolom ke-3 pada MX. Mail
server pada prioritas selanjutnya akan dihubungi apabila mail server sebelumnya
crash atau down.
elrahma IN MX 0 super.elrahma.user.linux-05
IN MX 10 drutz.elrahma.user.linux-05
HINFO, memberikan keterangan tentang perangkat keras yang digunakan server
elrahma IN HINFO “Intel Pentium III 667 – Linux Komura”
TXT menyatakan informasi umum
elrahma IN TXT “Server location : STMIK El Rahma Jogjakarta”
Praktikum:
Konfigurasikan sebuah host menjadi PNS dengan nama domain stmikelrahma.ac.id mempunyai range IP
192.168.x.2-192.168.x.15 (x nama kelompok)
Aturan:
a. Penentuan IP untuk host-host tertentu,misal untuk IP yang lain disimpan untuk keperluan
mendatang
ns1.stmikelrahma.ac.id : 192.168.x.1
ns2.stmikelrahma.ac.id : 192.168.x.2
www.stmikelrahma.ac.id : 192.168.x.3
mail.stmikelrahma.ac.id : 192.168.x.3
ftp.stmikelrahma.ac.id : 192.168.x.3
mp3.stmikelrahma.ac.id : 192.168.x.7
vhost.stmikelrahma.ac.id : 192.168.x.9
b. Membuat /etc/named.conf
c. Membuat file zona untuk domain stmikelrahma.ac.id diberi nama db.stmikelrahma.ac.id
d. Membuat file zona reverse-lookup untuk network 192.168.x diberi nama db.192.168.x
e. Tes hasil konfigurasi dengan mengaktifkan bind menggunakan perintah:
[root@labsoftware /root#]/etc/rc.d/init.d/named start
f. Lakukan pemeriksaan pada file /var/log/messages
g. Cek dengan tool nslookup dan dig

8
BAB 3
NFS Server

NFS Server merupakan program aplikasi untuk memudahkan client dalam melakukan sharing file
atau data. Melalui NFS memungkinkan, mesin kita untuk melakukan mounting mesin orang lain
atau server melalui remot sehingga bisa saling berbagi data atau menjalankan program aplikasi
Konfigurasi NFS Server
File-file yang perlu untuk dikonfigurasi:
/etc/exports
/etc/hosts.allow
/etc/hosts.deny
Langkah-langkah yang dilakukan:
1. Mengkonfigurasi NFS Filesystems
a. Masuk terminal console, login sebagai root
b. Lakukan editing pada file /etc/exports
c. Isikan script berikut ke file exports
/usr/share/doc 192.168.0.1(ro) 192.168.0.2(ro) 192.168.0.3(ro)
/home/data 192.168.0.1(rw) 192.168.0.2(rw) 192.168.0.3(rw)
d. Simpan
2. Konfigurasi /etc/hosts.deny
File ini berfungsi untuk memblokir akses ke server terhadap semua IP yang ada.
Langkah-langkah yang dilakukan:
a. Lakukan editing pada file hosts.deny
b. tambahkan pada file tersebut
portmap:ALL lockd:ALL mountd:ALL rquotad:ALL statd:ALL
c. Simpan
3. Konfigurasi /etc/hosts.allow
a. Lakukan editing pada file hosts.allow
b. tambahkan pada file tersebut
lockd: 192.168.0.1, 192.168.0.2, 192.168.0.3
rquotad: 192.168.0.1, 192.168.0.2, 192.168.0.3
mountd: 192.168.0.1, 192.168.0.2, 192.168.0.3
statd: 192.168.0.1, 192.168.0.2, 192.168.0.3
c. Simpan
4. Menjalankan service pendukung
a. Jalankan service portmap, dengan cara:
/etc/init.d/portmap start
b. Jalankan service NFS
/etc/init.d/nfs start
c. Pastikan program portmap dan nfs sudah jalan dengan perintah rpcinfo
[root@labsoftware /root#]rpcinfo –p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 617 rquotad
100011 2 udp 617 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100021 1 udp 1024 nlockmgr
100021 3 udp 1024 nlockmgr
100021 4 udp 1024 nlockmgr
100005 1 udp 1026 mountd
100005 1 tcp 1026 mountd
100005 2 udp 1026 mountd
100005 2 tcp 1026 mountd
100005 3 udp 1026 mountd
100005 3 tcp 1026 mountd
d. Jalankan lagi file /etc/exports.
[root@labsoftware /root#]exportfs -ra
e. Perintah di atas memaksa nfsd untuk membaca ulang file /etc/exports, yang telah kita
modifikasi
Konfigurasi Client
Setelah kita selesai mengkonfigurasi NFS pada server, maka selanjutnya adalah melakukan konfigurasi
NFS pada mesin client. Langkah-langkah yang dilakukan:
1. Loginlah sebagai root (Masih ingat caranya?)
2. Pastikan file /proc/filesystems ada baris nfs, seperti berikut:
[root@labsoftware /root#]more /proc
3. Mulailah melakukan mounting remote directories dengan langkah
a. Login sebagai root
b. Buat direktori baru di /mnt dengan nama /doc/ dan /share
c. Lakukan mounting direktori pada server
[root@labsoftware#]mount 192.168.0.254:/usr/share/doc /mnt/doc
4. Untuk melakukan mounting setiap kali komputer dinyalakan. Masukan perintah di atas ke dalam
file fstab

9
BAB 4
Server Samba

Samba merupakan implementasi dari protokol SMB (Server Message Block) pada sistem UNIX. Protokol
ini digunakan oleh Microsoft Windows (Mindows) untuk File dan Printing Sharing Service. Dengan
mengaktifkan samba pada mesin Linux, maka kita dapat berbagi file dan printer dengan Mindows.
Pada Linux kita bisa membuka (mounting) direktori yang di share pada Mindows juga dapat mengakses
secara langsung pada direktori tersebut. Sedangkan pada Mindows, kita dapat melihat direktori yang
dishare berupa icon yang terdapat dalam Network Neighborhood.
Instalasi
Di dalam Komura, paket samba terdapat pada file-file rpm, antara lain:
Samba*

Jika ketika melakukan instalasi komura pertama kali kita memilih untuk menginstall semua paket, maka
paket samba juga sudah termasuk di dalamnya.
File-file yang terinstall yang sering digunakan untuk mengkonfigurasi dan menjalankan samba antara
lain:
Θ /usr/sbin/smbd. Merupakan daemon yang menyediakan Service bagi pakai File dan Printer di sistem
UNIX untuk smb client seperti Windows 95/98 dan family windows yang lain. Untuk menjalankan
daemon ini perintah ya:
[root@labsoftware#]/usr/sbin/smbd –D
Θ /usr/sbin/nmbd. Merupakan daemon yang menyediakan penamaan NetBIOS dan kemampuan
browsing bagi SMB client. Untuk menjalankan daemon ini:
[root@labsoftware#]/usr/sbin/nmbd –D
Θ /usr/sbin/smbclient. Untuk mengakses direktori yang dishare di windows dengan modl FTP. Untuk
menggunakannya:
[root@labsoftware#]/usr/sbin/smbclient
Θ /usr/sbin/smbmount untuk mounting direktori yang dishare di Windows
[root@labsoftware#]smbmount //myserver/data /mnt/share
Θ /usr/sbin/smbumount untuk unmounting direktori yang dishare di Windows yang sudah dimounting
[root@labsoftware#]smbumount /mnt/share
Θ /usr/sbin/smbstatus.Melaporkan status koneksi samba
[root@labsoftware#]smbstatus
Θ /usr/sbin/smbadduser Menambahkan user ke file user sambadan file password samba
(/etc/smbpasswd)
[root@labsoftware#]smbumount /mnt/share
Θ /usr/bin/smbpasswd. Merubah password user. Contoh:
[root@labsoftware#]smbpasswd praktikum
New SMB password:
Retype new SMB password:
Password changed for user praktikum.
Θ /usr/bin/mksmbpasswd.sh. Shell script untuk menambahkan user pada /etc/passwd milik sistem
Linux ke /etc/smbpasswd milik samba. Cara menggunakannya:
#cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd
Θ /etc/smb.conf, merupakan file konfigurasi samba.
Masih ada lagi file-file yang lain yang diikutsertakan dalam paket samba ini, namun tidak sering
digunakan. Kita dapat mempelajari sendiri dengan membaca petunjuk manual dengan perintah:
#man samba atau #info samba
Konfigurasi samba
Saat daemon-daemon samba dihidupkan, daemon-daemon tersebut akan membaca file /etc/smb.conf
untuk mendapatkan berbagai informasi yang diperlukan untuk menghgubungkan jaringan Windows
dengan UNIX. Informasi tersebut antara lain, nama workgroup, password file, direktori yang dishare,
hak akses. Berikut ini konfigurasi samba standar pada /etc/smb.conf:
[global]
workgroup = Komura
server String = Komura File Server
hosts allow = 192.168.0.
load printers = yes
printcap name = /etc/printcap
printing = bsd
…………………….
max log size=50
security = share
socket options = TCP_NODELAY
interfaces=192.168.0.9/255.255.255.0
…………………….
[homes]
comment = Home Directories
browseable = no
writable = yes
[c_wind]
comment = Drive C Windows
path = /mnt/c
browseable = yes
writable = yes

10
BAB 5
Web Server

Web browser dan web server berkomunikasi menggunakan protokol HTTP (HyperText Transfer Protocol)
. Ketika sebuah web browser meminta sebuah dokumen HTML dari web server, hubungan dibuka,
kemudian dokumen ditransfer, dan setelah itu hubungan ditutup. Layanan yang menggunakan protokol
http ini memiliki nomor port 80 (default), sehingga web server akan selalu mendengarkan permintaan
client pada port 80. Ada beberapa contoh web server antara lain yaitu iis dari microsoft, apache bawaan
default dari Linux, Jetty web server untuk Java, dll. Pada praktikum kali ini yang digunakan adalah
apache.
Instalasi Server Web
Paket program apache dapat kita ambil dari CD instalasi Linux dengan cara:
#rpm –ivh apache-1.3.12.rpm
Untuk mengetahui apakah paket tersebut sudah terinstall atau belum gunakan perintah:
#rpm –q apache-1.3.12.rpm
Ketika instalasi selesai maka file-file yang perlu diperhatikan adalah:
#httpd.conf
#access.conf
#srm.conf

Konfigurasi Apache
File httpd.conf
Berikut adalah isi dari file httpd.conf:
ServerType. Konfigurasi yang menerangkan server, apakah dijalankan melalui inetd atau dijalankan
secara berdiri sendiri. Bila secara berdiri sendiri, maka server akan dijalankan secara manual.
ServerRoot. Suatu tempat direktori disimpannya file konfigurasi, file error.
PidFile. File yang menyimpan nomor proses dari apache yang dijalankan,
ResourceConfig dan AccessConfig. Isi dari file tersebut adalah konfigurasi untuk direktori sumber
(access.conf) dan konfigurasi izin akses (srm.conf). Kedua file tersebut adalah bersifat tambahan,
karena keduanya dapat diletakan di httpd.conf, ataupun dapat diletakan di masing-masing file
(acces.conf dan srm.conf)
TimeOut. Batas waktu yang digunakan untuk menganggap suatu koneksi terputus, yaitu ketika tidak
ada respon dari klien.
KeepAlive. Kemampuan server menerima request secara simultanyang berasal dari satu koneksi.
MaxKeepAliveRequests. Jumlah request maksimum yang diterima server secara simultan
KeepAliveTimeOut. Waktu yang ditentukan untuk menunggu request selanjutnya dari satu koneksi.
MinSpareServers dan MaxSpareServers. Jumlah server yang dibutuhkan untuk melayani setiap
request yang masuk.(biasa digunakan untuk situs web yang sangat sibuk)
StartServers. Jumlah server yang dijalankan oleh apache untuk inisialisasi ketika apache pertama kali
di
eksekusi.
MaxClients. Jumlah koneksi yang diizinkan secara simultan di server.
MaxRequestsPerChild. Jumlah request yang akan dilayani oleh child server sebelum child server
tersebut dimatikan.
BindAddress- Server akan otomatis menerjemahkan setiap alamat semua alamat ip yang ada di server
Port. Port yang akan di "dengarkan" oleh apache web server.
User dan Group. User dan group yang menjalankan apache web server.
ServerAdmin. Alamat email dari administrator web server.
ServerName. Nama server yang disesuaikan dengan FQDN (Full Qualified Domain Name), berfungsi
sebagai nama dari web server kita.
ErrorLog. Direktori dan nama file dimana kita menempatkan error log dari apache.
LogLevel. Jenis pesan-pesan log yang akan dicatat oleh web server. Ada beberapa kategori yang akan
dicatat ke dalam log file, yaitu emerg (emergency), alert, crit (critical), errors, warn, debug.
LogFormat. Bagian ini menenetukan format log file dan juga memberikan "nickname" untuk format
tersebut.
Bagian ini telah diberikan secara default oleh apache, dan sebaiknya tidak usah dirubah (kecuali kita
secara pasti tahu apa yang kita lakukan :) )
CustomLog. Log yang di konfigurasikan untuk mencatat setiap access request dari client. Juga
digunakan untuk mencatat secara default konfigurasi virtualhost (lihat virtualhost)
ServerSignature. Web Server Signature yang biasa muncul ketika file yang dicari tidak ditemukan dan
pada saat ftp. (on,off dan email)
UseCanonicalName. Bagian ini mengkonfigurasikan server apache agar membuat referensi sendiri
menggunakan ServerName dan Port sesuai yang ada di httpd.conf, apabila diset off, maka server akan
merespons sesuai dengan request dari client.
HostnameLookups. Perintah ini akan melog alamat IP dari setiap client yang mengakses server kita.
Direkomendasikan bagian ini di set off untuk site2 yang sangat sibuk, karena akan dapat membuat log
file menjadi besar.

File srm.conf
File srm.conf juga digunakan untuk mengatur masalah yang berhubungan dengan directory,
DocumentRoot, UserDir,
DirectoryIndex , MIME (Multi purpose Internet Mail Extension), ScriptAlias, CGI-Script dan definisidefinisi
dari extension lainnya, misal PHP, Perl dan lain-lain. Isi dari srm.conf adalah :

11
DocumenRoot. Path dari direktori yang berisi file-file dokumen utama dari situs kita.
UserDir. Direktori untuk user yang biasanya terletak di home directory dari user tersebut. URL yang
digunakan
untuk mengakses adalah http://server.kita.com/˜user <– menggunakan tanda ˜.
DirectoryIndex. File yang pertama kali akan diakses oleh client ketika client akan mengakses web
server
kita.
FancyIndexing. Suatu cara menampilkan isi dari suatu directory di server. Menggunakan fancy style
atau
tidak. Setelah konfigurasi ini biasanya diikuti dengan mendefinisikan path cari icon-icon yang akan
digunakan
untuk indexing.
AccessFileName. Mendefinisikan akses file yang akan digunakan untuk memproteksi suatu direktori.
Biasanya dinamakan .httaccess. Tanda . berarti file tersebut di hidden dan untuk kepentingan sekuritas,
nama file httaccess diganti)
Alias. Directory alias yang biasa digunakan untuk beberapa direktori khusus, misalkan cgi-bin.
DefaultType. Default type dari setiap dokumen yang ada di webserver kita.

File access.conf
File ini digunakan untuk mengatur hak pengaksesan di Web Server atau lebih sering disebut ACF
(Access Control File). Contoh :
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/usr/local/apache/htdocs">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
<Directory "/usr/local/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

Option-option yang umum digunakan untuk hak akses direktori adalah :


Indexes : Perizinkan setiap indexing dari suatu direktori, seperti AddDescription, AddIcon,
AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName,
IndexIgnore, IndexOptions, dan ReadmeName
Limit : Perizinan untuk mengakses suatu path disesuaikan dengan hostnamenya, seperti allow, deny
dan order.
Option : Perizinan untuk menggunakan option-option yang ada dalam masing-masing direktori.
Contohnya Option dan XbitHack.
Perhatian : Apabila pada httpd.conf baris dibawah di berikan comment (#) berarti semua konfigurasi
dari srm.conf dan access.conf diletakkan di file httpd.conf.

#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf

VirtualHost
VirtualHost merupakan salah satu fasilitas yang didukung oleh Apache. Fungsi dari Vhost ini adalah
untuk membuat
multiple host dalam satu mesin. Ada dua cara dalam mengkonfigurasi VirtualHost, atau dengan cara
IP-base, yaitu menggunakan banyak ip dalam satu mesin dan masing-masing ip digunakan untuk satu
domain, Contoh dari IP-Based VirtualHost :
<VirtualHost 192.168.0.50>
DocumentRoot /path/to/document
ServerName test.vhost1.com
</VirtualHost>

Name-based. menggunakan satu IP yang kemudian digunakan untuk banyak nama domain. Contoh
dari Name-Based VirtualHost :
NameVirtualHost 192.168.0.50
<VirtualHost 192.168.0.50>
DocumentRoot /path/to/document1
ServerName test.vhost1.com
</VirtualHost>
<VirtualHost 192.168.0.50>
DocumentRoot /path/to/document2
ServerName test.vhost2.com
</VirtualHost>

12
Konfigurasi modul-modul Apache
Modul-modul pada Apache adalah interface dimana modul-modul tersebut menentukan fitur-fitur apa
saja yang akan
dijalankan pada Apache Web Server. Untuk melihat modul-modul yang aktif adalah dengan
menggunakan perintah :
#/usr/local/apache/bin/httpd -l
Untuk meload modul-modul di apache ada dua cara :
_ Static Module
_ DSO (Dynamic Shared Object)
Apabila kita menginstal Apache mengunakan format rpm maka secara default cara loading modul secara
default secara
DSO. Untuk me-load modul secara DSO adalah kita tambahkan pada httpd.conf baris sebagai berikut
(misalkan kita
akan meload podul php4 dengan menggunakan DSO) :
LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c

Menjalankan serverWeb
Untuk menjalankan Apache yang perlu kita lakukan adalah :
#apachectl start

Apabila kita mengadakan perubahan file-file konfigurasi maka apache harus di-restart terlebih dahulu
agar perubahan
yang kita lakukan dapat memberikan pengaruh.
#apachectl restart

Untuk lebih lengkap melihat pilihan-pilihan dari apachectl


#apachectl --help

File httpd yang di hasilkan dari proses instalasi adalah program daemon yang membuka port 80
(default) untuk
LISTEN (mendengar) setiap request untuk web. Untuk dapat memanggil web server adalah sebagai
berikut :
http://namec <---
jika nama web server kita adalah namec Apabila kita menggunakan port yang tidak dari biasanya
(misalkan 8000)
maka pemanggilannya sebagai berikut :
http://namec:8000
Atau pemanggilannya dapat menggunakan IP Address dari mesin yang bersangkutan, misal :
http://192.168.0.1 <----
jika IP Address webserver kita 192.168.0.1

13
Bab 6
DHCP Server

Server DHCP (Dynamic Host Configuration Protocol) merupakan program aplikasi yang berjalan di
server, yang memungkinkan untuk PC client yang terhubung ke server tidak perlu melakukan
pengaturan nomor IP karena nomor IP sudah ditentukan oleh server.

Konfigurasi server DHCP


Untuk melakukan konfigurasi DHCP, kita dapat mengedit file /etc/dhcpd.conf. Beberapa parameter
harus diawali dengan kata “option”. Semua parameter termasuk option, yang dinyatakan sebelum
penggunaan tanda{} disebut dengan global parameter.
Adapun langkah-langkahnya adalah sebagai berikut :
1. Pada console login sebagai root.
2. Lakukan editing pada file /etc/dhcpd.conf
3. Di bawah ini diperlihatkan router menggunakan alamat ip 192.168.0.254 dan DNS (hanya satu
menggunakan alamat IP 192.168.0.254

subnet 192.168.1.0 netmask 255.255.255.0


{
option routers 192.168.0.254
option subnet-mask 255.255.255.0
option domain-name “jar.com”;
option domain-name-servers 192.168.1.1
option time-offset -5; #Eastern Standard Time
range 192.168.0.10 192.168.0.100
}

4. Kemudian kita tambahkan dengan penggunaan DNS ns1 dan ns2. Fungsi dari ns2 adalah untuk
melakukan backup jika ns1 mengalami crash atau shut down. Kita tambahkan juga dengan
group sharing, subnet, host, dan range alamat IP client yang kita izinkan untuk mengakses
server.

shared-network name
{
option domain-name “server.net”
option domain-name-servers
ns1.server.net, ns2.server.net;
option routers 192.168.0.254;

subnet 192.168.0.0 netmask 255.255.255.0


{
range 192.168.0.1 192.168.0.31;
}
subnet 192.168.0.32 netmask 255.255.255.0
{
range 192.168.0.33 192.168.0.63;
}
}

5. Setelah selesai, kita lanjutkan dengan group group sharing. kita terlebih dahulu harus
mengetahui alamat (mac) atau nomor seri dari setiap kartu jaringan yang akan kita daftar ke
DHCPD. Kemudian masukkan nomor seri kartu jaringan tersebut ke dalam kalimat hardware
ethernet. Seperti tampak pada contoh berikut ini:

group
{
option routers 192.168.0.254;
option subnet-mask 255.255.255.0
option domain-name “usb.co.id”;
option domain-name-servers 192.168.0.1;
option time-offset -5; #Eastern Standard Time
host untung
{
option host-name “uun.co.id”;
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.0.4;
}
host ibnu
{
option host-name “nawi.usb.co.id”;
hardware ethernet 00:A1:DD:74:C3:F2;
fixed-address 192.168.0.6;
}
}

14
6. Selanjutnya, kita masukan parameter range dari alamat IP klien yang bisa mengakses server.
Pada contoh di bawah ini, alamat range tersebut berkisar dari 192.168.0.10 sampai dengan
192.168.0.100

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.1, 192.168.0.2;
option domain-name “jar.com”;
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.10 192.168.0.100
}

7. Jika kita memutuskan untuk melakukan sharing IP secara statis, dimana kita secara langsung
bisa mengetahui aktifitas user yang kita kehendaki. Kita bisa melakukan pencatatan nomor seri
atau mac-address dari setiap client yang terhubung ke server sebelum kita daftarkan ke DHCPD,
untuk selanjutnya kita sertakan seperti contoh di bawah ini.

host untung {
option host-name “uun.co.id”;
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.0.4;
}

8. Jika kita menginginkan penggunaan DHCP hanya pada satu pintu, dalam arti hanya
menggunakan satu kartu jaringan, kita bisa menambahkan kalimat berikut ini:

# Command line options here


DHCPDARGS = eth0

9. Simpan hasil pekerjaan kita.


10. Jalankan DHCPD server dengan mengetikan perintah berikut:
[root@localhost:~1# /etc/init.d/dhcp.d start

11. Jika ingin diaktifkan oleh sistem secara otomatis pada saat PC dinyalakan, ada dua cara untuk
menjalankan dhcpd secara otomatis.

Menggunakan chkconfig
a. Pada konsol, lakukan login sebagai root
b. Masuk ke direktori /etc/init.d
Selanjutnya kita masuk ke direktori /etc/init.d
c. Mengaktifkan service
Untuk mengaktifkan service dhcpd, ketikan sintaks sebagai berikut:
[root@localhost:init.d]#chkconfig dhcpd 345
d. Selanjutnya DHCPD akan dijalankan secara otomatis oleh system pada saat kita menghidupkan PC.

Menggunakan program ntsysv


Ntsysv merupakan suatu program aplikasi yang berfungsi untuk menjalankan service pada suatu system
dengan cara yang interaktif. Adapun langkah-langkahnya adalah sebagai berikut:
a. Pada konsol, lakukan login sebagai root
b. Menjalank ntsysv
Untuk menjalankan ntsysv, kita tinggal mengetikkan sintaks perintah sebagai berikut:
[root@localhost:init.d]#ntsysv
c. Mengaktifkan service dhcpd
d. Kemudian tekan tombol [Ok] untuk keluar dari dari jendela service
e. Sekarang, DHCP server akan langsung berjalan secara otomatis, pada saat kita menyalakan PC.

Konfigurasi DHCP Client


Setting konfigurasi client Linux
Untuk melakukan konfigurasi pada client Linux, Kita bisa menggunakan tool yang disediakan setiap
distri (misal netconf dan drakconf) atau mengedit file /etc/sysconfig/networkseperti langkah-langkah
berikut:
1. Pada konsol, login sebagai root
2. Lakukan editing pada file /etc/sysconfig/network
3. Tambahkan kalimat seperti di bawah ini:
NETWORKING = yes
4. Fungsi tersebut di atas adalah memerintahkan system untuk senantiasa menjalankan network
pada saat komputer setiap kali dinyalakan
5. Kemudian lakukan editing pada file /etc/sysconfig/network-scripts/ifcfg-eth0
6. Pada file /etc/sysconfig/network-scripts/ifcfg-eth0, isikan kalimat sebagai berikut ini:

15
DEVICE = eth0
BOOTPROTO = dhcp
ONBOOT = yes

7. Untuk mengaktifkannya, kita bisa mengetikan perintah berikut ini :


root@localhost#/etc/init.d /network restart

Setting konfigurasi client windows


Untuk menjalankan DHCP pada windows client caranya adalah sebagai berikut:
1. Jalankan sistem operasi windows
2. Masuk Control Panel
3. Pilih bagian network
4. Pada TCP/IP, klik properties
5. Pilih tab IP address.
6. Klik pada bagian Obtain IP address automatically
7. Klik Ok
8. Restart windows untuk melihat efeknya.
Dengan cara demikian, setiap kali client windows menyalakan komputer, maka secara otomatis akan
menghubungi server terlebih dahulu untuk meminta alamat ip dan informasi jaringan internet lainnya.

16
BAB 7
Mail server

Pengenalan server mail


Mail server adalah program daemon yang bekerja menampung dan mendistribusikan email dalam
jaringan. Protokol yang umum digunakannya antara lain adalah protokol SMTP, POP3 dan IMAP. SMTP
(Simple Mail Transfer Protocol) digunakan sebagai standar untuk menampung dan mendistribusikan
email, sedangkan POP3 (Post Office Protocol v3) dan IMAP (Internet Mail Application Protocol)
digunakan agar user dapat mengambil dan membaca email secara remote, yaitu tidak perlu login ke
dalam sistem shell mesin mail server, cukup menghubungi port tertentu dengan mail client yang
mengimplementasikan protokol POP3 dan/atau IMAP. Lebih jelasnya, bila disebutkan ’mail server’, hal
ini dapat menunjukkan pada daemon-daemon yang bekerja dengan cara mengimplementasikan salah
satu protokol di atas.

Pada dasarnya untuk membaca email pada mesin mail server terdapat 2 cara, yaitu :
Secara lokal, yaitu dengan cara melakukan login ke dalam sistem shell pada mail server dan membaca
langsung email dari mailbox (berupa file atau direktori yang berisi text terformat standar email). Bila
hanya ini yang dapat
dilakukan, maka mail server cukup menyediakan daemon SMTP tanpa daemon POP3 dan/atau IMAP.
Secara remote, tanpa memasuki sistem shell tetapi melalui port POP3 atau IMAP tergantung mana
yang disediakan, dengan menggunakan tool mail client yang mengimplementasikan salah satu protokol
mail retrieval (mengambil email secara remote). Melalui cara ini, mail server selain harus menjalankan
daemon SMTP, harus juga menjalankan daemon POP3 dan/atau IMAP.
Mengetahui hanya ada 2 cara di atas, tentu kita dapat menyimpulkan sendiri bagaimana suatu layanan
email berbasiskan Web seperti mail.yahoo.com atau hotmail.com bekerja. Dan kini kita mengetahui
bahwa pekerjaan membangun mail server, adalah pekerjaan menginstal, mengkonfigurasi dan
mengoptimasi daemon SMTP sebagai MTA (Mail Transport Agent) dan/atau daemon POP3 dan/atau
IMAP sebagai mail retrieval.

Instalasi server mail (qmail)


a. Buat direktori /package/
#mkdir –p /package
#chmod 1755 /package/
b. Urai file paket program dalam direktori /package/
#cd /package/
#tar zxvf /usr/local/src/daemontools-0.76 tar.gz
c. Kompilasi dan setup daemontools
#cd admin /daemontools-0.76/
#package/install

Proses setup akan membuat direktori /service/ dan /command/. Pada file /etc/inittabakan ditambahkan:
SV: 123456: respawn: /command/ svscanboot

Berikan perintah: ‘telinit q’ agar program init membaca ulang konfigurasinya.

Instalasi ucspi-tcp
Paket program ucspi-tcp terdiri dari program server dan beberapa program aplikasi kecil lainnya. Paket
program ini berfungsi untuk membangun aplikasi client-server. Sekadar kita tahu saja, UCSPI sendiri
adalah kependekan dari UNIX Client Server Program Interface.
Paket software ini bisa menggantikan posisi inetd/xinetd yang biasanya dijadikan komponen standar
dalam semua distribusi linux. Karena ucspi-tcp mempunyai kelebihan dibandingkan dengan inetd/xinetd,
salah satu diantaranya adalah proses koneksi yang terjadi bersamaan bisa dibatasi dengan jumlah
tertentu.
Untuk menginstalasi paket ucspi sangat mudah meskipun dilakukan dengan cara manual
a. Download program dari http://www.elrahma.net/labkomputer/download/ucspi-tcp-0.88.tar.gz
b. Salin ke direktori /usr/local/src//
c. Urai file
#cd /usr/local/src
#tar –zxvf ucspi-tcp-0.88.tar.gz
d. Kompilasi dan setup program
#cd ucspi-tcp-0.88
#make
#make setup check
Instalasi checkpassword
Proses otentifikasi untuk protokol pop3 pada paket qmail standar dipakai program checkpassword.
Program ini akan menerima masukan dari program qmail-popup, yang terdapat dalam paket qmail. Jika
proses otentifikasi berhasil akan dijalankan program qmail-pop3d yang terdapat dalam paket qmail
juga.
Proses instalasi checkpassword secara manual cukup mudah, lakukan langkah-langkah berikut:
a. Download file dan simpan di /usr/local/src/ dari url:
http://www.elrahma.net/labkomputer/download/checkpassword-0.90.tar.gz
b. Uraikan file dengan perintah:
#cd /usr/local/src/

17
#tar zxvf checkpassword-0.90.tar.gz
c. Kompilasi dan setup dengan perintah
#cd checkpassword-0.90
#make
#make setup check
Tunggulah sesaat sampai program selesai diinstall. Setelah proses instalasi selesai, file checkpassword
akan diletakkan dalam direktori /bin/. Jika kita ingin mengubah letak program ini, file conf-home harus
diedit sesuai dengan keinginan anda.

Instalasi qmail
Setelah instalasi program-program pendukung server selesai kita siap menginstalasi qmail. Proses
instalasi tidak terlalu sulit jika sistem kita telah terinstal paket-paket program development yang
lengkap, jaringan yang fungsional dan DNS server yang telah berjalan dengan baik.
Tahapan-tahapan berikut akan menjelaskan kepada kita proses instalasi qmail secara manual:
a. Download file dan simpan di /usr/local/src/ dari url:
http://www.elrahma.net/labkomputer/download/qmail-1.03.tar.gz
b. Uraikan file
c. Membuat direktori /var/qmail untuk root direktori qmail
d. Siapkan user-user dan group-group untuk menjalankan server qmail. Hal ini perlu karena
keamanan qmail salah satunya bergantung kepada ini.
#groupadd nofiles
#groupadd qmail
#useradd –g nofiles –d /var/qmail/alias alias
#useradd -g nofiles –d /var/qmail/qmail qmaild
#useradd -g nofiles –d /var/qmail/qmail qmailp
#useradd -g qmail –d /var/qmail/qmail qmailq
#useradd -g qmail –d /var/qmail/qmail qmailr
#useradd -g nofiles –d /var/qmail/qmail qmails
#cd qmail-1.03
#make setup check

e. Dengan asumsi hostname dan DNS sudah diset dengan benar, jalankan perintah:
#./config
Jika skrip tidak menemukan hostname kita dari DNS, maka kita harus memakai perintah:
#./config-fast hostname
hostname kita ganti dengan nama komputer Anda.

Buat file untuk forward alamat e-mail standar


#cd ~alias; touch .qmail-postmaster.qmail-mailer-daemon .qmail-root
#chmod 644 ~alias/qmail*

Buat script /var/qmail/rc dengan editor vi. Isi file dengan:


#!/bin/sh
#$Id: qmail.rc,v 1.1.1.1 2004/10/06
#
#Ibnu Nawi
#http://www.elrahma.net
#

exec env – PATH=”/var/qmail/bin:$PATH” \


qmail-start ./Maildir/

Dalam skrip ini format penyimpanan email yang dipakai adalah format Maildir. Artinya user akan
menerima email mereka dalam direktori Maildir di home direktori mereka masing-masing.
Direktori ini bisa dibuat oleh masing-masing user dengan perintah:
#/var/qmail/bin/maildirmake Maildir

Atau kita sebagai administrator sistem, juga bisa membuat direktori maildir ini di template home
direktori, sehingga setiap user baru yang ditambahkan akan langsung dibuatkan direktori ini.
Jalankan perintah:
#/var/qmail/bin/maildirmake /etc/skel/Maildir

Sampai di sini instalasi qmail sidah selesai, tapi belum fungsional karena kita harus menjalankan
qmail dengan tcpserver dan svscan yang terdapat dalam paket ucspi-tcp dan daemontools.
Untuk menjalankan layanan pop3 akan dipakai paket checkpassword untuk proses otentifikasi.

Menjalankan qmail
Semua paket yang diperlukan untuk menjalankan server qmail sudah terinstall dan bisa dipakai,
tapi masing-masing masih belum bisa bekerjasama untuk berjalan sebagai mail server yang
sesungguhnya. Bagian ini akan menjelaskan kepada kita bagaimana mengintegrasikan program
tersebut.
Daemontools akan menjalankan skrip-skrip yang diletakan di dalam direktori /service. Untuk
mempermudah kita akan menyiapkan direktori khusus untuk qmail dan nanti hanya perlu
membuatkan link ke direktori /service
Langkah yang perlu dilakukan untuk menjalankan qmail dengan daemontools:

18
1. Membuat direktori untuk menjalankan service qmail dengan daemontools
#mkdir –p /var/qmail/supervise/qmail-send/log
#mkdir –p /var/qmail/supervise/qmail-smtpd/log
#mkdir –p /var/qmail/supervise/qmail-pop3d/log

2. Siapkan direktori untuk file-file log


#mkdir –p /var/log/qmail/smtpd
#mkdir –p /var/log/qmail/pop3d
#chown qmaill /var/log/qmail /var/log/qmail/smtpd /var/log/qmail/pop3d

3. Buat skrip-skrip server untuk qmail-send dan program log-nya


#vi /var/qmail/supervise/qmail-send/run
isi dengan
#!/bin/sh
#$Id: qmail-send.run,v 1.1.1.1 2004/10/06
#
#Skrip untuk menjalankan program qmail-send
#Ibnu Nawi (USB)
#http://www.elrahma.net
#
exec /var/qmail/rc
setelah disimpan
#vi /var/qmail/supervise/qmail-send/log/run
isi dengan
#!/bin/sh
#$Id: qmail-send-log.run,v 1.1.1.1 2004/10/06
#
#Skrip untuk menjalankan program multilog bagi qmail-send
#Ibnu Nawi (USB)
#http://www.elrahma.net
exec /usr/local/bin/setuidgid qmail \ /usr/local/bin/multilog t /var/log/qmail

4. Buat skrip-skrip server untuk qmail-smtpd


#vi /var/qmail/supervise/qmail-smtpd/run
isi dengan
#!/bin/sh
#$Id: qmail-smtpd.run,v 1.1.1.1 2004/10/06
#
#Skrip untuk menjalankan program qmail-smtpd
#Ibnu Nawi (USB)
#http://www.elrahma.net
QMAILDUID = ‘id –u qmaild’
NOFILESGID= ‘id –g qmaild’
MAXSMTPD = ‘cat /var/qmail/control/concurrencyincoming’
if [ -z “$QMAILDUID” –o –z “$NOFILESGID” –o –z “$MAXSMTPD” ];
then
echo QMAILDUID, NOFILESGID, or MAXSMTPD is not set in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
exec /usr/local/bin/softlimit –m 2000000 \
/usr/local/bin/tcpserver –v –R –l 0 –x /etc/tcp.smtp.cdb \
-c “$MAXSMTPD” –u “$QMAILDUID” –g “$NOFAILESGID” 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1
Setelah disimpan
#vi /var/qmail/supervise/qmail-smtpd/log/run
isi dengan
#!/bin/sh
#$Id: qmail-smtpd-log.run,v 1.1.1.1 2004/10/06
#
#Skrip untuk menjalankan program multilog bagi qmail-smtpd
#Ibnu Nawi (USB)
#http://www.elrahma.net
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail/smtpd

5. Buat skrip-skrip server untuk qmail-pop3d


#vi /var/qmail/supervise/qmail-pop3d/run
isi dengan
#!/bin/sh
#$Id: qmail-pop3d.run,v 1.1.1.1 2004/10/06
#
#Skrip untuk menjalankan program qmail-pop3d
#Ibnu Nawi (USB)
#http://www.elrahma.net
exec /usr/local/bin/softlimit –m 2000000 \
/usr/local/bin/tcpserver –v –R –H –l 0 0 110 \

19
/var/qmail/bin/qmail-popup ‘hostname –f’ \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
Setelah disimpan
#vi /var/qmail/supervise/qmail-pop3d/log/run
isi dengan:
#!/bin/sh
#$Id: qmail-pop3d-log.run,v 1.1.1.1 2004/10/06
#
#Skrip untuk menjalankan program multilog bagi qmail-pop3d
#Ibnu Nawi (USB)
#http://www.elrahma.net
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail/pop3d
6. Mengubah hakakses terhadap skrip-skrip yang telah dibuat supaya bisa dijalankan
#chmod 755 /var/qmail/supervise/qmail-send/run
#chmod 755 /var/qmail/supervise/qmail-send/log/run
#chmod 755 /var/qmail/supervise/qmail-smtpd/run
#chmod 755 /var/qmail/supervise/qmail-smtpd /log/run
#chmod 755 /var/qmail/supervise/qmail-pop3d/run
#chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

7. Menyiapkan file data yang diperlukan skrip run dalam direktori /var/qmail/supervise/qmail-
smtpd/ untuk menentukan jumlah e-mail yang boleh ditangani pada saat yang bersamaan.
File ini diletakkan dalam direktori /var/qmail/control/ dan diberi nama concurrencyincoming.
#echo 20 > /var/qmail/control/concurrencyincoming
#chmod 644 /var/qmail/control/concurrencyincoming

8. Membuat file yang berisi data host-host yang akan direlay oleh program qmail-smtpd. Data
ini diperlukan oleh program tcpserver untuk menolak setiap permintaan dari komputer yang
tidak terdaftar.
#echo ‘127.:allow.RELAYCLIENT = “”’>> /etc/tcp.smtp
#echo ‘192.168.0.:allow,RELAYCLIENT = “”’>> /etc/tcp.smtp
#tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
#chmod 644 /etc/tcp.smtp.cdb

Dengan isi file /etc/tcp.smtp seperti ini, maka program tcpserver hanya akan mengizinkan akses
dari komputer dengan nomor IP 127.* dan 192.168.0.*. Apabila klen yang sesuai dengan aturan
ini mengakses server smtp, maka tcpserver akan menambahkan variabel lingkungan
RELAYCLIENT. Jika qmail menerima variabel ini maka ia akan menerima relay dari host yang
sedang terkoneksi.

9. Langkah terakhir yang hatrus dilakukan supaya server qmail berjalan adalah dengan
membuat softlink dari direktori yang berisi skrip-skrip yang telah kita buat sebelumnya.
#ln –s /var/qmail/supervise/qmail-send/ /service/
#ln –s /var/qmail/supervise/qmail-smtpd/ /service/
#ln –s /var/qmail/supervise/qmail-pop3d/ /service/

Tunggu beberapa saat, qmail server akan segera berjalan.

Menguji hasil instalasi


Untuk melihat status proses dari mail server
#ps axf

Bisa juga menggunakan program svstat, untuk melihat status proses masing-masing daemon.
#svstat /service/qmail-*

20
BAB 8
Server FTP

Instalasi server FTP


FTP Server di aktifkan dengan mengeksekusi program ftp daemon yang kemudian akan sipa di
background dan mendengarkan (listen) di port 21 (default) untuk siap menerima request. Yang biasa
digunakan adalah wu-ftpd yang di kembangkan oleh Washington University. Seperti biasa :)
#rpm -ivh wu-ftpd-x.rpm

Konfigurasi server FTP


File-file konfigurasi untuk Wu-Ftpd terdapat di /etc sebagai berikut :
_ services
_ inetd.conf
_ ftpaccess
_ ftphosts
_ ftpusers
FTP Server ini dijalankan oleh internet super server yang disebut inetd, suatu file yang akan
menentukan cara penanganan port tertentu oleh program daemon
/etc/services
Isi dari file services di /etc digunakan untuk mendefinisian port-port yang tersedia dan dapat di
gunakan.
ftp-data 20/tcp
ftp 21/tcp
Dua baris diatas yang mendefinisikan kepada inetd bahwa data dan command di ftp server
menggunakan port tersebut.
/etc/inetd.conf
Baris yang menjalankan perintah inisialisasi ftp daemon adalah :
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
Keterangan dari baris diatas adalah :
_ ftp menerangkan nama service
_ stream menerangkan jenis soket yang digunakan
_ tcp menerangkan jenis protokol yang digunakan
_ nowait atau wait
_ root pengguna yang menjalankan daemon tersebut, hal ini akan berkaitan dengan hak pengguna
tersebut.
Biasanya dituliskan dalam format user[.group]
_ /usr/sbin/tcpd program daemon server yang dijalankan
_ in.ftpd -l -a argumen yang diberikan pada program server
/etc/ftpaccess
Hal-hal yang penting dalam konfigurasi akses ftp server adalah class, deny, limit, noretrieve, loginfails,
private, autogroup, dan guestgroup. Masing-masing fungsi akan dijelaskan kemudian.
class
Syntax :
class <classname> typelist addrglobal
Keterangan :
_ classname : adalah nama sebutan untuk sebuah class
_ typelist : daftar jenis user yang terdiri dari real, guest, anonymous
_ addrglobal : dapat berupa ip address ataupun host.domain.name dapat menggunakan wildcard "*".
Misal :
class all real,guest,anonymous *
yang berarti ftp server menerima setiap request dari real user, guest, dan anonymous dan dari mesin
mana
saja
deny
Sintaksnya adalah :
deny addrglobal message_file
Misal :
deny *.planet.tzo.com /etc/nggak-boleh-masuk.txt
Yang berarti ftp server menolak koneksi yang berasal dari semua host di bawah domain planet.tzo.com.

limit
Sintaks :
limit <classname> n times message_file
Keterangan :
_ n : adalah jumlah user yang diperbolehkan akses ke ftp server secara simultan
_ times : Jarak waktu yang di tetapkan biasanya dalam hitungan hari
Misal :
class lokal real *
limit lokal 100 0700-1300 /etc/kebanyakan.txt
Yang berarti real user yang di perbolehkan mengakses ftp server adalah sejumlah 100 orang dari jam 7
AM-1 PM.
Dan bila pengakses tersebut gagal melakukan login maka ditampilkan pesan pada file
/etc/kebanyakan.txt

21
loginfails
syntax :
loginfails number
Fungsinya adalah untuk menentukan berapa kali seorang user boleh salah memasukkan login dan
password sebelum disconnect. Misal :
loginfails 3
Artinya user diberikan mencoba 3 kali memasukkan password sebelum akhirnya koneksi diputuskan bila
password tidak tepat.

/etc/ftphosts
File ftphosts digunakan untuk akses kontrol dari ftp server. syntax :
allow <username> <addrglobal>
deny <username> <addrglobal>

/etc/ftpusers
File ini berisi daftar user yang tidak boleh akses ke ftp server

22
Bab 9
Proxy

Squid sebagai server proxy


Squid adalah salah satu implementasi dari proxy server yang juga menyimpan cache dari setiap respon
dari data yang bersangkutan. Singkatnya squid menerima permintaan akses data (request) dari client,
dan kemudian meneruskan ke alamat yang dituju (misal : www.yahoo.com), kemudian menyimpan data
dari alamat (misal: www.yahoo.com)
tersebut disimpan ke dalam direktori squid cache yang kemudian juga diteruskan ke client. Kegunaan
squid bila ada permintaan yang sama ke www.yahoo.com, karena sudah ada datanya pada cache maka
dapat langsung diberikan tanggapan dari squid server kita tanpa harus meneruskan request tersebut ke
www.yahoo.com, ini akan mempercepat akses sehingga dapat menghemat bandwidth.

Instalasi Squid
Instalasi squid dalam format rpm adalah sebagai berikut :
#rpm -ivh squid-2.2.3STABLE4.rpm

Konfigurasi Squid
Variabel-variabel yang dapat dianggap paling penting dalam konfigurasi squid adalah :
_ http_port (nilai defaultnya 3128). Setelah squid dijalankan maka squid akan siap dan mendengarkan
(LISTEN) listen di port 3128. Client yang akan menggunakan squid juga harus menggunakan port
tersebut agar dapat mengakses squid. Untuk lebih jelas konfigurasi client akan dijelaskan lebih lanjut
_ cache_mem (nilai defaultnya adalah 8 MB) .
_ cache_swap_high (nilai defaultnya 95%)
_ cache_swap_low (nilai defaultnya 90%)
_ acl (accsess control list). Acl dapat menentukan user-user yang dapat mengakses squid
_ http_access. ini akan mengatur siapa saja yang boleh mengkases squid berdasarkan access control list
nya

Konfigurasi client squid


Konfigurasi pada client (Netscape 4.71) : dilakukan dengan urutan menu sebagai berikut :
_ Edit | Preferences | Advanced | Proxies | Manual Proxies Configuration | View
_ Lalu masukkan alamat IP dari server proxy dan port aktifnya.
Gambar 7.1: Konfigurasi client proxy

Menjalankan Squid
Skrip untuk menjalankan program squid terdapat di /etc/rc.d/init.d. Untuk menjalankannya dilakukan
dengan:

#/etc/rc.d/init.d/squid start

Sedangkan untuk menghentikannya dapat dilakukan dengan :

#/etc/rc.d/init.d/squid stop

Kita dapat menguji apakah squid sudah berjalan dengan baik dengan mentesnya dari client atau
menggunakan port scanner seperti nmap (www.insecure.com/nmap), apabila port yang kita tentukan
(http_port) telah terbuka maka daemon squid telah berjalan dengan baik. File log squid dapat dilihat di
/var/log/squid/ sehingga dapat dimonitor setiap kegiatan yang dilakukan oleh squid ketika diakses oleh
client. Hal ini juga ataupun dapat digunakan
sebagai pendeteksi dari masalah-masalah yang mungkin timbul.

23
Bab 10
Dasar keamanan jaringan

Security ?
Ketika jaringan kita terhubung dengan sebuah WAN atau terhubung dengan Internet, maka kita tidak
hanya harus mempertimbangkan masalah keamanan dari tiap-tiap komputer di dalam jaringan kita,
tetapi juga harus memperhatikan keamanan jaringan secara keseluruhan. Kita tidak dapat menjamin
bahwa semua orang di "luar sana" adalah
orang baik-baik, sehingga permasalahan keamanan jaringan ini merupakan hal yang harus mendapat
perhatian yang lebih dari seorang administrator jaringan. Kita juga sebaiknya tidak selalu berpikir
bahwa keamanan jaringan bukan hanya berhubungan dengan hacker atau cracker dari "luar sana" tetapi
sering kali ancaman tersebut juga datang dari sisi jaringan internal kita sendiri.

Kepedulian masalah security


Berikut diberikan beberapa contoh hal-hal yang harus diwaspadai dalam keamanan jaringan :

Password Attack
_ Deskripsi : usaha penerobosan suatu sistem jaringan dengan cara memperoleh password dari jaringan
tersebut.
_ Pencegahannya : installah shadow password, suatu program enkripsi untuk melindungi password.

Malicious Code
_ Deskripsi : kode-kode pada suatu program yang "tersamar" yang tidak diketahui fungsi dan
manfaatnya, tetapi sewaktu-waktu dapat aktif dan beraksi membahayakan keadaan sistem.
_ Pencegahan : gunakan program-program seperti tripwire, TAMU, sXid atau dengan menggunakan
MD5Checksum.

Sniffer
_ Deskripsi : suatu usaha untuk menangkap setiap data yang lewat dari suatu jaringan.
_ Pencegahan : mengenkripsikan semua data yang akan kita lewatkan kedalam jaringan, misalnya
menggunakan ssh (secure shell) yang mempunyai fungsi yang sama dengan telnet tetapi semua data
yang dilewatkan kejaringan akan di enkrip dengan enkripsi 128 bit.

Scanner
_ Deskripsi : merupakan utilitas bantu untuk mendeteksi celah-celah keamanan.
_ Pencegahan : pada umumnya program-program scanner menggunakan paket SYN dan ACK untuk
mendeteksi celah-celah sekuriti yang ada pada suatu sistem, SYN dan ACK menggunakan ICMP
sehingga untuk pencegahannya adalah memfilter paket-paket ICMP dari sistem.

Spoofing
_ Deskripsi : merupakan penyerangan melalui autentifikasi suatu sistem ke sitem lainnya dengan
menggunakan paket-paket tertentu.
_ Pencegahan : konfigurasikan sistem untuk menolak semua paket yang berasal dari localhost,
memakai program enkripsi untuk akses remote (mis: ssh), mematikan service yang berhubungan
dengan "dunia luar" apabila dirasakan kurang diperlukan.

Denial of Service Attack (DoS)


_ Deskripsi : DoS merupakan serangan yang dilancarkan melalui paket-paket tertentu, biasanya paket-
paket sederhana dengan jumlah yang sangat banyak/besar dengan maksud mengacaukan keadaan
jaringan target.
_ Pencegahan : dilakukan dengan mematikan alamat broadcast , dan memfilter paket-paket ICMP, UDP,
serta
selalu melakukan update kernel yang digunakan oleh sistem.
Setting beberapa file
Beberapa file perlu dikonfigurasi untuk mengamankan jaringan.
_ /etc/host.allow. File ini digunakan untuk mengizinkan user dari luar untuk login ke dalam system
berdasarkan hostname dan IP addressnya.
_ /etc/host.deny. Berlawanan fungsi dengan host.allow, file ini berisi daftar hostname dan nomor IP
address yang dilarang melakukan remote login ke dalam system.
_ /proc/sys/net/ipv4/icmp_echo_ignore_all. File ini apabila bernilai "1" maka semua paket-paket yang
menggunakan port icmp akan di tolak.
_ /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts. Agak berbeda dengan file sebelumnya,
apabila bernilai "1" file ini hanya menolak semua paket-paket icmp yang berasal dari IP broadcasts. jadi
tidak seluruh paket icmp ditolak (deny).
_ /proc/sys/net/ipv4/conf/all/rp_filter. File ini digunakan untuk menghindari usaha spoofing
dari luar system. Set "1" untuk mengaktifkannya.
_ /proc/sys/net/ipv4/tcp_syncookies. SYN attack adalah sebuah serangan DoS yang akan menghabiskan
semua resource cpu dari system. Set "1" untuk mengaktifkannya.
_ /etc/pam.d/su. Apabila system menggunakan PAM, dapat dikonfigurasikan untuk membatasi akses
root berdasarkan user. Tambahkan dua baris di bawah pada /etc/pam.d/su,agar hanya user dibawah
group wheel saja yang dapat login sebagai root.

24
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel

_ /etc/lilo.conf. Untuk lebih mengamankan system tambahkan password dan statement restricted pada
lilo.conf agar tidak semua orang dengan mudah masuk ke dalam sistem dan mempunyai kekuasaan
root.

Perangkat bantu IDS (Intrussion Detection System)


Berikut adalah beberapa perangkat lunak bantu yang bisa digunakan untuk pendeteksi penyusup :
_ Portsentry. Sebuah program bantu yang cukup "ringan" dan tidak begitu sulit untuk
mengkonfigurasikan dan menggunakannya. Cocok untuk sistem jaringan kecil.
_ Snort. Program bantu ini berfungsi memeriksa data-data yang masuk dan melaporkan ke
administrator apabila ada "gerak-gerik" yang mencurigakan. Bekerja dengan prinsip program sniffer
yaitu mengawasi paket-paket yang melewati jaringan.
_ LIDS (Linux Intrussion Detection System) merupakan salah satu tools IDS yang sangat baik
dalam melindungi system. Ketika lids aktif, maka bahkan root sekalipun mempunyai akses yang sangat
terbatas sekali dalam mengkonfigurasikan system.
_ Carnivore. Sebenarnya tools ini lebih bisa dianggap sebagai sniffer daripada IDS. Dikembangkan di
amerika, kini Carnivore oleh FBI dipasang di semua server yang berfungsi sebagai tulang-punggung
(backbone) Internet yang ada di Amerika. Sehingga secara tidak langsung Amerika telah menyadap
semua data yang lewat dari seluruh penjuru dunia. Perlu diketahui bahwa hampir semua server utama
atau backbone yang ada di dunia ini berlokasi di Amerika Serikat.
Dan masih banyak tools untuk IDS lainnya yang dapat digunakan untuk lebih meningkatkan keamanan
sistem.

Informasi sekuriti di Internet


Beberapa informasi tentang security yang dapat diperoleh di Internet :
_ http://www.linuxsecurity.com
_ http://securityfocus.com
_ http://www.cert.org
_ http://atrittion.org
_ http://packetstorm.securify.com
_ http://www.karet.org
_ http://www.securitylinux.net
_ http://www.securityportal.com

25

You might also like