Anda di halaman 1dari 72

mini book

Pengenalan Jaringan Komputer Serta


Aplikasinya di GNU/Linux
Nur Kholis Majid
nur.kholis.majid@gmail.com
http://kholis.web.id
Lab. B201 Teknik Elektro Institut Teknologi Sepuluh Nopember
Surabaya
Kata Pengantar
Assalamualaikum Wr Wb.
Hai semua, ini adalah buku mini iseng hasil oprek-oprek di lab.b201. Semua isi didalam
kebanyakan bukan tulisan saya, saya hanya mengumpulkan, mencoba lalu menuliskan ulang
dengan kata-kata saya sendiri agar suatu saat jikalau saya lupa bisa saya manfaatkan kem-
bali.
Referensi yang saya ambil berasal dari tulisan senior-senior dan teman-teman saya di
kampus seperti mas sokam (http://sokam.or.id), mas galih (http://blog.galihsatria.
com), fuad (http://blog.its.ac.id/fuad), mas dhoto (http://dhoto.wordpress.com)
dll, maupun berbagai tutorial di internet seperti tulisan-tulisan mas fajar priyanto (http:
//linux2.arinet.org), pak onno w. purbo dan masih banyak lainya yang tidak dapat
disebutkan satu per satu. Terima kasih buat mereka semua.
Semoga buku mini saya ini bisa bermanfaat dan sumbangsih bagi perkembangan teknolo-
gi di indonesia. Apabila menemukan kesalahan atau ingin menyampaikan kritik/saran,
silahkan kirim ke nur.kholis.majid@gmail.com. Terima kasih.
Wassalamualaikum Wr Wb.
2
Daftar Isi
I Jaringan Komputer 6
1 Berdasarkan Skala 6
2 Berdasarkan Fungsi 6
2.1 Client-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Peer-to-Peer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Berdasarkan Topologi 6
3.1 Topologi Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Topologi Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Topologi Star . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Perangkat Jaringan 8
4.1 Network Interface Card (NIC) . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Kabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3 Hub, Switch atau Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
II Pengenalan TCP/IP 11
5 Physical Layer 11
6 Datalink Layer 12
7 Network Layer / Internet Layer 12
7.1 IP (Internet Protokol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2 ICMP (Internet Control Message Protocol) . . . . . . . . . . . . . . . . . . . 15
7.3 ARP (Address Resolution Protocol) . . . . . . . . . . . . . . . . . . . . . . . 15
8 Transport Layer 15
8.1 TCP (Transmission Control Protocol) . . . . . . . . . . . . . . . . . . . . . . 15
8.2 UDP (User Datagram Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9 Application Layer 16
III Dasar Kongurasi Jaringan 17
10 Layer 1 (Datalink) 17
11 Layer 2 (Network) 18
11.1 ARP (Address Resolution Protocol) . . . . . . . . . . . . . . . . . . . . . . . 18
11.2 IP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
11.3 Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
11.4 Ping dan traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12 Layer 3 (Transport) 21
13 File dan Tools Networking 21
13.1 File-le Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IV Domain Name System 23
14 Instalasi dan Kongurasi BIND 23
3
15 Testing Service DNS 26
15.1 host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
15.2 nslookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
15.3 dig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
V Firewall 28
16 Iptables 28
16.1 Dasar iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
16.2 Dua pendekatan setup rewall . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
16.3 Syntax Iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
16.4 Contoh Kasus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
17 Shorewall 33
17.1 Instalasi dan kongurasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
VI Proxy Server 38
18 Keuntungan dan kerugian Proxy server[8] 38
18.1 keuntungan proxy server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
18.2 kerugian proxy server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
19 Pengenalan dan Cara Kerja Squid 38
20 Bagian-bagian squid 39
20.1 ICP (Internet Cache Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . 39
20.2 Access Control List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
20.3 Autentikasi pada Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
20.4 Httpd Accelerator / Reverse Proxy Server . . . . . . . . . . . . . . . . . . . . 40
20.5 Transparent Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
20.6 Delay Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
21 Instalasi dan Kongurasi 41
21.1 auth parm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
21.2 http port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
21.3 cache peer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
21.4 icp port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
21.5 dead peer timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
21.6 hierarchy stoplist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
21.7 cache mem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
21.8 cache swap low/high . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
21.9 cache dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
21.10access log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
21.11cache mgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
21.12acl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
21.13http access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
21.14delay pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
21.15delay class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
21.16delay access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
21.17delay parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
VII File Sharing 49
4
22 Samba 49
22.1 Instalasi dan Kongurasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
22.2 Kongurasi dengan GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
23 FTP 53
23.1 FTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
23.2 FTP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
24 NFS 56
24.1 NFS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
24.2 NFS Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
VIII Print Server 58
25 CUPS 58
25.1 Instalasi dan Kongurasi CUPS server . . . . . . . . . . . . . . . . . . . . . . 58
25.2 Instalasi dan Kongurasi CUPS client . . . . . . . . . . . . . . . . . . . . . . 60
IX DHCP Server 61
26 DHCP Server 61
27 DHCP Client 63
X Network Monitoring 64
28 SNMP (Simple Network Management Protocol) 64
28.1 Instalasi SNMP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
28.2 Instalasi SNMP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
29 MRTG (Multi Router Trac Grapher) 66
XI Network Time Protocol (NTP) 69
30 NTP Server 69
31 NTP Client 70
5
Bagian I
Jaringan Komputer
Jaringan komputer adalah kumpulan dua atau lebih dari komputer yang saling berhubun-
gan dan saling bekerjasana satu sama lain. Produktitas dan esiensi merupakan bentuk
keuntungan yang kita dapat dari jaringan komputer. Tujuan dari jaringan komputer antara
lain:
Membagi sumber daya: contohnya berbagi pemakaian printer, CPU, memori, harddisk
Komunikasi: contohnya surat elektronik, instant messaging, chatting
Akses informasi: contohnya web browsing
Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer meminta
dan memberikan layanan (service). Pihak yang meminta layanan disebut klien (client) dan
yang memberikan layanan disebut pelayan (server). Arsitektur ini disebut dengan sistem
client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer.
Jaringan komputer diklasikasikan kedalam beberapa cara, antara lain:
1 Berdasarkan Skala
Local Area Network (LAN)
biasa digunakan pada skala kecil sekelas rumahan, kantor, pertokoan dll.
menggunakan ethernet 10/100/1000 Mbps.
Metropolitant Area Network (MAN)
mencakup area yang lebih luas (perkotaan)
menggunakan interkoneksi yang lebih baik. Gigabit ethernet, atau ber optik.
Wide Area Network (WAN)
area yang ditangani sangat luas (negara)
menggunakan media ber optik atau satelit.
2 Berdasarkan Fungsi
2.1 Client-Server
Yaitu jaringan komputer dengan komputer yang didedikasikan khusus sebagai server. Se-
buah service/layanan bisa diberikan oleh sebuah komputer atau lebih. Sedangkan yang
lain bertindak sebagai client yang menggunakan layanan server. Contohnya adalah sebuah
domain seperti www.google.com yang diakses oleh banyak komputer.
2.2 Peer-to-Peer
Yaitu bentuk jaringan dimana semua komputer berkedudukan sama. bisa sebagai server
sekaligus sebagai klien. Ini adalah kebalikan dari yang diatas.
3 Berdasarkan Topologi
Arsitektur Fisik jaringan biasa disebut sebagai topologi, yang merupakan suatu cara menghubungkan
komputer yang satu dengan komputer lainnya sehingga membentuk jaringan. Yang saat ini
banyak digunakan adalah bus, ring, star, mesh. Masing-masing topologi ini mempunyai ciri
khas, dengan kelebihan dan kekurangannya sendiri.
6
3.1 Topologi Bus
Semua komputer saling terhubung melewati sebuah jalur utama (bus). Kerusakan jalur
utama akan merusak semua jaringan.
Gambar 1: Topologi bus
3.2 Topologi Ring
Metode token-ring (sering disebut ring saja) adalah cara menghubungkan komputer sehingga
berbentuk ring (lingkaran). Setiap simpul mempunyai tingkatan yang sama. Jaringan akan
disebut sebagai loop, data dikirimkan kesetiap simpul dan setiap informasi yang diterima
simpul diperiksa alamatnya apakah data itu untuknya atau bukan.
Gambar 2: Topologi ring
3.3 Topologi Star
Kontrol terpusat, semua link harus melewati pusat yang menyalurkan data tersebut kesemua
simpul atau client yang dipilihnya. Simpul pusat dinamakan stasium primer atau server dan
lainnya dinamakan stasiun sekunder atau client server. Setelah hubungan jaringan dimulai
oleh server maka setiap client server sewaktu-waktu dapat menggunakan hubungan jaringan
tersebut tanpa menunggu perintah dari server.
7
Gambar 3: Topologi star
4 Perangkat Jaringan
4.1 Network Interface Card (NIC)
Merupakan suatu card yang terdapat di komputer yang berguna untuk menghubungkan
dengan komputer lain.
Pada komputer biasanya ada slot (tempat menancap card) yang disebut expansion slot.
Slot ini saat membeli komputer baru banyak yang kosong. Yang biasa terpasang adalah
untuk menancapkan VGA Card untuk menghubungkan antara CPU dan monitor. Dan
salah satu dari slot itu bisa dipakai untuk menancapkan NIC Card supaya bisa komputer
kita bisa terhubung dengan jaringan. Kadang-kadang sekarang NIC Card sudah terma-
suk dalam fasilitas Motherboard kita (onboard) sehingga kita tidak perlu lagi susah-susah
memasangnya.
Gambar 4: Network Card
Ada beberapa tipe antara lain yaitu ISA, PCI dan USB. Slot PCI lebih pendek dari ISA
tapi meskipun lebih pendek mendukung kecepatan I/O yang lebih cepat. Dari sisi protokol,
yang paling banyak dipakai adalah ethernet dan fast ethernet. Ada beberapa protokol lain,
tapi kurang populer yaitu Token Ring, FDDI dan ATM (dua protokol terakhir dipakai
untuk jaringan besar). Ethernet mendukung kecepatan transfer 10/100 Mbps bahkan ada
yang sudah 1 Giga bps. Untuk Laptop dikenal PCMCIA Card, mirip kartu kredit sedikit
tebal.
Disinilah terdapat MAC (Media Access Control) address yang unik untuk setiap NIC.
4.2 Kabel
1. UTP (Unshielded Twisted Pair)
8
Kabel paling murah berbentuk mirip kabel telepon, terdiri dari 4 pasang kabel. ter-
dapat 2 cara kongurasi kabel ini.
Cross, digunakan apabila 2 buah komputer ingin berhubungan langsung tanpa
melalui switch.
Gambar 5: Cross-over
Straight, digunakan untuk koneksi 2 buah komputer atau lebih dengan memakai
sambungan hub/switch.
Gambar 6: Straight-through
2. Coaxial
Mirip dengan kabel televisi, dulu banyak digunakan, tapi sekarang jarang sekali digu-
nakan. karena tidak luwes dan kecepatannya yang rendah.
Gambar 7: Kabel Coaxial
3. Fiber Optik
9
Menggunakan cahaya sebagai media tranfer sehingga sangat cepat dan tangguh. tapi
hal itu harus di bayar dengan harga yang tidak murah. Kabel ini sangat sensitif (tidak
dapat di tekuk) terdiri dari beberapa core yang dibalut hingga 4-5 lapisan sebagai
pelindung.
Gambar 8: Fiber Optik
4.3 Hub, Switch atau Router
Hub dan switch adalah perangkat dengan banyak port yang memungkinkan beberapa titik
(dalam hal ini komputer yang sudah memasang NIC Card) bergabung menjadi satu jaringan
dengan memakai kabel yang ada.
Sedangkan router adalah peralatan yang menghubungkan jaringan satu ke jaringan lain-
nya. router dapat berupa peralatan khusus (dedicated), maupun PC biasa yang difungsikan
sebagai router.
10
Bagian II
Pengenalan TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) adalah sekumpulan protokol
(aturan) yang digunakan dalam proses komunikasi data pada jaringan[2]. TCP/IP adalah
model protokol perbaikan dan pengembangan dari OSI (Open System Interconnection).
TCP/IP terdiri dari 4 layer yaitu: Datalink, Network, Transport, dan Application yang
berada diatas layer physical. Sehingga beberapa pihak ada yang memasukkan later physical
ini ke dalam TCP/IP menjadi layer ke 5.
Gambar 9: Layer TCP/IP
Layer TCP/IP terdiri atas sekumpulan protokol yang masing-masing bertanggung jawab
atas bagian-bagian tertentu dari proses komunikasi data. Berkat Prinsip ini, tugas masing-
masing protokol menjadi jelas dan sederhana. Protokol satu tidak perlu tahu cara kerja
protokol lain, yang di perlukan hanya bagaimana cara saling bertukar data.
5 Physical Layer
Layer ini merupakan dasar dari semua layer, pada layer ini terjadi transfer data dalam
bentuk sinyal-sinyal listrik. Umumnya layer ini terdiri dari hardware jaringan seperti kabel
UTP, kabel STP, kabel koaksial, kabel serial RS-232, NIC, Fiber optik dan lainnya, tetapi
disamping itu layer physical berfungsi sebagai
1
:
Denition of Hardware Specications
Operasi-operasi detil dari kabel, konektor, wireless, NIC adalah tugas utama dari
physical layer (walaupun sebagian adalah bagian dari Datalink layer)
Encoding and Signaling
Physical layer bertanggung dalam pengkodean dan pensinyalan yang mengubah data
bit kedalam bentuk sinyal yang dapat di kirimkan melalui jaringan.
Data Transmission and Reception
Setelah data di kodekan, physical layer juga bertanggung jawab saat pengiriman dan
penerimaan data.
Topology and Physical Network Design
Layer ini juga memperhatikan dan mempengaruhi perancangan suatu jaringan. seperti
LAN atau WAN.
1
http://www.tcpipguide.com/free/t PhysicalLayerLayer1.htm
11
6 Datalink Layer
Fungsi utama layer ini untuk mentrasfer data pada komputer yang berdekatan atau pada
jaringan yang sama. Selain itu mekanisme deteksi dan perbaikan error yang terjadi di
physical layer terjadi disini. Protokol-protokol yang ada di layer ini antara lain: Ethernet,,
Frame Relay, ATM, FDDI, WI-FI, WiMaX, Token Ring, GPRS, PPP dan lainnya
2
.
Berikut adalah fungsi-fungsi Datalink layer selengkapnya
3
:
Logical Link Control (LLC)
Berfungsi membangun dan mengontrol link logical antara node-node di jaringan. serta
menyediakan service kepada layer di atasnya dengan menyembunyikan kerumitan pada
layer Datalink.
Media Access Control (MAC)
Terdapat prosedur untuk mengatur akses pada media jaringan. Karena dalam jaringan
terdapat banyak node maka diperlukan pengaturan agar tidak terjadi konik. Contoh:
Ethernet menggunakan metode CSMA/CD sedangkan Token Ring menggunakan token
passing.
Data Framing
Bertanggung jawab pada enkapsulasi akhir dalam melengkapi pesan dari layer diatas-
nya lalu mengubahnya menjadi frame-frame dan selanjutnya di kirim ke physical layer
untuk di kirim ke jaringan.
Addressing
Tiap peralatan di jaringan memiliki nomor yang unik yang disebut MAC address.
yang digunakan untuk memastikan data sampai pada mesin tujuan dengan benar.
Error Detection and Handling
Menangani error yang terjadi di level bawah. Contoh: cyclic redundancy check (CRC)
7 Network Layer / Internet Layer
Layer ini bertanggung jawab pada pengiriman paket end to end (dari sumber ke tujuan)
melalui satu atau beberapa network, berbeda dengan Datalink layer yang bertanggung jawab
pada pengiriman frame node to node. Protokol-protokol yang ada di layer ini antara lain:
IP, ICMP, ARP, RARP, OSPF, IGMP dan lainnya.
Umumnya protokol di layer ini bersifat connectionless, dan unreliable. Beberapa fungsi
Network layer antara lain:
Logical Addressing
Tiap mesin di jaringan harus mempunyai alamat logical yang unik, alamat ini harus
independent terhadap hardware.
Routing
Meneruskan data ke jaringan lain melalui satu atau beberapa jaringan.
Datagram Encapsulation
Seperti layer-layer lainnya, layer ini juga menambahkan header dari paket data di
atasnya.
Fragmentation and Reassembly
Data yang akan dikirim ke Datalink kadang melebihi besar kapasitas data. sehingga
harus di pecah lalu di kirimkan ke datalink. Sesampainya di network layer tujuan data
ini harus di gabungkan lagi.
2
http://en.wikipedia.org/wiki/Data link layer
3
http://www.tcpipguide.com/free/t DataLinkLayerLayer2.htm
12
Error Handling and Diagnostics
Protokol khusus di layer ini mengijinkan alat yang terhubung secara logical, atau
yang berusaha mengatur trac untuk saling bertukar informasi tentang status host di
jaringan atau dirinya sendiri.
7.1 IP (Internet Protokol)
Protokol IP merupakan inti dari protokol TCP/IP. Seluruh data yang berasal dari protokol
pada layer di atas IP harus dilewatkan, diolah oleh protokol IP. dan dipancarkan sebagai
paket IP, agar sampai ke tujuan. Dalam melakukan pengiriman data. IP memiliki sifat yang
dikenal sebagai unreliable, connectionless, datagram delivery service.
Unreliable/Tidak handal berarti bahwa Protokol IP tidak menjamin datagram yang
dikirim pasti sampai ke tempat tujuan. Protokol IP hanya berjanji ia akan melakukan
usaha sebaik baiknya (best eort delivery sevice). Agar paket yang dikirim tersebut sampai
ke tujuan. Sedangkan connectionless berarti dalam mengirim paket dari tempat asal ke
tujuan, pihak pengirim dan penerima paket IP sama sekali tidak mengadakan perjanjian
(handshake) terlebih dahulu.
Datagram delivery service berarti setiap paket data yang dikirim adalah independen
terhadap paket data yang lain. Akibatnya, jalur yang ditempuh oleh masing-masing paket
data IP ke tujuannya bisa jadi berbeda satu dengan lainnya, Karena jalur yang ditempuh
berbeda, kedatangan paket pun bisa jadi tidak berurutan.
Mengapa metode seperti ini dipakai dalam pengiriman paket IP? Hal ini dilakukan untuk
menjamin tetap sampainya paket IP ini ke tujuan, walaupun salah satu jalur ke tujuan itu
mengalami masalah[2].
IP Address
Supaya komputer bisa terhubung dengan benar memerlukan adanya IP Address di setiap
komputer.
IP Address terdiri dari bilangan biner sepanjang 32 bit yang dibagi atas 4 segmen.
Tiap segmen terdiri atas 8 bit yang berarti memiliki nilai desimal dari 0 - 255. Range ad-
dress yang bisa digunakan adalah dari 00000000.00000000.00000000.00000000 sampai den-
gan 11111111.11111111.11111111.11111111. Jadi, ada sebanyak 232 kombinasi address
yang bisa dipakai diseluruh dunia (walaupun pada kenyataannya ada sejumlah IP Address
yang digunakan untuk keperluan khusus). Jadi, jaringan TCP/IP dengan 32 bit address ini
mampu menampung sebanyak 232 atau lebih dari 4 milyar host.
Untuk memudahkan pembacaan dan penulisan, IP Address biasanya direpresentasikan
dalam bilangan desimal. Jadi, range address di atas dapat diubah menjadi address 0.0.0.0
sampai address 255.255.255.255. Nilai desimal dari IP Address inilah yang dikenal dalam
pemakaian sehari-hari. Beberapa contoh IP Address adalah :
202.95.151.129
202.58.201.211
172.16.122.204
Ilustrasi IP Addres dalam desimal dan biner dapat dilihat pada gambar 1 berikut:
Gambar 10: IP Address dalam biner dan desimal
IP Address dapat dipisahkan menjadi 2 bagian, yakni :
13
1. Bagian network (bit-bit network/network bit) dan bagian host (bit-bit host/host bit).
Bit network berperan dalam identikasi suatu network dari network yang lain,
2. Bagian host, yang berperan dalam identikasi host dalam suatu network. Jadi, seluruh
host yang tersambung dalam jaringan yang sama memiliki bit network yang sama.
Ada 3 kelas address yang utama dalam TCP/IP, yakni :
1. Kelas A: 8 bit pertama merupakan bit network sedangkan 24 bit terakhir merupakan
bit host.
2. Kelas B: 16 bit pertama merupakan bit network sedangkan 16 bit terakhir merupakan
bit host.
3. Kelas C: 24 bit pertama merupakan bit network sedangkan 8 bit terakhir merupakan
bit host.
Gambar 11: Kelas-kelas IP
Selain ke tiga kelas di atas, ada 2 kelas lagi yang ditujukan untuk pemakaian khusus,
yakni kelas D dan kelas E. Jika 4 bit pertama adalah 1110, IP Address merupakan kelas D
yang digunakan untuk multicast address, yakni sejumlah komputer yang memakai bersama
suatu aplikasi (bedakan dengan pengertian network address yang mengacu kepada sejumlah
komputer yang memakai bersama suatu network). Salah satu penggunaan multicast address
yang sedang berkembang saat ini di Internet adalah untuk aplikasi real-time video confer-
ence yang melibatkan lebih dari dua host (multipoint), menggunakan Multicast Backbone
(MBone). Kelas terakhir adalah kelas E (4 bit pertama adalah 1111 atau sisa dari seluruh
kelas). Pemakaiannya dicadangkan untuk kegiatan eksperimental.
Address Khusus
Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis address yang
digunakan untuk keperluan khusus dan tidak boleh digunakan untuk pengenal host. Address
tersebut adalah :
1. Broadcast Address.
Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh
seluruh host yang ada pada suatu network. Seperti diketahui, setiap paket IP memiliki
header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket terse-
but. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket
tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin
mengirim paket kepada seluruh host yang ada pada networknya? Tidak esien jika ia
harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth
akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket
tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup men-
girim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima
paket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memili-
ki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagai
IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address un-
tuk menerima paket : pertama adalah IP Addressnya yang bersifat unik dan kedua
14
adalah broadcast address pada network tempat host tersebut berada. Address broad-
cast diperoleh dengan membuat seluruh bit host pada IP Address menjadi 1. Jadi,
untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnya
adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga
11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang
dibroadcast biasanya adalah informasi routing.
2. Alamat loopback
Alamat loopback digunakan oleh komputer untuk menunjuk dirinya sendiri. Alamat
ini berawalan 127 sehingga tidak boleh digunakan untuk keperluan lainnya.
3. IP private
Adalah ip yang boleh digunakan oleh tiap-tiap orang ketika membuat jaringan. ip
private terdiri dari 3 buah. yaitu:
10.0.0.0-10.255.255.255 netmask 255.0.0.0 (Kelas A)
172.16.0.0-172.31.255.255 netmask 255.240.0.0 (Kelas B)
192.168.0.0192.168.255.255 netmask 255.255.0.0 (Kelas C)
7.2 ICMP (Internet Control Message Protocol)
ICMP bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan per-
hatian khusus. Pesan ICMP dikirim ketika terjadi masalah pada layer IP dan layer di
atasnya (TCP/UDP). seperti matinya host tujuan atau putusnya koneksi. Sehingga sangat
membantu mengetahui kondisi jaringan.
7.3 ARP (Address Resolution Protocol)
Berfungsi memetakan IP address ke MAC address. Karena dalam pengiriman data diper-
lukan MAC address tujuan. ARP bekerja dengan mengirimkan paket berisi IP address yang
ingin diketahui ke alamat broadcast. Semua host dalam jaringan akan mengetahui, dan akan
dijawab oleh yang cocok saja dengan menyertakan IP dan MAC addressnya. Kebalikan dari
ARP adalah RARP (Reverse Address Resolution Protocol).
8 Transport Layer
Ada dua protokol utama yang banyak digunakan pada layer ini, TCP (Transmission Control
Protocol) dan UDP (User Datagram Protocol). Contoh Aplikasi yang menggunakan protokol
TCP seperti email, website, ftp, dll. sedang yang menggunakan protokol UDP seperti: DNS,
NFS, VoIP, Streaming Audio/Video, dll.
8.1 TCP (Transmission Control Protocol)
TCP merupakan protokol transport yang bersifat connection oriented, reliable, byte stream
service. Connection oriented berarti sebelum melakukan pertukaran data, dua aplikasi peng-
guna TCP harus melakukan pembentukan hubungan (handshake) terlebih dahulu. Reliable
berarti TCP menerapkan proses deteksi kesalahan paket dan retransmisi. Sedangkan byte
stream service berarti paket dikirim secara berurutan.
8.2 UDP (User Datagram Protocol)
UDP adalah protokol transport yang sederhana. Berbeda dengan TCP, UDP bersifat con-
nectionless dan tidak ada sequencing (pengurutan data kembali) paket yang datang, ac-
knowledgement ataupun retransmisi terhadap paket yang error.
Protokol ini digunakan pada aplikasi yang secara periodik melakukan aktivitas tertentu.
sehingga hilangnya data pada suatu saat dapat diperbaiki pada waktu berikutnya. misalnya
query atau streaming.
15
9 Application Layer
Merupakan layer teratas tempat aplikasi kita berjalan. Aplikasi-aplikasi tersebut antara
lain: DHCP, DNC, FTP, HTTP, IMAP4, IRC, SMTP dan banyak yang lain. Disinilah
tempat data asli yang akan di kirimkan. data akan di tambah header tiap kali melewati
layer dibawahnya sehingga jumlahnya semakin besar.
Gambar 12: Data pada tiap layer TCP/IP
16
Bagian III
Dasar Kongurasi Jaringan
10 Layer 1 (Datalink)
Untuk mengetahui interface network yang ada dapat di gunakan perintah lspci.
1 root@air :~# lspci
2 00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
3 00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
4 00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
5 00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
6 00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
7 00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
8 00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
9 00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
10 00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
11 00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
12 00:05.0 VGA compatible controller: nVidia Corporation MCP51 PCI -X GeForce Go 6100 (rev a2
)
13 00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
14 00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)
15 00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)
16 00:0a.3 Co -processor: nVidia Corporation MCP51 PMU (rev a3)
17 00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
18 00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
19 00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev f1)
20 00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev f1)
21 00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
22 00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
23 00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
24 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport
Technology Configuration
25 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
26 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
27 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous
Control
28 03:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini -PCI (rev 01)
Baris 23 menunjukkan bahwa ethernet card sudah dikenali dan siap digunakan. Untuk
melihat apakah linknya sudah ada atau belum, dapat menggunakan perangkat lunak mii-tool
(media independent interface) yang ada pada paket net-tools. Atau juga bisa menggunakan
ethtool.
1 root@air :~# apt -get install net -tools
2 root@air :~# mii -tool
3 eth0: negotiated 100 baseTxFD , link ok
4
5 root@air :~# ethtool eth0
6 Settings for eth0:
7 Supported ports: [ MII ]
8 Supported link modes: 10baseT/Half 10baseT/Full
9 100 baseT/Half 100 baseT/Full
10 Supports auto -negotiation: Yes
11 Advertised link modes: 10baseT/Half 10baseT/Full
12 100 baseT/Half 100 baseT/Full
13 Advertised auto -negotiation: Yes
14 Speed: 100Mb/s
15 Duplex: Full
16 Port: MII
17 PHYAD: 1
18 Transceiver: external
19 Auto -negotiation: on
20 Supports Wake -on: g
21 Wake -on: d
22 Link detected: yes
Baris ke 1 hanya di lakukan apabila mii-tool belum diinstall. Apabila sudah keluar
eth0 seperti baris 3 artinya perangkat jaringan kita menggunakan eth0. 100base-TX-FD
artinya kita menggunakan kecepatan 100Mbps dan FD adalah Full-Duplex. dan Link ok
menandakan perangkat kita sudah siap.
Apabila hasilnya bukan link ok artinya ada masalah dengan perangkat kita.
17
1 root@air :~# mii -tool
2 eth0: no link
Apabila tampilan seperti tersebut, artinya terjadi kesalahan dengan perangkat jaringan
kita.
11 Layer 2 (Network)
11.1 ARP (Address Resolution Protocol)
Untuk mengecek ARP dapat dilakukan dengan:
1 root@air :~# arp -n
2 Address HWtype HWaddress Flags Mask Iface
3 10.122.1.77 ether 00:E0:4D:20:FE:3C C eth0
4 10.122.1.1 ether 00:80:3E:67:71: E8 C eth0
5 10.122.1.77 ether 00:E0:4D:20:FE:3C C eth0
Ini menunjukkan tabel ARP yang ada di komputer kita artinya komputer kita baru saja
terhubung dengan komputer dengan IP diatas. Suatu host akan membroadcast ARP request
untuk mendapatkan MAC address dari sebuah IP address. Host yang sesuai akan merespons
request dengan mengirimkan IP Address sekaligus MAC addressnya. Lalu host perequest
akan menyimpan informasi ini pada ARP Cache[3].
1 root@air :~# tcpdump -enqti eth0
2 tcpdump: listening on eth0
3 0:80:c8:f8:4a:51 ff:ff:ff:ff:ff:ff 42: arp who -has 10.122.1.52 Tell 10.122.1.50
4 0:80:c8:f8:5c:73 0:80:c8:f8:4a:51 60: arp reply 10.122.1.52 is-at 0:80:c8:f8:5c:73
5 0:80:c8:f8:4a:51 0:80:c8:f8:5c:73 98: 10.122.1.50 > 10.122.1.52: icmp: echo request (DF)
Baris 3: host 10.122.1.50 membroadcast ARP untuk host 10.122.1.52
Baris 4: host yang sesuai (10.122.1.52) membalas dengan ARP reply dengan menyer-
takan MAC Addressnya
Baris 5: host 10.122.1.50 menghubungi host 10.122.1.52
11.2 IP Address
Untuk mengetahui dan mensetting IP address dapat dilakukan dengan perintah ifcong.
1 root@air :~# ifconfig
2 eth0 Link encap:Ethernet HWaddr 00:16:36: e8:83:c2
3 inet addr :10.122.1.52 Bcast :10.122.1.255 Mask :255.255.255.0
4 inet6 addr: fe80 ::216:36 ff:fee8 :83c2/64 Scope:Link
5 UP BROADCAST RUNNING MULTICAST MTU :1500 Metric :1
6 RX packets :9932 errors :0 dropped :0 overruns :0 frame :0
7 TX packets :679 errors :0 dropped :0 overruns :0 carrier :0
8 collisions :0 txqueuelen :1000
9 RX bytes :1074312 (1.0 MB) TX bytes :133914 (130.7 KB)
10 Interrupt :20 Base address :0xa000
11
12 lo Link encap:Local Loopback
13 inet addr :127.0.0.1 Mask :255.0.0.0
14 inet6 addr: ::1/128 Scope:Host
15 UP LOOPBACK RUNNING MTU :16436 Metric :1
16 RX packets :2657 errors :0 dropped :0 overruns :0 frame :0
17 TX packets :2657 errors :0 dropped :0 overruns :0 carrier :0
18 collisions :0 txqueuelen :0
19 RX bytes :138080 (134.8 KB) TX bytes :138080 (134.8 KB)
Baris 2-10 adalah properti dari network card (eth0), sedangkan baris 12-19 adalah alamat
loopback. Untuk mengubah ip address dapat dilakukan dengan:
18
1 root@air :~# ifconfig eth0 192.168.0.1 netmask 255.255.25.0 up
Agar tiap kali booting tidak harus menambah ip address maka lebih baik kongurasi ini
disimpan dalam le. File kongurasi ip address ada di /etc/network/interface, isilah dengan
format seperti:
1 auto lo
2 iface lo inet loopback
3
4 auto eth0
5 iface eth0 inet static
6 address 10.122.1.52
7 netmask 255.255.255.0
8 gateway 10.122.1.1
9 dns -nameserver 10.122.1.254
Untuk merestart interface dan meload kongurasi di /etc/network/interface gunakan:
1 root@air :~# /etc/init.d/networking restart
11.3 Routing
Untuk mengetahui routing tabel dapat digunakan perintah route
1 root@air :~# route
2 Kernel IP routing table
3 Destination Gateway Genmask Flags Metric Ref Use Iface
4 10.122.1.0 * 255.255.255.0 U 0 0 0 eth0
5 link -local * 255.255.0.0 U 1000 0 0 eth0
6 default 10.122.1.1 0.0.0.0 UG 100 0 0 eth0
Baris 4 menunjukkan bahwa untuk ke jaringan 10.122.1.0 tidak melewati gateway (* sama
dengan 0.0.0.0 yang berarti jaringan ini). Sedangkan baris 5 link-local (yang mempunyai
alamat 169.254.0.0) juga tidak melewati gateway. Baris 6 Destination: default berarti semua
jaringan selain 2 jaringan diatasnya selalu melewati Gateway: 10.122.1.1.
Untuk menambah routing misalnya kita ingin menambahkan routing ke jaringan 192.168.0.0
dengan netmask 255.255.255.0 melewati 10.122.1.50 dapat dilakukan dengan:
1 root@air :~# route add -net 192.168.0.0 netmask 255.255.255.0 gateway 10.122.1.50
2 root@air :~# route
3 Kernel IP routing table
4 Destination Gateway Genmask Flags Metric Ref Use Iface
5 192.168.0.0 10.122.1.50 255.255.255.0 UG 0 0 0 eth0
6 10.122.1.0 * 255.255.255.0 U 0 0 0 eth0
7 link -local * 255.255.0.0 U 1000 0 0 eth0
8 default 10.122.1.1 0.0.0.0 UG 100 0 0 eth0
Terlihat bahwa infomasi routing akan ditambahkan pada tabel routing (baris 5). Sedan-
gkan untuk menghapus routing dapat dilakukan dengan:
1 root@air :~# route del -net 192.168.0.0 netmask 255.255.255.0
Selengkapnya dapat dibaca pada man route. Agar tiap kali booting tidak harus menam-
bah informasi routing maka kongurasi dapat disimpan di le sehingga akan di eksekusi
tiap kali booting. Script berikut (baris 11) bisa ditambahkan pada bagian akhir dari le
/etc/network/interface untuk menambah informasi routing.
19
1 auto lo
2 iface lo inet loopback
3
4 auto eth0
5 iface eth0 inet static
6 address 10.122.1.52
7 netmask 255.255.255.0
8 gateway 10.122.1.1
9 dns -nameserver 10.122.1.254
10
11 up route add -net 192.168.0.0 netmask 255.255.255.0 gateway 10.122.1.50
11.4 Ping dan traceroute
Ping adalah salah satu aplikasi dari protokol ICMP yang berfungsi mengetahui ada tidaknya
koneksi antara suatu host ke host lainnya.
1 kholis@air :~$ ping 10.122.1.1
2 PING 10.122.1.1 (10.122.1.1) 56(84) bytes of data.
3 64 bytes from 10.122.1.1: icmp_seq =1 ttl=64 time =5.91 ms
4 64 bytes from 10.122.1.1: icmp_seq =2 ttl=64 time =2.95 ms
5 64 bytes from 10.122.1.1: icmp_seq =3 ttl=64 time =2.96 ms
6 64 bytes from 10.122.1.1: icmp_seq =4 ttl=64 time =3.02 ms
Apabila host tidak berhasil dihubungi (tidak terdapat koneksi karena berbagai alasan),
maka akan keluar seperti berikut:
1 kholis@air :~$ ping 10.122.1.99
2 PING 10.122.1.99 (10.122.1.99) 56(84) bytes of data.
3 From 10.122.1.52 icmp_seq =1 Destination Host Unreachable
4 From 10.122.1.52 icmp_seq =2 Destination Host Unreachable
5 From 10.122.1.52 icmp_seq =3 Destination Host Unreachable
traceroute adalah program untuk mengetahui jalur yang dilewati paket menuju tujuan-
nya.
1 root@air :~# traceroute 10.200.1.1
2 traceroute to 10.200.1.1 (10.200.1.1) , 30 hops max , 40 byte packets
3 1 10.122.1.1 (10.122.1.1) 0.452 ms 0.638 ms 0.904 ms
4 2 10.224.2.1 (10.224.2.1) 0.459 ms 0.952 ms 1.088 ms
5 3 10.200.1.1 (10.200.1.1) 0.319 ms 0.327 ms 0.327 ms
Sedangkan mtr adalah tool gabungan dari ping dan traceroute sehingga lebih mudah
untuk di pahami.
1 root@air :~# mtr proxy.its.ac.id
Gambar 13: mtr
20
12 Layer 3 (Transport)
Aplikasi yang digunakan untuk mengetahui penggunaan layer transport adalah perintah
netstat. Untuk mengetahui port berapa saja yang terbuka untuk koneksi pada PC kita
dapat diketahui dengan perintah :
1 root@air :~# netstat -atupln
2 Active Internet connections (servers and established)
3 Proto Recv -Q Send -Q Local Address Foreign Address State PID/
Program name
4 tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 5277/ smbd
5 tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 5277/ smbd
6 tcp 0 0 10.122.1.52:58809 202.46.129.134:22 ESTABLISHED 13696/ ssh
7 tcp6 0 0 :::22 :::* LISTEN 12663/
sshd
8 udp 0 0 0.0.0.0:40832 0.0.0.0:* 5210/
avahi -daemon:
9 udp 0 0 10.122.1.52:137 0.0.0.0:* 5275/ nmbd
10 udp 0 0 0.0.0.0:137 0.0.0.0:* 5275/ nmbd
11 udp 0 0 10.122.1.52:138 0.0.0.0:* 5275/ nmbd
12 udp 0 0 0.0.0.0:138 0.0.0.0:* 5275/ nmbd
13 udp 0 0 0.0.0.0:5353 0.0.0.0:* 5210/
avahi -daemon:
State LISTEN berarti service sedang berjalan dan siap melayani request. sedangkan
state ESTABLISHED berarti sedang ada koneksi yang terjadi saat ini.
13 File dan Tools Networking
13.1 File-le Networking
1. /etc/hosts
Berisi daftar mapping alamat IP dengan nama komputernya. File ini digunakan untuk
name resolving tanpa menghubungi DNS Server.
1 root@air :~# cat /etc/hosts
2 127.0.0.1 localhost
3 127.0.1.1 air
4 10.122.1.200 www.computer.ee.its.ac.id
5
6 # The following lines are desirable for IPv6 capable hosts
7 ::1 ip6 -localhost ip6 -loopback
8 fe00 ::0 ip6 -localnet
9 ff00 ::0 ip6 -mcastprefix
10 ff02 ::1 ip6 -allnodes
11 ff02 ::2 ip6 -allrouters
12 ff02 ::3 ip6 -allhosts
2. /etc/resolv.conf
File ini berfungsi menunjuk DNS Server yang akan digunakan.
1 root@air :~# cat /etc/resolv.conf
2 domain computer.ee.its.ac.id
3 nameserver 192.168.1.254
3. /etc/network/interface
Didalam le ini terdapat kongurasi network interface yang ada di komputer. File ini
digunakan oleh perintah ifup saat komputer booting dan ifdown ketika komputer akan
di matikan.
21
1 root@air :~# cat /etc/network/interface
2 auto lo
3 iface lo inet loopback
4
5 auto eth0
6 iface eth0 inet static
7 address 10.122.1.52
8 netmask 255.255.255.0
9 network 10.122.1.0
10 broadcast 10.122.1.255
11 gateway 10.122.1.1
12 dns -nameserver 10.122.1.254
4. /etc/services
File ini berisi daftar mapping nama service dan nomor portnya. Misalnya, untuk
komunikasi dengan www service (mengakses webserver), koneksi harus ditujukan ke
port 80, atau jika ingin mengakses ftp service, koneksi harus ditujukan ke port 21.
1 root@air :~# cat /etc/services
2 ...
3 ftp -data 20/ tcp
4 ftp 21/tcp
5 fsp 21/udp fspd
6 ssh 22/tcp # SSH Remote Login Protocol
7 ssh 22/udp # SSH Remote Login Protocol
8 telnet 23/ tcp
9 # 24 - private
10 smtp 25/tcp mail
11 # 26 - unassigned
12 domain 53/ tcp nameserver # name -domain server
13 domain 53/ udp nameserver
14 mtp 57/tcp # deprecated
15 bootps 67/ tcp # BOOTP server
16 bootps 67/ udp
17 bootpc 68/ tcp # BOOTP client
18 ...
22
Bagian IV
Domain Name System
DNS atau Domain Name Server, yaitu server yang digunakan untuk mengetahui IP Address
suatu host lewat host name-nya. Dalam dunia internet, komputer berkomunikasi satu sama
lain dengan mengenali IP Address-nya. Namun bagi manusia tidak mungkin menghafalkan
IP address tersebut, manusia lebih mudah menghapalkan kata-kata seperti www.yahoo.com,
www.google.com, atau www.friendster.com. DNS berfungsi untuk mengkonversi nama yang
bisa terbaca oleh manusia ke dalam IP address host yang bersangkutan untuk dihubungi[1].
Cara kerja DNS adalah sebagai berikut:
Ketika kita merequest suatu alamat, misalnya www.friendster.com dari host kita (nir-
maladewi.its.ac.id 202.154.63.26), maka host kita akan mengontak name server lokal
untuk menanyakan dimanakah www.friendster.com berada.
Name server ITS (202.154.63.2) akan mencari request tersebut di database lokal. Kare-
na tidak ada, maka name server akan mengontak root DNS server-nya, siapa yang
memegang domain untuk .com
Beberapa daftar Top Level Domain (TLD) yang ada sekarang adalah: com, net,
org, biz, info, name, museum, dan tv. Sedangkan Country Code Top Level Domain
(ccTLD) adalah: us, uk, fr, es, de, it, jp, ie, dll.
Root server akan memberitahu IP address dari server DNS dari www.friendster.com.
Kemudian DNS server lokal akan mengontak server DNS yang mengelola www.friendster.com.
Kemudian DNS server tersebut akan memberitahu IP address dari www.friendster.com.
baru host nirmaladewi merequest www.friendster.com dengan IP address tersebut.
Gambar 14: Cara kerja DNS
14 Instalasi dan Kongurasi BIND
BIND (Berkeley Internet Name Daemon) adalah salah satu DNS server yang banyak digu-
nakan di sistem Unix/Linux, kali ini kita akan menggunakan BIND versi 9 sebagai DNS
server.
1. Install bind9
1 root@air :~# apt -get install bind9 dnsutils
23
2. Edit le /etc/bind/named.conf.options
1 options {
2 directory "/var/cache/bind";
3
4 // If there is a firewall between you and nameservers you want
5 // to talk to, you might need to uncomment the query -source
6 // directive below. Previous versions of BIND always asked
7 // questions using port 53, but BIND 8.1 and later use an unprivileged
8 // port by default.
9
10 query -source address * port 53;
11
12 // If your ISP provided one or more IP addresses for stable
13 // nameservers , you probably want to use them as forwarders.
14 // Uncomment the following block , and insert the addresses replacing
15 // the all -0s placeholder.
16
17 // dns server diatas server anda
18 forwarders {
19 202.46.129.2;
20 };
21
22 auth -nxdomain no; # conform to RFC1035
23 listen -on-v6 { any; };
24 };
Baris 2: menunjukkan direktori tempat cache bind sementara disimpan
Baris 10: BIND akan menerima query dari semua host lewat port 53
Baris 18-20: DNS server yang akan yang akan dihubungi jika data yang direquest
tidak ada dalam database lokal
3. Pastikan terdapat script berikut pada
1 include "/etc/bind/named.conf.local";
4. Buatlah zona baru yang akan anda tangani pada le /etc/bind/name.conf.local. Mis-
alkan domain yang akan kita tangani adalah domainku.com dengan ip address 192.168.1.0
netmask 255.255.255.0.
1 //
2 // Do any local configuration here
3 //
4
5 // Consider adding the 1918 zones here , if they are not used in your
6 // organization
7 // include "/etc/bind/zones.rfc1918 ";
8
9 zone "domainku.com" {
10 type master;
11 file "/etc/bind/db.domainku.com";
12 };
13
14 zone "1.168.192.in-addr.arpa" {
15 type master;
16 file "/etc/bind/db .1.168.192";
17 };
Baris 9: nama domain yang akan ditangani
Baris 10: menyatakan bahwa dns server ini bertipe primary.
Baris 11: le database forward
Baris 14: ip address dari domain yang ditangani. Penting!: penulisan zone harus
dalam format 3 oktet terakhir ip address yang di tulis terbalik lalu diakhiri den-
gan kata .in-addr.arpa. Contoh: apabila ip domain adalah 10.122.1.0 netmask
255.255.255.0 maka penulisan zona adalah 1.122.10.in-addr-arpa.
24
5. Buat le database sesuai dengan kongurasi diatas. yaitu /etc/bind/db.domainku.com
1 ;
2 ; BIND data file for zone "domainku.com" [via] Internal view
3 ;
4 $TTL 604800
5 @ IN SOA ns.domainku.com. admin.domainku.com. (
6 2008050601 ; Serial
7 604800 ; Refresh
8 7200 ; Retry
9 2419200 ; Expire
10 604800 ) ; Negative Cache TTL
11 ;
12 ; ns records specifying the authoritative nameservers
13 @ IN NS ns.domainku.com.
14 @ IN MX 5 mail.domainku.com.
15
16 ns IN A 192.168.1.1
17 www IN A 192.168.1.2
18 mail IN A 192.168.1.3
Baris 4: adalah nilai default TTL (Time To Live) untuk semua record pada zone
le. dalam satuan detik
Baris 5: IN = Internet Name
Baris 5: SOA = Start Of Authority
Baris 5: ns.domainku.com = Nama host tempat penyimpanan zona le (dalam
hal ini nama host yang beperan sebagai primary server)
Baris 5: admin.domainku.com = Alamat email penanggung jawab isi zona le.
Format penulisan antara username dan host dipisahkan . (titik). Contoh: ad-
min.domainku.com berarti admin@domainku.com.
Baris 6: Serial = Nomer seri perubahan zona le. Setiap kali terjadi perubahan
zona le, Serial harus dinaikkan. Serial digunakan oleh secondary server untuk
melakukan pengecekan apakah ada perubahan zona le[2].
Baris 7: Refresh = Selang waktu (dalam detik) yang diperlukan oleh secondary
server untuk melakukan pengecekan zona le pada primary server.
Baris 8: Retry = Selang waktu (dalam detik) yang diperlukan secondary server
untuk mengulang pengecekan zona le pada primary master jika terjadi kega-
galan. Sebaiknya digunakan nilai lebih besar dari 1 jam (3600) karena nilai Retry
yang terlalu kecil tidak menghasilkan apa-apa karena ada kemungkinan primary
server sedang mati (down).
Baris 9: Expire = Batas waktu (dalam detik) secondary server boleh menyimpan
zona le jika tidak dapat melakukan refresh. Apabila telah masa expire dan
secondary server masih belum bisa melakukan refresh zona le tersebut akan
dihapus. Sebaiknya gunakan nilai Expire yang cukup besar (misal 1 bulan).
Baris 10: Minimum = Waktu minimal (dalam detik) yang digunakan sebagai
nilai awal TTL resource record. Nilai yang dianjurkan adalah 1 hari (86400).
Baris 13: NS = Name Server, merupakan identikasi DNS server suatu zona.
Baris 14: MX = Mail Exchange, Berfungsi untuk mengalihkan alamat email yang
ditujukan ke suatu host atau domain ke host lain yang berfungsi sebagai server
email.
Baris 16: A = Address(IPv4), berfungsi memetakan dari nama host ke alamat
IP.
25
1 ;
2 ; BIND data file for zone "1.168.192.in-addr.arpa"
3 ;
4 $TTL 604800
5 @ IN SOA ns.domainku.com. admin.domainku.com. (
6 2008050601 ; Serial
7 604800 ; Refresh
8 86400 ; Retry
9 2419200 ; Expire
10 604800 ) ; Negative Cache TTL
11
12 @ IN NS ns.domainku.com.
13
14 1 IN PTR ns.domainku.com.
15 2 IN PTR www.domainku.com.
16 3 IN PTR mail.domainku.com.
Baris 14: PTR = menunjukkan alamat nama host dari suatu alamat IP.
6. Restart service bind
1 root@air :~# /etc/init.d/bind9 restart
15 Testing Service DNS
Untuk mengetahui sekaligus menguji DNS server dapat digunakan aplikasi-aplikasi berikut:
15.1 host
1 kholis@air :~$ host www.domainku.com
2 www.domainku.com has address 192.168.1.2
3 kholis@air :~$ host 192.168.1.2
4 2.1.168.192.in-addr.arpa domain name pointer www.domainku.com.
15.2 nslookup
1 kholis@air :~$ nslookup www.domainku.com
2 Server: 192.168.1.1
3 Address: 192.168.1.1#53
4
5 Name: www.domainku.com
6 Address: 192.168.1.2
7
8 kholis@air :~$ nslookup 192.168.1.2
9 Server: 192.168.1.1
10 Address: 192.168.1.1#53
11
12 2.1.168.192..in -addr.arpa name = www.domainku.com.
26
15.3 dig
1 kholis@air :~$ dig www.domainku.com
2
3 ; <<>> DiG 9.4.2 <<>> www.domainku.com
4 ;; global options: printcmd
5 ;; Got answer:
6 ;; ->>HEADER <<- opcode: QUERY , status: NOERROR , id: 14006
7 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
8
9 ;; QUESTION SECTION:
10 ;www.domainku.com. IN A
11
12 ;; ANSWER SECTION:
13 www.domainku.com. 604800 IN A 192.168.1.2
14
15 ;; AUTHORITY SECTION:
16 domainku.com. 604800 IN NS ns.domainku.com.
17
18 ;; ADDITIONAL SECTION:
19 ns.domainku.com. 604800 IN A 192.168.1.1
20
21 ;; Query time: 9 msec
22 ;; SERVER: 192.168.1.1#53(192.168.1.1)
23 ;; WHEN: Tue Jun 24 19:46:03 2008
24 ;; MSG SIZE rcvd: 95
25
26 kholis@air :~$ dig -x www.domainku.com
27
28 ; <<>> DiG 9.4.2 <<>> -x www.domainku.com
29 ;; global options: printcmd
30 ;; Got answer:
31 ;; ->>HEADER <<- opcode: QUERY , status: NXDOMAIN , id: 53572
32 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
33
34 ;; QUESTION SECTION:
35 ;com.domainku.www.in-addr.arpa. IN PTR
36
37 ;; AUTHORITY SECTION:
38 in-addr.arpa. 10800 IN SOA A.ROOT -SERVERS.NET. dns -ops.ARIN.NET.
2008062404 1800 900 691200 10800
39
40 ;; Query time: 517 msec
41 ;; SERVER: 192.168.1.1#53(192.168.1.1)
42 ;; WHEN: Tue Jun 24 19:45:56 2008
43 ;; MSG SIZE rcvd: 126
27
Bagian V
Firewall
Firewall merupakan perangkat keamanan jaringan. Firewall dapat berupa software atau
hardware yang di rancang untuk menlter informasi yang diperbolehkan atau yang tidak
diperbolehkan antara jaringan privat dengan jaringan publik[3].
Alasan menggunakan rewall antara lain:
Control (mengendalikan)
Saat jaringan pribadi kita terhubung dengan jaringan publik (internet), kita dapat
menlter trak yang masuk maupun yang keluar dengan mengizinkan tipe trak
tertentu dan memblok tipe yang lain.
Secure (mengamankan)
Firewall berfungsi memblok usaha penyerangan serta akses tidak sah yang datang dari
luar.
Prevent (mencegah)
Kadang software yang bug atau mesin yang tidak terkongurasi dengan baik akan
mengeluarkan sembarang paket keluar. Untuk mengantisipasinya, kita dapat men-
ginstruksikan rewall agar memberitakan berbagai hal abnormal yang terjadi pada
jaringan.
16 Iptables
Iptables atau NetFilter adalah software Linux yang mengimplementasikan sebuah frame-
work untuk rewall yang bersifat statefull. Iptables juga memiliki ture Network Address
Translation (NAT). Netlter hanya bekerja pada kernel versi 2.4 atau 2.6 dan tidak dapat
bekerja pada kernel yang lebih rendah dari 2.4. Netlter membuat aturan-aturan apa yang
dilakukan tentang paket-paket network yang lewat. Aturan tersebut bisa meneruskannya,
menolaknya, dll.
28
16.1 Dasar iptables
Gambar 15: iptables
Pada iptables di kenal istilah chain yaitu tempat terjadi proses pemlteran (pada Gambar
15 berwarna hijau). Macam-macam chain[6]:
PREROUTING, titik dimana kita bisa memanipulasi paket network sebelum dia
memasuki keputusan routing, apakah ia akan masuk ke dalam Linux kita atau cuma
sekedar lewat.
INPUT, titik dimana kita bisa melakukan pemeriksaan terhadap paket network yang
akan MASUK ke dalam Linux kita.
OUTPUT, titik dimana kita melakukan pemeriksaan terhadap paket network yang
dihasilkan oleh Linux kita KELUAR sebelum routing.
FORWARD, titik dimana kita melakukan pemeriksaan terhadap paket network yang
cuma numpang LEWAT Linux kita.
POSTROUTING, titik dimana kita bisa melakukan manipulasi terhadap paket yang
akan keluar dari Linux kita.
Masing-masing chain berisi daftar rules. Ketika sebuah paket dikirim ke suatu chain, paket
ini dibandingkan dengan masing-masing rule di dalam chain dalam urutan atas ke bawah.
rule bisa dalam bentuk user-dened chain atau salah satu dari built-in target: ACCEPT,
DROP, QUEUE, atau RETURN.
ACCEPT
Target ini menyebabkan iptables menerima paket. Paket yang diterima dari chain
INPUT diizinkan lewat dan diterima oleh host lokal, sedangkan paket yang diterima
dari chain OUTPUT akan diizinkan meninggalkan host, dan paket yang diterima dari
chain FORWARD akan diizinkan untuk di-route ke host.
DROP
Target ini menyebabkan iptables mendrop paket tanpa proses yang lebih lanjut. Paket
hilang tanpa ada indikasi yang diberikan ke host pengirim bahwa paket ini telah didrop.
Yang tampak dari sender biasanya adalah communication timed-out.
29
MASQUERADING
IPMASQ adalah algoritme perubahan source-NAT suatu paket data tanpa menye-
butkan asal paket yang sebenarnya. Dengan IPMASQ administrator tidak perlu
memasukkan ke daftar tabel routing ketika suatu alamat IP lokal baru ingin men-
gakses internet lewat gateway IP live.
Pada iptables juga dikenal adanya table yaitu tempat rule-rule/aturan-aturan yang kita buat
disimpan (pada Gambar 15 berwarna kuning). Ada 3 buah table, secara general dapat kita
denisikan:
Table lter, adalah tempat rule-rule yang berkaitan dengan boleh/tidaknya suatu paket
network melewati sebuah CHAIN di atas. dalam table ini terdapat Chain INPUT,
OUTPUT dan FORWARD
Table nat, adalah singkatan dari Network Address Translation, yaitu table tempat rule-
rule yang berkaitan dengan manipulasi suatu paket network ketika melewati CHAIN
PREROUTING, POSTROUTING, dan OUTPUT.
Table mangle, adalah tempat rule-rule yang berkaitan dengan manipulasi suatu paket
network untuk keperluan advance, seperti QOS (quality of service), packet marking,
dll. dalam table ini terdapat semua Chain diatas.
16.2 Dua pendekatan setup rewall
Di mailing list sering ada yang bertanya: Port apa saja sih yang harus kita TUTUP? Ini
adalah pendekatan negative list, dimana secara DEFAULT semua port kita BUKA, baru
kemudian satu per satu kita TUTUP port yang diinginkan.
Pendekatan kedua adalah: positive list, yaitu dimana secara DEFAULT semua port
di TUTUP, dan baru kemudian satu per satu kita BUKA port yang diinginkan. Mana
dari kedua pendekatan itu yang sebaiknya kita pakai? Berikut ini adalah kelebihan dan
kekurangan masing-masing.
Negative List:
Mudah disetup
Beresiko lupa menutup port
Positive List:
Sangat secure, sebab semua port tertutup
Relatif lebih sulit disetup
16.3 Syntax Iptables
Iptables memberikan keleluasaan yang sangat besar kepada kita di dalam mengatur rewall.
Kita bisa membuat rule mulai dari yang general/umum sampai yang detail sekali.
Syntax Iptables seperti ini (perhatikan huruf besar kecil berpengaruh):
1 iptables [-t table] -[AD] CHAIN rule - specification [options]
2 iptables [-t table] -I CHAIN [rulenum] rule -specification [options]
3 iptables [-t table] -R CHAIN rulenum rule - specification [options]
4 iptables [-t table] -D CHAIN rulenum [options]
5 iptables [-t table] -[LFZ] [CHAIN] [options]
6 iptables [-t table] -P CHAIN target [options]
Keterangan:
-I : insert, maka secara default rule akan menempati baris nomor 1. Kita bisa menye-
butkan ingin insert di baris keberapa.
30
-A : append, rule akan ditambahkan di baris paling bawah.
-D : delete, menghapus rule baris ke-berapa.
-R : replace, mengganti rule baris ke-berapa.
-L : list, menampilkan rule-rule yang ada.
-P : policy, mengubah policy suatu chain.
16.4 Contoh Kasus
Terdapat jaringan sebagai berikut:
Gambar 16: Contoh jaringan
Melihat status iptables
1 [root@server ~]# iptables -nL
2 Chain INPUT (policy ACCEPT)
3 target prot opt source destination
4
5 Chain FORWARD (policy ACCEPT)
6 target prot opt source destination
7
8 Chain OUTPUT (policy ACCEPT)
9 target prot opt source destination
Semua Chain memiliki policy ACCEPT artinya secara default semua paket dapat
masuk ke host ini.
Ubah policy default menjadi DROP (Positive list)
1 [root@server ~]# iptables -P INPUT DROP
2 [root@server ~]# iptables - n L
3 Chain INPUT (policy DROP)
4 target prot opt source destination
5
6 Chain FORWARD (policy ACCEPT)
7 target prot opt source destination
8
9 Chain OUTPUT (policy ACCEPT)
10 target prot opt source destination
Baris 3: policy chain INPUT sudah berubah menjadi DROP. lakukan perubahan
juga pada chain yang lain.
Perintah ini harus dilakukan pada baris terakhir. Jika ada perintah lain maka
harus dilakukan sebelum perintah ini.
31
Membolehkan hanya PC1 (192.168.0.1) yang dapat mengakses Gateway
1 [root@server ~]# iptables -I INPUT -s 192.168.0.1 -j ACCEPT
2 [root@server ~]# iptables -I OUTPUT -d 192.168.0.1 -j ACCEPT
3 [root@server ~]# iptables -nL
4 Chain INPUT (policy ACCEPT)
5 target prot opt source destination
6 ACCEPT all -- 192.168.0.1 0.0.0.0/0
7
8 Chain FORWARD (policy ACCEPT)
9 target prot opt source destination
10
11 Chain OUTPUT (policy ACCEPT)
12 target prot opt source destination
13 ACCEPT all -- 0.0.0.0/0 192.168.0.1
Baris 1: Semua paket yang masuk ke mesin yang berasal dari 192.168.0.1 di-
izinkan.
Baris 2: Semua paket yang keluar dari mesin menuju 192.168.0.1 diizinkan
Kongurasi 2 arah tersebut kadang sangat merepotkan. Oleh karenanya biasa di gu-
nakan Connection tracking, yaitu dimana ketika kita sudah mendenisikan sebuah rule
di chain tertentu, maka trak network yang terkait dengan rule tersebut tidak perlu
disebutkan lagi. Jadi dalam hal kasus diatas, kita cukup mendenisikan rule di chain
INPUT saja, yang di OUTPUTnya tidak perlu lagi.
1 [root@server ~]# iptables -I INPUT -s 192.168.0.1 -j ACCEPT
2 [root@server ~]# iptables -I INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT
3 [root@server ~]# iptables -I INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT
4 [root@server ~]# iptables -I INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT
5
6 [root@server ~]# iptables -nL
7 Chain INPUT (policy ACCEPT)
8 target prot opt source destination
9 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED ,ESTABLISHED
10 ACCEPT all -- 192.168.0.1 0.0.0.0/0
11
12 Chain FORWARD (policy ACCEPT)
13 target prot opt source destination
14 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED ,ESTABLISHED
15
16 Chain OUTPUT (policy ACCEPT)
17 target prot opt source destination
18 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED ,ESTABLISHED
Sharing Internet.
Ada dua langkah yang harus dilakukan agar semua host dapat terkoneksi dengan
internet:
memperbolehkan semua host untuk mengakses port http (80) host luar (internet)
1 [root@server ~]# iptables -A FORWARD -p tcp --dport 80 -s 192.168.0.1 -j ACCEPT
membungkus tiap paket yang keluar menjadi ip gateway, sehingga bisa dikenali
dalam internet
1 [root@server ~]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Mengatur agar kita bisa membuat sebuah web server yang terlindungi di belakang
gateway
menerima tiap paket yang bertujuan ke port 80
32
1 [root@server ~]# iptables -A FORWARD -p tcp -i eth0 --dport 80 -j ACCEPT
mengubah tujuan tiap paket yang bertujuan ke port 80 menuju ke host 192.168.0.201
port 80
1 [root@server ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to
192.168.0.201:80
17 Shorewall
Shorewall adalah kependekan dari Shoreline Firewall, yaitu suatu tool untuk mempermu-
dah kongurasi netlter (iptables). Anda tinggal mendeskripsikan segala kebutuhan rewall
menggunakan les kongurasi yang telah disediakan. Lalu shorewall akan membaca kon-
gurasi tersebut dan dengan bantuan iptables, shorewall menset netlter sesuai dengan
kebutuhan anda tersebut.
Sebagai contoh kita akan menggunakan jaringan seperti pada Gambar 16.
17.1 Instalasi dan kongurasi
1. Install shorewall menggunakan apt-get install shorewall. File-le kongurasi shore-
wall berada pada direkori /etc/shorewall, pada debian dan turunannya umumnya le
pada direktori tersebut kosong. Namun terdapat beberapa contoh kongurasi di
/usr/share/doc/shorewall-common/examples/ mulai dari 1 interface sampae 3 interface.
Jadi copykan contoh kongurasi yang sesuai dari direkori tersebut ke /etc/shorewall.
1 [root@server ~]# cp -R /usr/share/doc/shorewall -common/examples/two -interfaces/ /etc/
shorewall/
2. Enable startup service dari 0 menjadi 1 pada le /etc/default/shorewall. (Baris 5)
1 [root@server ~]# vim /etc/default/shorewall
2 # prevent startup with default configuration
3 # set the following varible to 1 in order to allow Shorewall to start
4
5 startup =1
6
7 # if your Shorewall configuration requires detection of the ip address of a ppp
8 # interface , you must list such interfaces in "wait_interface" to get Shorewall to
9 # wait until the interface is configured. Otherwise the script will fail because
10 # it won t be able to detect the IP address.
11 #
12 # Example:
13 # wait_interface ="ppp0"
14 # or
15 # wait_interface ="ppp0 ppp1"
16 # or, if you have defined in /etc/shorewall/params
17 # wait_interface=
18
19 #
20 # Startup options
21 #
22
23 OPTIONS =""
24
25 # EOF
3. Kongurasi le /etc/shorewall/zones. File Zones adalah le yang menangani zona yang
akan ditangani oleh shorewall. Umumnya satu zona mewakili satu interface, tapi tidak
menutup kemungkinan satu interface menangani lebih dari satu zona.
33
1 [root@server ~]# vim /etc/shorewall/zones
2 #
3 # Shorewall version 4.0 - Sample Zones File for two -interface configuration.
4 # Copyright (C) 2006 by the Shorewall Team
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License , or (at your option) any later version.
10 #
11 # See the file README.txt for further details.
12 #------------------------------------------------------------------------------
13 # For information about entries in this file , type "man shorewall -zones"
14 #
15 # The manpage is also online at
16 # http :// shorewall.net/manpages/shorewall -zones.html
17 #
18 ###############################################################################
19 #ZONE TYPE OPTIONS IN OUT
20 # OPTIONS OPTIONS
21 fw firewall
22 net ipv4
23 loc ipv4
24
25 #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
Baris 21: sesuai dengan topologi, zona fw adalah dirinya sendiri (komputer gate-
way).
Baris 22: net adalah zona luar (internet).
Baris 23: loc adalah zona lokal (192.168.0.0/24)
4. Kongurasi le /etc/shorewall/interfaces. File interfaces menunjukkan interface yang
akan ditangani shorewall sesuai dengan zona yang di denisikan di atas. Oleh kare-
nanya, kolom zone yang ada disini harus sama dengan zona yang didenisikan diatas.
1 [root@server ~]# vim /etc/shorewall/interfaces
2 #
3 # Shorewall version 4.0 - Sample Interfaces File for two -interface configuration.
4 # Copyright (C) 2006 by the Shorewall Team
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License , or (at your option) any later version.
10 #
11 # See the file README.txt for further details.
12 #------------------------------------------------------------------------------
13 # For information about entries in this file , type "man shorewall -interfaces"
14 #
15 # The manpage is also online at
16 # http :// shorewall.net/manpages/shorewall -interfaces.html
17 #
18 ###############################################################################
19 #ZONE INTERFACE BROADCAST OPTIONS
20 net eth0 detect dhcp ,tcpflags ,routefilter ,nosmurfs ,logmartians
21 loc eth1 detect tcpflags ,nosmurfs
22 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Baris 20: zona net berada pada interface eth0 (202.111.2.2) dengan broadcast
detect berarti shorewall akan mendeteksi otomatis alamat broadcast eth0. jika
menggunakan opsi ini maka eth0 harus up terlebih dahulu sebelum shorewall
dijalankan. Sedangkan opsi-opsi diatas bisa digunakan bisa juga tidak, berikut
arti dari beberapa opsi:
dhcp: gunakan opsi ini jika interface mendapat ip address melalui dhcp,
jika interface ini digunakan oleh DHCP server untuk melayani client, jika
interface ini mempunyai ip static tapi banyak DHCP client di jaringan lokal
anda, jika interface ini adalah bridge dimana DHCP server berada di satu
sisi sedangkan DHCP client berada di sisi lain.
34
tcpags: paket yang datang di interface ini akan di cek apakah mengandung
kombinasi ilegal dari TCP ags.
routelter: menset on kernel route ltering untuk interface ini.
nosmurfs: memlter paket smurfs (yaitu paket yang menggunakan alamat
broadcast sebagai sumber)
logmartians: menset on kernel martial logging. disarankan apabila anda
menggunaka opsi routelter.
dan banyak opsi yang lain, silahkan baca man shorewall-interfaces untuk se-
lengkapnya.
Baris 21: zona loc berada pada interface eth1 (192.168.0.250) dengan broadcast
detect.
5. Kongurasi le /etc/shorewall/policy. File ini mendenisikan kebijakan yang umum
pada paket yang melewati zona yang di denisikan pada /etc/shorewall/zones. Per-
hatian!: Urutan tiap aturan pada le ini sangat penting. File ini melakukan apa yang
harus dilakukan pada tiap koneksi yang tidak cocok dengan semua aturan yang ada
di le /etc/shorewall/rules.
1 [root@server ~]# vim /etc/shorewall/policy
2 ###############################################################################
3 #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
4
5 #
6 # Note about policies and logging:
7 # This file contains an explicit policy for every combination of
8 # zones defined in this sample. This is solely for the purpose of
9 # providing more specific messages in the logs. This is not
10 # necessary for correct operation of the firewall , but greatly
11 # assists in diagnosing problems. The policies below are logically
12 # equivalent to:
13 #
14 # loc net ACCEPT
15 # net all DROP info
16 # all all REJECT info
17 #
18 # The Shorewall -perl compiler will generate the individual policies
19 # below from the above general policies if you set
20 # EXPAND_POLICIES=Yes in shorewall.conf.
21 #
22
23 # Policies for traffic originating from the local LAN (loc)
24 #
25 # If you want to force clients to access the Internet via a proxy server
26 # on your firewall , change the loc to net policy to REJECT info.
27 loc net ACCEPT
28 loc $FW REJECT info
29 loc all REJECT info
30
31 #
32 # Policies for traffic originating from the firewall ($FW)
33 #
34 # If you want open access to the Internet from your firewall , change the
35 # $FW to net policy to ACCEPT and remove the info LOG LEVEL.
36 # This may be useful if you run a proxy server on the firewall.
37 $FW net REJECT info
38 $FW loc REJECT info
39 $FW all REJECT info
40
41 #
42 # Policies for traffic originating from the Internet zone (net)
43 #
44 net $FW DROP info
45 net loc DROP info
46 net all DROP info
47
48 # THE FOLLOWING POLICY MUST BE LAST
49 all all REJECT info
50
51 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
Baris 27: memperbolehkan zona loc untuk mengakses zona net
35
Baris 28: tidak mengizinkan zona loc untuk mengakses zona fw, info berarti akan
mengeluarkan informasi penolakan ke standart output.
Baris 29: tidak mengizinkan zona loc untuk mengakses semua zona.
Baris 37: tidak mengizinkan zona fw untuk mengakses zona net
Baris 38: tidak mengizinkan zona fw untuk mengases zona loc
Baris 39: tidak mengizinkan zona fw untuk mengakses semua zona.
Baris 44: tidak mengizinkan zona net untuk mengakses zona fw
Baris 45: tidak mengizinkan zona net untuk mengakses zona loc
Baris 46: tidak mengizinkan zona net untuk mengakses semua zona.
Baris 49: tidak mengizinkan semua zona untuk mengakses semua zona. baris ini
harus berada pada akhir kongurasi.
beda REJECT dengan DROP: REJECT memberikan ag reset (RST) pada pro-
tokol TCP dan unreachable untuk yang lain. sedangkan DROP mengabaikan
request koneksi sama sekali.
6. Kongurasi le /etc/shorewall/rules. File ini medenisikan aturan yang sifatnya khusus.
File ini merupakan eksepsi dari semua aturan yang ada di /etc/shorewall/policy. Anda
dapat menuliskan semua aturan rewall di le ini.
1 [root@server ~]# vim /etc/shorewall/rules
2 #
3 # Shorewall version 4.0 - Sample Rules File for two -interface configuration.
4 # Copyright (C) 2006 ,2007 by the Shorewall Team
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License , or (at your option) any later version.
10 #
11 # See the file README.txt for further details.
12 #------------------------------------------------------------------------------
13 # For information about entries in this file , type "man shorewall -rules"
14 #
15 # The manpage is also online at
16 # http :// shorewall.net/manpages/shorewall -rules.html
17 #
18 ###########################################################################################
19 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
RATE USER/ MARK
20 # PORT PORT(S) DEST
LIMIT GROUP
21 #
22 # Accept DNS connections from the firewall to the network
23 #
24 DNS/ACCEPT $FW net
25 #
26 # Accept SSH connections from the local network for administration
27 #
28 SSH/ACCEPT loc $FW
29 #
30 # Allow Ping from the local network
31 #
32 Ping/ACCEPT loc $FW
33
34 #
35 # Reject Ping from the "bad" net zone.. and prevent your log from being flooded ..
36 #
37
38 Ping/REJECT net $FW
39
40 ACCEPT $FW loc icmp
41 ACCEPT $FW net icmp
42 #
43
44 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Baris 24: mengizinkan koneksi DNS dari rewall ke internet.
36
Baris 28: mengizinkan koneksi SSH dari jaringan lokal ke rewall untuk admin-
istrasi.
Baris 32: mengizinkan ping dari jaringan local ke rewall
Baris 38: tidak mengizinkan ping dari internet ke rewall
Baris 40: mengizinkan ping dari rewall ke jaringan local. merupakan kebalikan
baris 32
Baris 41: mengizinkan ping dari rewall ke internet. kebalikan dari baris 38
Untuk mengizinkan hanya ip 192.186.0.1 saja yang boleh mengakses rewall, ma-
ka gantilah baris 28 dengan:
1 SSH/ACCEPT loc :192.168.0.1 $FW
Untuk meneruskan request http pada rewall dari internet ke ip lokal 192.168.0.201.
tambahkan baris berikut:
1 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
2 # PORT PORT(S) DEST
3 DNAT net loc :192.168.0.201 tcp http
7. Kongurasi le /etc/shorewall/masq. le ini berguna untuk mendenisikan translasi
asal dan atau tujuan paket.
1 [root@server ~]# vim /etc/shorewall/masq
2 #
3 # Shorewall version 4.0 - Sample Masq file for two -interface configuration.
4 # Copyright (C) 2006 by the Shorewall Team
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License , or (at your option) any later version.
10 #
11 # See the file README.txt for further details.
12 #------------------------------------------------------------------------------
13 # For information about entries in this file , type "man shorewall -masq"
14 #
15 # The manpage is also online at
16 # http :// shorewall.net/manpages/shorewall -masq.html
17 #
18 ###############################################################################
19 #INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
20 eth0 eth1
21 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
Baris 20: semua paket yang berasal dari jaringan eth1 (192.168.0.0/24) akan
diubah seakan-akan berasal dari eth0 (202.111.2.2).
37
Bagian VI
Proxy Server
Teknik proxy adalah teknik yang standar untuk akses Internet secara bersama-sama oleh be-
berapa komputer sekaligus dalam sebuah Local Area Network (LAN) melalui sebuah modem
atau sebuah saluran komunikasi. Istilah Proxy sendiri banyak dikenal / digunakan terutama
di dunia / kalangan diplomatik. Secara sederhana proxy adalah seseorang / lembaga yang
bertindak sebagai perantara atau atas nama dari orang lain / lembaga / negara lain[7].
18 Keuntungan dan kerugian Proxy server[8]
18.1 keuntungan proxy server
Dapat menghemat biaya bandwidth.
mempercepat koneksi karena le-le web yang direquest (selanjutnya disebut object)
disimpan di dalam cache sehingga tidak perlu keluar menuju internet.
Dapat mengatur kecepatan bandwidth untuk subnet yang berbeda-beda (mirip dengan
HTB atau zaper).
Dapat melakukan pembatasan untuk le-le tertentu.
Dapat melakukan pembatasan akses kepada situs-situs tertentu (misalnya situs porno).
Dapat melakukan pembatasan download untuk le-le tertentu (misalnya le-le mp3,
wav, dsb).
Dapat melakukan pembatasan waktu-waktu yang diperbolehkan untuk download.
Dapat melakukan pembatasan siapa saja yang boleh mengakses internet dengan meng-
gunakan autentikasi. Autentikasi yang biasa digunakan bisa basic, digest, ataupun
ntlm.
Dapat melakukan pembatasan-pembatasan lainnya.
18.2 kerugian proxy server
Pintu keluar menuju gerbang internet hanya lewat proxy, sehingga ketika terjadi over-
load, akses internet menjadi lambat
User akan melihat le yang kadaluarsa jika cache expire time-nya terlalu lama, se-
hingga meskipun di website le tersebut sudah berubah, user masih melihat le yang
tersimpan di cache memory
Karena koneksi internet harus melalui gerbang proxy terlebih dahulu, maka kecepatan
akses bisa jadi lebih lambat daripada kita melakukan koneksi langsung. Dalam hal ini
keduanya akan mengakses le internet secara langsung
19 Pengenalan dan Cara Kerja Squid
Salah satu proxy server yang banyak digunakan di lingkungan Unix/Linux adalah squid
http://www.squid-cache.org/. Tidak semua data bisa di cache oleh Squid, data-data
yang bersifat dinamik seperti CGI-BIN tidak di cache oleh Squid, jadi tiap kali ada per-
mintaan CGI-BIN, maka Squid akan menghubungi langsung server tujuan. Saat ini protokol
yang bisa dilayani oleh Squid adalah HTTP, HTTPS, FTP, Gopher, dan Wais.
Squid pertama-tama akan memeriksa request yang datang. Jika squid diset dengan
autentikasi tertentu, squid akan memeriksa autentikasi user terlebih dahulu. Autentikasi
38
ini termasuk subnet area, user account, jenis le yang direquest, alamat situs tujuan, dan
properti-properti yang telah diset pada le kongurasi squid. Jika lolos dan telah sesuai
dengan kongurasi, request tersebut kembali diperiksa apakah objek yang diminta telah
berada di cache. Jika sudah ada maka proxy server tidak perlu melanjutkan request ke
internet tetapi langsung mereply request dengan objek yang diminta. Jika tidak ada di cache,
squid dapat menghubungi siblingnya agar bisa saling tukar cache informasi menggunakan
protocol icp. Jika masih tidak ada, squid akan merequest ke parentnya. Parent harus
menyediakan informasi yang diminta, entah mengambil dari cachenya atau langsung ke
internet.
20 Bagian-bagian squid
20.1 ICP (Internet Cache Protocol)
ICP merupakan kependekan dari Internet Cache Protocol, yaitu merupakan protokol yang di-
gunakan untuk mengkoordinasikan antara dua web cache atau lebih agar dapat bekerjasama
dan berkomunikasi. Tujuan web-cache bekerja sama ini adalah supaya dapat mencari letak
yang tepat untuk menerima objek yang direquest. Protokol ini tidak reliable namun memi-
liki time out yang sangat pendek sehingga cocok untuk web-cache. Protokol ini tidak cocok
untuk delivery UDP adalah protokol yang lebih umum digunakan untuk delivery protocol.
Dengan ICP, sistem cache bias mempunyai hirarki. Hirarki dibentuk oleh dua jenis
hubungan, yaitu parent dan sibling.
Parent: cache server yang wajib mencarikan content yang diminta oleh klien
Sibling: cache server yang wajib memberikan content yang diminta jika memang terse-
dia. Jika tidak, sibling tidak wajib untuk mencarikannya
20.2 Access Control List
Access Control List (ACL) adalah daftar rule yang menyatakan pembagian previleges, un-
tuk mencegah orang yang tidak memiliki hak akses menggunakan infrastruktur cache. ACL
adalah kongurasi yang paling penting dalam sebuah web-cache. Dalam Squid, ACL digu-
nakan untuk mendenisikan rule yang diterapkan dalam web-cache tersebut.
Squid mendukung tipe-tipe ACL seperti di bawah ini:
Network, subnet, baik tujuan maupun asal
Protokol dan port yang dituju, misalnya HTTP, FTP, SNMP, dsb
Autentikasi user name
Maksimal koneksi untuk setiap IP address
Maksimal jumlah IP address yang diperbolehkan untuk user name yang sama
Alamat website ,MIME dan header yang direquest yang terangkum dalam regular
expression
Squid akan memeriksa setiap request yang datang dengan ACL yang ada pada kongurasi
dan mencocokannya dengan aturan yang ada. Pencocokan ini bisa berakibat diizinkan atau
ditolaknya suatu koneksi dari user, pemberian bandwidth yang sesuai dengan aturan, dan
sebagainya.
39
20.3 Autentikasi pada Squid
Squid mendukung berberbagai cara autentikasi user mulai dari yang sederhana sampai ke
yang kompleks. Beberapa autentikasi yang didukung antara lain:
LDAP: Uses the Lightweight Directory Access Protocol
NCSA: Uses an NCSA-style username and password le.
MSNT: Uses a Windows NT authentication domain.
PAM: Uses the Linux Pluggable Authentication Modules scheme.
SMB: Uses a SMB server like Windows NT or Samba.
20.4 Httpd Accelerator / Reverse Proxy Server
Reverse proxy server adalah proxy server yang terinstall di dalam satu neighbourhood den-
gan satu atau lebih webserver. Semua request dari internet yang berasal dari internet yang
menuju ke salah satu webserver akan dilayani lewat proxy server, yang bisa jadi request
tersebut ke dirinya sendiri atau diteruskan ke webserver seluruhnya atau sebagian saja.
Ada beberapa alasan kenapa kita memakai reverse proxy server, diantaranya adalah;
Alasan keamanan: Proxy server adalah lapisan keamanan tambahan sebelum masuk
lapisan webserver.
Enkripsi/SSL accelerator: Ketika website yang aman dibentuk, enkripsi SSL mungkin
tidak dikerjakan oleh webserver untuk mengurangi beban kerja webserver, tetapi di-
lakukan oleh proxy server yang dilengkapi dengan hardware acceleration untuk SSL.
Load distribution: Reverse proxy dapat mendistribusikan beban ke beberapa webserv-
er, sehingga masing-masing webserver hanya bekerja di areanya sendiri-sendiri.
Caching content yang statis. Reverse proxy dapat meng-cache content-content yangstatis
seperti image, sehingga memperingan beban kerja webserver.
20.5 Transparent Caching
Ketika kita menggunakan squid untuk melakukan caching dari web trac, browser harus
dikongurasi agar menggunakan squid sebagai proxy. Transparent caching adalah metode
agar browser tidak perlu dikongurasi menggunakan proxy, namun secara otomatis telah
menggunakan proxy. Web trac yang menuju ke port 80 diarahkan menuju ke port yang
didengarkan oleh squid, sehingga squid bertindak sebagai layaknya standar web server untuk
browser.
Keuntungan memakai transparent caching:
Kita tidak perlu mengkongurasi browser untuk memakai proxy tertentu karena
sudah otomatis. Teknik ini cocok jika pengguna dari suatu subnet sangat awam
dan tidak mau melakukan kongurasi terlalu rumit pada browsernya.
Pengendalian yang terpusat oleh administrator
Kerugian memakai transparent caching:
Fungsi autentikasi menjadi tidak berjalan
Request untuk HTTPS tidak akan di-cache
Tidak kokoh, karena transparent proxy sangat bergantung pada kestabilan jalur
network (karena adanya pengalihan request)
40
Ketergantungan terhadap browser tertentu. Proxy server melayani request berdasarkan
HTTP header dari browser dan beberapa browser yang kuno tidak menyediakan
informasi ini.
Jika ada suatu webserver yang tidak mendengarkan di port 80, request jelas tidak
akan pernah dilayani.
20.6 Delay Pool
Delay Pool adalah suatu cara untuk mengatur kecepatan akses untuk suatu alamat website
dari ACL tertentu. Squid tidak hanya mendukung delay pool hanya untuk subnet saja,
namun untuk semua ACL yang telah dibahas di atas.
Dalam squid, Delay Pool dispesikasi dalam beberapa kongurasi, yaitu:
Delay Pool
Menspesikasi berapa jumlah pool atau kelompok bandwidth yang akan digunakan
dalam squid
Delay Class
Menspesikasi masing-masing kelompok pool untuk masuk dalam class apa. Dalam
squid ada beberapa class yang memiliki fungsi yang berbeda-beda, yaitu class 1 - class
5. Class-class ini dispesikasi berdasarkan IP address dari ACL.
Contohs:
delay pools 4 # 4 delay pools
delay class 1 2 # pool 1 is a class 2 pool
delay class 2 3 # pool 2 is a class 3 pool
delay class 3 4 # pool 3 is a class 4 pool
delay class 4 5 # pool 4 is a class 5 pool
Delay Parameter
Delay parameter menspesikasi berapa jumlah transfer rate atau lebih sering disebut
bandwidth untuk suatu pool. Bandwidth dispesikasi dalam transfer rate rata-rata
dan transfer rate maksimum yang dapat dicapai suatu pool.
Format Delay parameter tiap class:
Class 1: delay parameters pool aggregate
Class 2: delay parameters pool aggregate individual
Class 3: delay parameters pool aggregate network individual
Class 4: delay parameters pool aggregate network individual user
Class 5: delay parameters pool tag
Delay Access
Delay Access adalah parameter untuk memasukkan suatu ACL ke pool tertentu. Di
sini juga disebutkan apakah ACL diterima atau ditolak untuk masuk ke pool tersebut.
21 Instalasi dan Kongurasi
Untuk instalasi squid tidak berbeda dengan lainnya, cukup dengan apt-get install squid.
Di Repository Ubuntu terdapat 2 versi squid yaitu versi 2 dan versi 3. Jika anda ingin meng-
gunakan squid versi3 installah dengan menggunakan apt-get install squid3.
Kongurasi utama squid berada pada le /etc/squid3/squid.conf. File ini berisi ribuan
baris karena selain mengandung syntax kongurasi, le ini sekaligus mengandung manu-
al sehingga user lebih mudah mengkongurasi squid. Secara umum format syntax pada
/etc/squid3/squid.conf sebagai berikut:
41
1 # TAG: cache_mgr
2 # Email -address of local cache manager who will receive
3 # mail if the cache dies. The default is "webmaster ."
4 #
5 #Default:
6 # cache_mgr webmaster
7 cache_mgr kholis@ee.its.ac.id
Baris 1: TAG adalah penanda jenis kongurasi (dalam contoh diatas adalah cache mgr)
Baris 2-3: adalah penjelasan dari TAG ini
Baris 5-6: adalah contoh kongurasi bawaan squid. Upayakan semua kongurasi tam-
bahan kita diletakkan sesusah baris ini.
Baris 7: adalah le tambahan user
Karena opsi-opsi pada le kongurasi squid sangat banyak, tidak semua kongurasi harus
kita lakukan. Dengan beberapa kongurasi dasar sebenarnya kita juga sudah bisa men-
jalankan squid. Berikut beberapa kongurasi penting squid:
21.1 auth parm
Seperti sudah dijelaskan sebelumnya, squid mendukung berbagai macam autentikasi. Kali
ini kita akan mencoba metode autentikasi yang paling sederhana menggunakan NCSA. NC-
SA menggunakan le text biasa untuk menyimpan username serta password yang di enkripsi.
Buat le tempat kita menyimpan user dan password. misal le /etc/squid3/password user
1 root@air :~# mkdir /etc/squid3/squid.conf
Tambahkan user satu-persatu.
1 root@air :~# htpasswd /etc/squid/squid_passwd kholis
2 New password :
3 Re-type new password :
4 Adding password for user kholis
Carilah TAG: auth parm di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/password_user
2 auth_param basic children 5
3 auth_param basic realm Squid proxy -caching web server ku...
4 auth_param basic credentialsttl 2 hours
5 auth_param basic casesensitive off
6 acl ncsa_users proxy_auth REQUIRED
7 http_access allow ncsa_users
21.2 http port
Port HTTP yang didengarkan oleh Squid. Defaultnya adalah 3128. Biasanya port yang
umum untuk sebuah proxy server adalah 8080. Terkadang Squid juga memakai port 80
kalau sedang berfungsi sebagai reverse proxy server.
Carilah TAG: http port di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: http_port
2 # Usage: port [options]
3 # hostname:port [options]
4 # 1.2.3.4: port [options]
5 # ... (dipotong)
6 http_port 10.122.1.254:3128
42
21.3 cache peer
Sintask dari cache peer ini digunakan untuk berhubungan dengan peer lain, dan peer lain
yang dikoneksikan ini tipenya bergantung dari tipe peer yang telah dideklarasikan ini,
bisa bertipe sibling maupun bertipe parent,dan port yang digunakan untuk hubungan ICP
maupun HTTP juga dideklarasikan disini, sedangkan untuk parameter option disini ada
bermacam-macam salah satunya adalah default yang berarti dia adalah satu-satunya par-
ent yang harus dihubungi (jika bertipe parent) dan proxy-only yang berarti bahwa object
yang didapat dari peer tersebut tidak perlu disimpan dalam hardisk local
4
.
Carilah TAG: cache peer di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: cache_peer
2 # To specify other caches in a hierarchy , use the format:
3 #
4 # cache_peer hostname type http -port icp -port [options]
5 #
6 # For example ,
7 #
8 # # proxy icp
9 # # hostname type port port options
10 # # -------------------- -------- ----- ----- -----------
11 # cache_peer parent.foo.net parent 3128 3130 proxy -only default
12 # cache_peer sib1.foo.net sibling 3128 3130 proxy -only
13 # cache_peer sib2.foo.net sibling 3128 3130 proxy -only
14 #
15 cache_peer 202.95.150.10 parent 3128 3130 default
21.4 icp port
Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor port
ini akan dipakai untuk berhubungan dengan klien dan peer.
Carilah TAG: icp port di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: icp_port
2 # The port number where Squid sends and receives ICP queries to
3 # and from neighbor caches. The standard UDP port for ICP is 3130.
4 # Default is disabled (0).
5 #Default:
6 # icp_port 0
7 #
8 icp_port 3130
21.5 dead peer timeout
Masing-masing peer yang telah didenisikan sebelumnya mempunyai waktu timeout sebesar
yang ditentukan dalam kongurasi ini, Jika peer tidak menjawab kiriman sinyal ICP dalam
batas waktu yang telah ditentukan, peer akan dianggap tidak akan dapat dijangkau, dan
cache server tidak akan mengambil object dari server yang bersangkutan dalam interval
waktu tertentu.
Carilah TAG: dead peer timeout di /etc/squid3/squid.conf. lalu tambahkan syntax
berikut
4
http://wiki.i-wirelessinnovation.com/index.php/Konsep Proxy
43
1 # TAG: dead_peer_timeout (seconds)
2 # This controls how long Squid waits to declare a peer cache
3 # as "dead." If there are no ICP replies received in this
4 # amount of time , Squid will declare the peer dead and not
5 # expect to receive any further ICP replies. However , it
6 # continues to send ICP queries , and will mark the peer as
7 # alive upon receipt of the first subsequent ICP reply.
8 #
9 # This timeout also affects when Squid expects to receive ICP
10 # replies from peers. If more than dead_peer seconds have
11 # passed since the last ICP reply was received , Squid will not
12 # expect to receive an ICP reply on the next query. Thus , if
13 # your time between requests is greater than this timeout , you
14 # will see a lot of requests sent DIRECT to origin servers
15 # instead of to your parents.
16 #
17 #Default:
18 dead_peer_timeout 10 seconds
21.6 hierarchy stoplist
Sintaks ini digunakan untuk menyatakan apa yang harus tidak diminta dari peer, melainkan
harus langsung dari web server origin, jika pola1 dan pola 2 adalah parameter cgi-bin, ?,
dan lain-lain maka jika ada request URL yang mengandung karakter tersebut maka akan
diambilkan langsung ke server origin.
Carilah TAG: hierarchy stoplist di /etc/squid3/squid.conf. lalu tambahkan syntax
berikut
1 # TAG: hierarchy_stoplist
2 # A list of words which , if found in a URL , cause the object to
3 # be handled directly by this cache. In other words , use this
4 # to not query neighbor caches for certain objects. You may
5 # list this option multiple times.
6 # Note: never_direct overrides this option.
7 #We recommend you to use at least the following line.
8 hierarchy_stoplist cgi -bin ?
21.7 cache mem
Sintaks ini akan menentukan batas atas jumlah memori yang digunakan untuk menyimpan
antara lain : intransit object yaitu object yang dalam masa transisi antara waktu cache
mendownload sampai object disampaikan ke klien, dan hot object, yaitu object yang sering
diakses.
Carilah TAG: cache mem di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: cache_mem (bytes)
2 # NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS SIZE.
3 # IT ONLY PLACES A LIMIT ON HOW MUCH ADDITIONAL MEMORY SQUID WILL
4 # USE AS A MEMORY CACHE OF OBJECTS. SQUID USES MEMORY FOR OTHER
5 # THINGS AS WELL. SEE THE SQUID FAQ SECTION 8 FOR DETAILS.
6 # ... (dipotong)
7 #Default:
8 cache_mem 8 MB
21.8 cache swap low/high
Squid akan menghapus object yang ada didalam hardisknya jika media tersebut mulai penuh.
Ukuran penuh ini yang diset pada cache swap low dan cache swap high. Bila batas swap low
telah tercapai maka squid mulai menghapus dan jika batas swap high tercapai maka squid
akan semakin sering menghapus.
44
Carilah TAG: cache swap low di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: cache_swap_low (percent , 0-100)
2 # TAG: cache_swap_high (percent , 0-100)
3 #
4 # The low - and high -water marks for cache object replacement.
5 # Replacement begins when the swap (disk) usage is above the
6 # low -water mark and attempts to maintain utilization near the
7 # low -water mark. As swap utilization gets close to high -water
8 # mark object eviction becomes more aggressive. If utilization is
9 # close to the low -water mark less replacement is done each time.
10 #
11 # Defaults are 90% and 95%. If you have a large cache , 5% could be
12 # hundreds of MB. If this is the case you may wish to set these
13 # numbers closer together.
14 #
15 #Default:
16 cache_swap_low 90
17 cache_swap_high 95
21.9 cache dir
Sintaks ini akan menjelaskan direktori cache yang dipakai, pertama adalah jenis le sistem-
nya, lalu didirektori mana cache tersebut akan disimpan, selanjutnya ukuran cache tersebut
dalam MegaBytes lalu jumlah direktori level 1 dan direktori level 2 yang akan digunakan
squid untuk menyimpan objectnya.
Carilah TAG: cache dir di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: cache_dir
2 # Usage:
3 #
4 # cache_dir Type Directory -Name Fs -specific -data [options]
5 #... (dipotong)
6 #Default:
7 cache_dir ufs /var/spool/squid3 1000 16 256
21.10 access log
sintaks ini menjelaskan tempat log squid akan di simpan.
Carilah TAG: access log di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: access_log
2 # These files log client request activities. Has a line every HTTP or
3 # ICP request. The format is:
4 # ...( dipotong)
5 access_log /var/log/squid3/access.log squid
21.11 cache mgr
adalah alamat email yang harus di hubungi bila squid mengalami gangguan.
Carilah TAG: cache mgr di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: cache_mgr
2 # Email -address of local cache manager who will receive
3 # mail if the cache dies. The default is "webmaster ."
4 #
5 #Default:
6 cache_mgr kholis@ee.its.ac.id
45
21.12 acl
ACL atau access control list berfungsi untuk membatasi hak akses internet client. Dengan
ACL proxy server dapat menentukan mana kata atau URL yang boleh diakses dan yang
tidak boleh diakses oleh client.
ACL sendiri terdiri dari beberapa tipe antara lain :
src - IP Address asal yang digunakan klien
dst - IP Address tujuan yang diminta klien
myip - IP Address local dimana klien terhubung
srcdomain - Nama domain asal klien
dstdomain - Nama domain tujuan klien
srcdom regex- Pencarian pola secara string dari nama domain asal klien
dstdom regex - Pencarian pola secara string dari nama domain tujuan klien
time - Waktu dinyatakan dalam hari dan jam
proto - Protokol transfer (http, ftp, gopher)
method - Metode permintaan http (get, post, connect)
Misalnya kita medeniskan lokal adalah jaringan 192.168.0.0 netmask 255.255.255.0
Carilah TAG: acl di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: acl
2 # Defining an Access List
3 #
4 # acl aclname acltype string1 ...
5 # acl aclname acltype "file" ...
6 #Recommended minimum configuration:
7 acl manager proto cache_object
8 acl localhost src 127.0.0.1/32
9 acl to_localhost dst 127.0.0.0/8
10 # tambahanku
11 acl lokal src 192.168.0.0/24
12 acl filebesar url_regex -i \.exe
13 acl filebesar url_regex -i \.mp3
14 acl filebesar url_regex -i \.avi
15 acl filebesar url_regex -i \.mpeg
21.13 http access
adalah penentu kebijakan ditolak atau diterima semua aturan pada acl.
Carilah TAG: http access di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: http_access
2 # Allowing or Denying access based on defined access lists
3 #...( dipotong)
4 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
5 http_access allow lokal
6
7 # Example rule allowing access from your local networks.
8 # Adapt localnet in the ACL section to list your (internal) IP networks
9 # from where browsing should be allowed
10 #http_access allow localnet
11 http_access allow localhost
12
13 # And finally deny all other access to this proxy
14 http_access deny all
46
Pada konsep sintaks kongurasi squid adalah bahwa sesuatu yang telah dieksekusi pada
baris yang lebih atas maka dia tidak dieksekusi lagi dibaris yang paling bawah, walaupun
dalam parameter ACL yang dibawah tersebut dia juga termasuk, untuk lebih jelasnya, ji-
ka ada IP Address 192.168.100.0/24 maka IP Address yang berkisar dari 192.168.100.1
192.168.100.254 (ACL localnet) telah diijinkan untuk mengakses http yang ditunjukkan
oleh http access allow localnet, dan dibawahnya ada ACL allsrc yang itu adalah men-
cakup semua daftar IP Address dan ACL itu tidak diperbolehkan mengakses http, yaitu
http access deny allsrc, tapi karena pada ACL localnet dia telah dieksekusi untuk sebagai
IP Address yang boleh mengakses, maka walaupun dibaris bwahnya di dieksekusi lagi, itu
tidak akan berpengaruh,hal-hal seperti itu digunakan untuk seorang administrator cache
server untuk melakukan pengontrolan agar tidak akan terlalu detail melakukan pengaturan
jika baris atas dan bawah sama-sama saling mempengaruhi.
21.14 delay pool
Kita mendenisikan 2 delay pool untuk menampung bandwidth. Satu pool masuk dalam
kategori class 2 untuk mendenisikan aturan overall 256 Kbs dan per-network 64 Kbps.
Satu pool lainnya masuk kategori class 3 untuk mendenisikan aturan tambahan jika user
mendownload le-le yang didenisikan dalam ACL url regex dengan bandwidth maksimal
2 Kbps.
Carilah TAG: delay pool di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: delay_pools
2 # This represents the number of delay pools to be used. For example ,
3 # if you have one class 2 delay pool and one class 3 delays pool , you
4 # have a total of 2 delay pools.
5 #
6 #Default:
7 delay_pools 2
21.15 delay class
Carilah TAG: delay class di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: delay_class
2 # This defines the class of each delay pool. There must be exactly one
3 # delay_class line for each delay pool. For example , to define two
4 # delay pools , one of class 2 and one of class 3, the settings above
5 # and here would be:
6 #
7 #Example:
8 delay_class 1 2 # pool 1 is a class 2 pool
9 delay_class 2 3 # pool 2 is a class 3 pool
21.16 delay access
Carilah TAG: delay access di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
47
1 # TAG: delay_access
2 # This is used to determine which delay pool a request falls into.
3 #
4 # delay_access is sorted per pool and the matching starts with pool 1,
5 # then pool 2, ..., and finally pool N. The first delay pool where the
6 # request is allowed is selected for the request. If it does not allow
7 # the request to any pool then the request is not delayed (default).
8 #
9 # For example , if you want some_big_clients in delay
10 # pool 1 and lotsa_little_clients in delay pool 2:
11 #
12 #Example:
13 delay_access 1 allow lokal
14 delay_access 1 deny all
15 delay_access 2 allow lokal filebesar
16 delay_access 2 deny all
21.17 delay parameter
Carilah TAG: delay parameter di /etc/squid3/squid.conf. lalu tambahkan syntax berikut
1 # TAG: delay_parameters
2 # This defines the parameters for a delay pool. Each delay pool has
3 # a number of "buckets" associated with it, as explained in the
4 # description of delay_class. For a class 1 delay pool , the syntax is:
5 delay_parameters 1 32000/32000 8000/8000
6 delay_parameters 2 32000/32000 8000/8000 250/250
48
Bagian VII
File Sharing
22 Samba
Samba adalah aplikasi linux yang menggunakan SMB protokol (Server Message Block).
Banyak system operasi seperti Windows dan OS/2 yang menggunakan SMB protocol untuk
mendukung client-server networking. Dengan menggunakan protokol ini, SAMBA memu-
ngkinkan server yang berbasis Unix/Linux berkomunikasi dengan system jaringan yang
berbasis Windows (Win95, Win 98, Win 2000 atau Win NT).
Dengan kata lain, samba memungkinkan sebuah mesin unix menjadi sebuah server bagi
client berbasis windows dan menyediakan layanan :
Berbagi data/le
Berbagi printer baik printer yang terhubung ke server maupun yang terhubung ke
client
Client dapat melihat isi server yang berbasis unix/linux dengan fasilitas Windows
Neigborhood
Client dapat login ke system windows maupun unix
Menunjang penggunaan WINS name server
Samba terdiri dari dua daemon utama yaitu smbd dan nmbd.
smbd
smbd adalah suatu daemon (proses yang selalu aktif di memory) yang bertanggung
jawab untuk mengatur layanan bersama (shared resources) antara samba server dan
komputer client. Smbd menyediakan layanan berbagi data dan berbagi printer un-
tuk komputer client. Smbd juga bertanggung jawab terhadap proses otentikasi atau
pengecekan password bagi user yang menggunakan sistem jaringan
nmbd
nmbd adalah daemon yang berfungsi sebagai nameserver yang merupakan perpaduan
antara WINS dan NetBIOS Dengan menggunakan nmbd ini user dapat menjalankan
fasilitas Windows Neighborhood untuk mesin unix
Selain itu terdapat beberapa utility samba yang penting, antara lain:
smbclient
smbclient berguna untuk mengakses share komputer lain dengan interface seperti ftp.
smbclient akan memberikan prompt untuk password, dan passwordnya seperti biasa
tidak akan ditampilkan. Kalau semuanya beres akan keluar prompt smb:> pada
prompt ini anda dapat mengetikkan perintah-perintah yang dipakai di ftp seperti ls,
get, put, mget, mput, binary dsb. Kalau sudah selesai ketik saja quit. Syntaxnya
adalah
5
smbclient service [options]
dimana service mempunyai format //namaKomputer/namaFolderShare
options yang sering di pake antara lain:
-U namauser = Koneksi dengan nama user lain dari username linux
5
http://pemula.linux.or.id/pengguna/samba-client.html
49
-W workgroup = Koneksi dengan nama workgroup selain yang di setting di
/etc/smb.conf
-n NetBios Name = Koneksi dengan nama host yang berbeda dengan nama
host komputer
-I IP address = Koneksi ke host tertentu dengan IP tersebut. Sangat berguna
jika samba tidak berhasil me-resolve nama host yang di tuju.
contoh:
1 kholis@air :~$ smbclient //gf/fullshare
2 Password:
3 Domain =[GF] OS=[ Windows 5.1] Server =[ Windows 2000 LAN Manager]
4 smb: \> ls
5 . D 0 Mon Jun 30 14:39:56 2008
6 .. D 0 Mon Jun 30 14:39:56 2008
7 Daftar Film.xls A 103424 Mon Jun 30 14:39:36 2008
8 kitty.exe A 300544 Mon Aug 27 08:21:30 2007
9 59992 blocks of size 524288. 37525 blocks available
10 smb: \> get kitty.exe
11 getting file \kitty.exe of size 300544 as kitty.exe (8385.7 kb/s) (average 8385.7 kb/s)
12 smb: \> quit
smbmount
Cara lain mengakses share adalah me-mount remote share tersebut ke suatu direk-
tori dengan menggunakan smbmount. Setelah di mount anda bisa mengakses shsre
tersebut seperti anda mengakses direktori biasa. Seperti juga mount, smbmount harus
dijalankan oleh root. Syntaxnya adalah sebagai berikut:
smbmount service mountpoint [-o options]
service dalam format //namaKomputer/namaFolderShare
Dimana option yang sering digunakan adalah:
username=user : Koneksi dengan nama user lain dari username linux (root)
netbiosname=name : Koneksi dengan memakai nama host yang berbeda
dengan nama host komputer
workgroup=name : Koneksi dengan nama workgroup selain yang di setting
di /etc/smb.conf
ip=1.2.3.4 : Koneksi ke host tertentu dengan IP tertentu misalnya 1.2.3.4.
Sangat berguna jika samba tidak berhasil me-resolve nama host yang di tuju.
Contoh:
1 [root@linux :~]# smbmount "//gf/my documents" /mnt/gf
2 Password:
smbpassword
adalah program untuk menambah user yang berhak mengakses samba. User ini harus
merupakan user real di sistem. Selain itu juga berfungsi untuk mengubah password
user.
smbstatus
Program yang memberikan informasi tentang jumlah komputer yang sedang terhubung
dengan samba server
testparm
tool untuk mengecek kebenaran kongurasi smb.conf
50
22.1 Instalasi dan Kongurasi
Instalasi samba dapat dilakukan dengan:
1 root@air :~# apt -get install samba samba -common smbfs
Kongurasi samba berada pada le /etc/samba/smb.conf. Pada le ini terdapat bagian-
bagian kongurasi, secara default terdapat kongurasi global dan printer. berikut adalah
contoh kongurasi global
1 [global]
2 workgroup = WORKGROUP
3 server string = %h server (Samba , Ubuntu)
4 dns proxy = no
5 log file = /var/log/samba/log.%m
6 max log size = 1000
7 syslog = 0
8 panic action = /usr/share/samba/panic -action %d
9 security = user
10 username map = /etc/samba/smbusers
11 encrypt passwords = true
12 passdb backend = tdbsam
13 obey pam restrictions = yes
14 invalid users = root
15 unix password sync = yes
16 passwd program = /usr/bin/passwd %u
17 passwd chat = *Enter\snew\s*\ spassword :* %n\n *Retype\snew\s*\ spassword :* %n\n *
password\supdated\ssuccessfully* .
18 pam password change = yes
19 map to guest = bad user
20 socket options = TCP_NODELAY
21 usershare allow guests = yes
22 guest account = nobody
Baris 2: nama workgroup dalam jaringan
Baris 3: nama server yang akan terlihat dalam jaringan
Baris 4: mencegah nmbd mencari NetBIOS name ke DNS
Baris 9: jenis security, bisa user, share, server, atau domain.
Lalu anda dapat menambahkan share direktori dengan format sebagai berikut:
1 [source]
2 comment = kode sumber
3 path = /home/kholis/Source
4 browseable = yes
5 valid users = kholis lukman @admin
6 read only = no
7 force user = kholis
8 create mask = 0777
9 directory mask = 0777
10 hosts allow = 192.168.0.0/24 10.1.1.3
Baris 1: nama direktori share yang tampak dalam jaringan.
Baris 2: komentar yang dari direktori di Baris 1
Baris 3: adalah letak dari direktori yang akan di share.
Baris 4: browseable = yes akan menyebabkan direktori yang di share akan terlihat,
demikian sebaliknya.
Baris 5: berarti yang boleh mengakses direktori ini hanya user kholis, user lukman
dan user dengan group admin.
Baris 6: direktori share dapat ditulisi
51
Baris 7: apabila user lukman membuat le atau direktori baru maka kepemilikannya
tetap kholis bukan milik lukman.
Baris 8: menunjukkan permission dari le baru yang di perbolehkan. nilai dari create
mask akan di and kan dengan permission yang diinginkan.
Baris 9: mirip baris 8 tetapi untuk direktori.
Baris 10: host atau jaringan yang di perbolehkan mengakses direktori share.
sebetulnya masih banyak lagi opsi yang dapat di pake, antara lain:
public = yes/no : digunakan untuk sharing yang anonymouse (tanpa login)
guest ok = yes/no: mirip opsi public
writeable = yes/no: mirip opsi read only
write lists = kholis lukman @admin: mirip opsi valid users
untuk menjalankan (baris 1), menghentikan (baris 2) dan merestart (baris 3) service dapat
dilakukan dengan:
1 root@air :~# /etc/init.d/samba start
2 root@air :~# /etc/init.d/samba stop
3 root@air :~# /etc/init.d/samba restart
22.2 Kongurasi dengan GUI
Install plugin nautilus untuk samba.
1 root@air :~# apt -get install nautilus -share
Buka nautilus. Klik kanan folder yang ingin di share. pilih Sharing Options, akan
keluar tampilan:
Gambar 17: Share pada nautilus
Centang opsi Share this folder lalu isi share name-nya, pilih opsi lain seperti boleh
tidaknya di tulis atau mengizinkan guest untuk mengakses folder share. Klik tombol
Modify Share.
52
23 FTP
File Transfer Protokol (FTP) adalah suatu aplikasi yang berfungsi untuk tukar-menukar le
dalam suatu network yang mensupport TCP/IP protokol. Dua hal penting yang ada dalam
FTP adalah FTP server dan FTP Client. FTP server menjalankan software yang digunakan
untuk tukar menukar le, yang selalu siap memberian layanan FTP apabila mendapat re-
quest dari FTP client. FTP client adalah komputer yang merequest koneksi ke FTP server
untuk tujuan tukar menukar le (mengupload atau mendownload le)
6
.
FTP menggunakan dua jenis hubungan (connection) untuk mentransfer suatu le, yaitu[2]:
Control Connection
digunakan pada umumnya hubungan client-server. Server membuka diri secara pasif di
sebuah port khusus yaitu port 21. Selanjutnya client secara aktif akan membuka konek-
si ke port 21 untuk membangun control connection. koneksi ini akan dipertahankan
selama client masih berkomunikasi dengan server. Hubungan ini digunakan oleh client
untuk mengirim perintah-perintah, dan server menggunakannya untuk merespon.
Data Connection
dibangun setiap kali sebuah le ditransfer antara client-server.
Untuk dapat terhubung dengan ftp server umumnya user menggunakan autentikasi dengan
memasukkan username serta password. Tapi ada juga ftp yang khusus disediakan bagi semua
orang tanpa membutuhkan autentikasi, yang dikenal dengan anonymous ftp.
23.1 FTP Server
Ada banyak sekali FTP server yang umum dipakai di Unix/Linux, beberapa yang populer
antara lain:
proftpd - Versatile, virtual-hosting FTP daemon
vsftpd - The Very Secure FTP Daemon
ftpd - FTP server
wu-ftpd - powerful and widely used FTP server
wzdftpd - A portable, modular, small and ecient ftp server
pure-ftpd - Pure-FTPd FTP server
Kali ini kita akan menggunakan vsftpd, cara instalasinya mudah saja:
1 root@air :~# apt -get install vsftpd
File kongurasi vsftpd terdapat di /etc/vsftpd.conf. Pada le tersebut juga terdapat
sedikit manual dari opsi-opsi yang tersedia sehingga memudahkan pengguna. Berikut ini
adalah opsi-opsi yang penting:
listen=YES, vsftpd akan dijalankan dalam mode standalone.
anonymous enable=YES, mode yang digunakan adalah anonymouse dimana user da-
pat login menggunakan user: ftp dan tanpa password.
local enable=YES, user local server diijinkan mengakses ftp dan menggunakan home
direktorinya masing-masing sebagai default direktori saat login ke ftp server.
write enable=YES, mengijinkan user membuat, memodikasi atau mengkopi le dan
direktori ke server.
6
http://aminudin.net/?p=60
53
local umask=022, permission default saat pembuatan le oleh user lokal
anon upload enable=YES, memperbolehkan anonymous user mengupload le
chroot local user=YES, lokal user hanya dibatasi hanya diperbolehkan mengakses home
direktorinya sendiri.
ftpd banner=String, banner saat login ftp server.
vsftpd akan membuat direktori /home/ftp sebagai home direktori saat anonymous ftp digu-
nakan.
1 kholis@cygnus :~$ ftp 10.122.1.52
2 Connected to 10.122.1.52.
3 220 (vsFTPd 2.0.6)
4 Name (10.122.1.52: kholis): ftp
5 331 Please specify the password.
6 Password:
7 230 Login successful.
8 Remote system type is UNIX.
9 Using binary mode to transfer files.
10 ftp > pwd
11 257 "/home/ftp"
12 ftp > ls
13 200 PORT command successful. Consider using PASV.
14 150 Here comes the directory listing.
15 -rw-r--r-- 1 0 0 0 Jul 01 02:26 test
16 226 Directory send OK.
17 ftp > ?
18 Commands may be abbreviated. Commands are:
19
20 ! debug mdir qc send
21 $ dir mget sendport site
22 account disconnect mkdir put size
23 append exit mls pwd status
24 ascii form mode quit struct
25 bell get modtime quote system
26 binary glob mput recv sunique
27 bye hash newer reget tenex
28 case help nmap rstatus tick
29 cd idle nlist rhelp trace
30 cdup image ntrans rename type
31 chmod lcd open reset user
32 close ls prompt restart umask
33 cr macdef passive rmdir verbose
34 delete mdelete proxy runique ?
35 ftp > bye
36 221 Goodbye.
Baris 4: username yang digunakan
Baris 6: masukkkan passwordnya (karena anonymous di kosongkan saja)
Baris 17: untuk mengetahui perintah-perintah yang bisa dilakukan ketik ?
Sedangkan pada mode non-anonymouse home direktori masing-masing user yang akan di-
gunakan.
1 kholis@cygnus :~$ ftp 10.122.1.52
2 Connected to 10.122.1.52.
3 220 Welcome on AIR server. selamat menikmati ...
4 Name (10.122.1.52: kholis): kholis
5 331 Please specify the password.
6 Password:
7 230 Login successful.
8 Remote system type is UNIX.
9 Using binary mode to transfer files.
10 ftp > pwd
11 257 "/home/kholis"
FTP sebenarnya cara yang tidak aman untuk mentransfer le karena le tersebut ditrans-
fer tanpa melalui enkripsi terlebih dahulu tetapi melalui clear text. Solusi yang digunakan
adalah dengan menggunakan SFTP (SSH FTP) yaitu FTP yang berbasis pada SSH atau
menggunakan FTPS (FTP over SSL) sehingga data yang dikirim terlebih dahulu dienkripsi
(dikodekan).
54
23.2 FTP Client
adalah program yang digunakan untuk mengakses ftp server. ada banyak program yang
bisa digunakan umunya terbagai 2 yaitu mode text dan mode gras. untuk yang mode text
dapat dilihat seperti pada kode 23.1. Sedangkan untuk mode gras dapat menggunakan
le browser seperti: konqueror, nautilus. web browser seperti: refox, opera maupun FTP
Client seperti: Filezilla, gftp, dll. berikut beberapa screenshot:
Gambar 18: Firefox sebagai ftp client
Gambar 19: Nautilus sebagai ftp client
55
Gambar 20: FileZilla sebagai ftp client
24 NFS
Network File System atau sistem berkas jaringan adalah sekumpulan protokol yang di-
gunakan untuk mengakses beberapa sistem berkas melalui jaringan. Bisa dikatakan juga
bahwa NFS merupakan sebuah implementasi dan spesikasi dari sebuah perangkat lunak
untuk mengakses remote le melalui jaringan LAN atau WAN.
NFS yang dikembangkan oleh Sun Micro Systems Inc. Tujuan dari NFS adalah untuk
memungkinkan terjadinya pertukaran sistem berkas secara transparan antara mesin-mesin
bebas tersebut. Hubungan yang terjadi di sini didasarkan pada hubungan client-server yang
menggunakan perangkat lunak NFS server dan NFS client yang berjalan diatas workstation
7
.
NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang berjalan di
atas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi antara client
dan server di dalam jaringan. Client NFS selanjutnya akan mengimpor sistem berkas remote
dari server NFS, sementara server NFS mengekspor sistem berkas lokal kepada client.
24.1 NFS Server
Instalasi NFS server dapat dilakukan dengan:
1 root@air :~# apt -get install nfs -common nfs -kernel -server portmap
File kongurasinya berada di /etc/exports.
1 # /etc/exports: the access control list for filesystems which may be exported
2 # to NFS clients. See exports (5).
3 #
4 # Example for NFSv2 and NFSv3:
5 # /srv/homes hostname1(rw,sync) hostname2(ro ,sync)
6 #
7 # Example for NFSv4:
8 # /srv/nfs4 gss/krb5i(rw,sync ,fsid=0,crossmnt)
9 # /srv/nfs4/homes gss/krb5i(rw ,sync)
10 #
11 /home/kholis/share 192.168.1.0/24(rw,sync ,no_root_squash ,no_subtree_check)
7
http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-2/ch18s05.html
56
Baris 11:
/home/kholis/share: adalah direktori yang di share
192.168.1.0/24: hanya bisa diakses oleh jaringan 192.168.1.0 netmask 255.255.255.0
rw: bisa ditulisi
sync: akan memaksakan agar proses dilakukan secara sinkron. Sync akan men-
jaga agar tidak ada korupsi data pada saat server reboot / mati pada saat le
write, tentunya dengan sedikit pengorbanan performance di bandingkan jika kita
menggunakan mekanisme async.
no root squash: root yang pada mesin client akan memiliki tingkatan akses ke le
sama dengan root pada server
no subtree check: membuat NFS client bisa mengakses direktori-direktori di bawah
/ di dalam direktori yang dibagi tadi.
Jalankan service NFS dengan:
1 root@air :~# /etc/init.d/nfs -kernel -server start
24.2 NFS Client
Instalasi NFS client dapat dilakukan dengan:
1 root@air :~# apt -get install nfs -user -server
Mount direktori share pada server dengan menambahkan entri berikut di /etc/fstab agar
tiap kali booting selalu di mount otomatis.
1 # <file system > <mount point > <type > <options > <dump > <pass >
2 192.168.0.1:/ home/kholis/share /home/lukman/nfs_share nfs defaults 0 0
57
Bagian VIII
Print Server
25 CUPS
Common Unix Printing System (CUPS) adalah sebuah sistem pencetak komputer yang
modular (modularised computer printing system) untuk komputer dengan sistem operasi
Unix-like seperti Linux, BSD dan Mac OSX, yang memungkinkan komputer berfungsi se-
bagai print servers. Komputer yang menjalankan CUPS adalah host yang dapat menerima
tugas cetak dari semua komputer klien, memroses perintah tersebut dan mengirimkannya
ke printer yang terkait.
CUPS terdiri dari sebuah Unix print spooler dan scheduler, sebuah sistem lter yang
menterjemahkan print data ke format yang dapat dimengerti mesin pencetak (printer), ter-
masuk sebuah sistem dilatar belakang (backend system) yang mensuplai data tersebut ke
mesin pencetak. CUPS memanfaatkan Internet Printing Protocol (IPP) sebagai basis untuk
mengelola tugas cetak dan antrean (print jobs and queues).
25.1 Instalasi dan Kongurasi CUPS server
Install CUPS dengan perintah berikut:
1 root@air :~# apt -get install cupsys cupsys -driver -gutenprint foomatic -db -gutenprint
foomatic -filters fontconfig libtiff4 libfreetype6
File kongurasi terletak di /etc/cups/cupsd.conf.
58
1 # Log general information in error_log - change "info" to "debug" for
2 # Encryption
3 Encryption IfRequested
4
5 # troubleshooting ...
6 LogLevel warning
7
8 # Administrator user group ...
9 SystemGroup lpadmin
10
11
12 # Only listen for connections from the local machine.
13 Listen localhost :631
14 Listen 192.168.1.1
15 Listen /var/run/cups/cups.sock
16
17 # Show shared printers on the local network.
18 Browsing On
19 BrowseOrder allow ,deny
20 BrowseAllow all
21 BrowseAddress @LOCAL
22
23 # Default authentication type , when authentication is required ...
24 DefaultAuthType Basic
25
26 # Restrict access to the server ...
27 <Location />
28 Order allow ,deny
29 Allow localhost
30 Allow 192.168.1.*
31 Deny all
32 </Location >
33
34 # Restrict access to the admin pages ...
35 <Location /admin >
36 Order allow ,deny
37 Allow localhost
38 Deny all
39 </Location >
40
41 # Restrict access to configuration files ...
42 <Location /admin/conf >
43 AuthType Default
44 Require user @SYSTEM
45 Order allow ,deny
46 Allow localhost
47 </Location >
Baris 12-15: digunakan untuk setting ip serta port yang digunakan server.
Baris 17-21: Opsi Browsing On agar printer server bisa terlihat dan dibrowse dalam
jaringan.
Baris 26-32: pengaturan hak izin mengakses server. yang diperbolehkan mengakses
hanya localhost dan jaringan 192.168.1.0/24
Baris 34-39: pengaturan hak izin mengakses halaman admin server. hanya localhost
yang diperbolehkan
Baris 41-47: mirip baris 34-39 tetapi untuk halaman kongurasi.
Mengaktifkan Dukungan untuk Driver PCL Windows. Driver PCL mengirimkan data
mentah ke server print. Untuk mengaktifkan pencetakan data mentah di CUPS anda
perlu mengedit /etc/cups/mime.types dan menghapus tanda komentar pada baris-baris
application/octet-stream. Anda juga perlu melakukan hal yang sama pada /etc/cups/mime.convs.
1 root@air :~# vim /etc/cups/mime.types
2 # Hapus tanda komentar dari baris berikut
3 application/octet -stream
4
5 root@air :~# vim /etc/cups/mime.convs
6 # Hapus tanda komentar dari baris berikut
7 application/octet -stream application/vnd.cups -raw 0 -
59
Restart service cups
1 root@air :~# /etc/init.d/cupsys restart
Sekarang anda coba dari browser anda dengan mengetik http://localhost:631 . Jika proses
instalasi berhasil maka anda tinggal install driver printer melalui menu yang ada.
25.2 Instalasi dan Kongurasi CUPS client
Install CUPS client dengan perintah berikut:
1 root@air :~# apt -get install cupsys cupsys -client
Setelah itu buatlah le /etc/cups/client.conf dan isi dengan code berikut.
1 # Servername
2 ServerName 192.168.1.1
3 # Encryption
4 Encryption IfRequested
Restart service cups
1 root@air :~# /etc/init.d/cupsys restart
60
Bagian IX
DHCP Server
DHCP (Dynamic Host Conguration Protocol) adalah protokol yang berbasis arsitektur
client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan.
Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada
semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua kom-
puter yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari serv-
er DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP,
seperti default gateway dan DNS server.
Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server,
maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP Server dan DHCP Client.
DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat menye-
wakan alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya.
DHCP client merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yang
memungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server.
DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan
kepada klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa ala-
mat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga
beberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akan
meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya.
DHCP Client akan mencoba untuk mendapatkan penyewaan alamat IP dari sebuah
DHCP server dalam proses empat langkah berikut:
DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untuk
mencari DHCP Server yang aktif.
DHCPOFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP
server kemudian menawarkan sebuah alamat kepada DHCP client.
DHCPREQUEST: Client meminta DCHP server untuk menyewakan alamat IP dari
salah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangku-
tan.
DHCPACK: DHCP server akan merespons permintaan dari klien dengan mengirimkan
paket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat
(dan kongurasi TCP/IP lainnya) kepada klien, dan memperbarui basis data database
miliknya.
Klien selanjutnya akan memulai proses binding dengan tumpukan protokol TCP/IP dan
karena telah memiliki alamat IP, klien pun dapat memulai komunikasi jaringan. Empat
tahap di atas hanya berlaku bagi klien yang belum memiliki alamat.
Untuk klien yang sebelumnya pernah meminta alamat kepada DHCP server yang sama,
hanya tahap 3 dan tahap 4 yang dilakukan, yakni tahap pembaruan alamat (address renew-
al), yang jelas lebih cepat prosesnya.
DHCP bersifat stand-alone, sehingga jika dalam sebuah jaringan terdapat beberapa
DHCP server, basis data alamat IP dalam sebuah DHCP Server tidak akan direplikasi
ke DHCP server lainnya. Hal ini dapat menjadi masalah jika kongurasi antara dua DHCP
server tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki alamat
yang sama.
Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat mene-
tapkan sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu ke
waktu.
26 DHCP Server
Berikut ini adalah instalasi dan kongurasi DHCP Server:
61
Install DHCP Server
1 root@air :~# apt -get install dhcp3 -server dhcp3 -common
Tentukan interface yang akan digunakan untuk melayani service DHCP dengan menged-
it le /etc/default/dhcp3-server.
1 root@air :~# vim /etc/default/dhcp3 -server
2 # Defaults for dhcp initscript
3 # sourced by /etc/init.d/dhcp
4 # installed at /etc/default/dhcp3 -server by the maintainer scripts
5
6 #
7 # This is a POSIX shell fragment
8 #
9
10 # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
11 # Separate multiple interfaces with spaces , e.g. "eth0 eth1".
12 INTERFACES ="eth0"
Baris 12: adalah interface yang digunakan.
File Kongurasi utama DHCP berada di /etc/dhcp3/dhcpd.conf. Berikut adalah kon-
gurasi sederhana sebagai contoh
1 # A slightly different configuration for an internal subnet.
2 subnet 10.122.1.0 netmask 255.255.255.0 {
3 range 10.122.1.101 10.122.1.150;
4 option domain -name -servers ns.computer.ee.its.ac.id;
5 option domain -name "computer.ee.its.ac.id";
6 option routers 10.122.1.1;
7 option broadcast -address 10.122.1.255;
8 default -lease -time 600;
9 max -lease -time 7200;
10 }
Baris 2: menunjukkan jaringan yang akan ditangani
Baris 3: adalah range IP Address yang dialokasikan untuk DHCP
Baris 4: adalah DNS Server yang akan diberikan ke client.
Baris 5: adalah domain dari client.
Baris 6: adalah default gateway yang akan di berikan ke client.
Baris 7: adalah alamat broadcast client.
Baris 8: lama waktu peminjaman (dalam satuan detik)
Baris 9: waktu maksimal peminjaman (detik).
Untuk memberikan alamat yang tetap pada client dapat ditambahkan kongurasi
berikut:
1 host fantasia {
2 hardware ethernet 08:00:07:26: c0:a5;
3 fixed -address fantasia.fugue.com;
4 }
Baris 1: nama host
Baris 2: MAC Address ethernet card client
Baris 3: FQDN (Full Qualied Domain Name) jika terdapat DNS Server. atau
bisa juga diganti denga IP Address bila tidak terdapat DNS Server di jaringan.
62
27 DHCP Client
Untuk client cukup menginstall paket dhcp3-client. dan mengubah settingan IP Address
pada /etc/network/interface menjadi dhcp.
1 auto lo
2 iface lo inet loopback
3
4 auto eth0
5 iface eth0 inet dhcp
63
Bagian X
Network Monitoring
28 SNMP (Simple Network Management Protocol)
SNMP adalah protokol yang didesain untuk memberikan kemampuan ke pemakai untuk
mengelola jaringan komputernya dari jarak jauh. SNMP menggunakan protokol UDP pada
port 161(agent) dan 162(manager)[2].
SNMP terdiri dari tiga elemen yaitu:
1. MIB (Management Information Base)
adalah struktur database variabel elemen jaringan yang dikelola. Struktur ini bersifat
hirarki dan memiliki aturan sehingga informasi setiap variabel dapat diketahui dan
diset dengan mudah.
2. Manager
software yang berjalan pada sebuah host di jaringan yang berfungsi mengumpulkan
informasi dari agen-agen
3. Agent
adalah software yang dijalankan di setiap node jaringan yang akan di monitor.
28.1 Instalasi SNMP Server
Instalasi SNMP dapat dilakukan dengan:
1 root@air :~# apt -get install snmp snmpd
File utama SNMP berada pada /etc/snmp/snmpd.conf.
64
1 ####
2 # First , map the community name (COMMUNITY) into a security name
3 # (local and mynetwork , depending on where the request is coming
4 # from):
5
6 # sec.name source community
7 com2sec paranoid default b201crew
8 #com2sec readonly default public
9 #com2sec readwrite default private
10
11 ####
12 # Second , map the security names into group names:
13
14 # sec.model sec.name
15 group MyROSystem v1 paranoid
16 group MyROSystem v2c paranoid
17 group MyROSystem usm paranoid
18 group MyROGroup v1 readonly
19 group MyROGroup v2c readonly
20 group MyROGroup usm readonly
21 group MyRWGroup v1 readwrite
22 group MyRWGroup v2c readwrite
23 group MyRWGroup usm readwrite
24
25 ####
26 # Third , create a view for us to let the groups have rights to:
27
28 # incl/excl subtree mask
29 view all included .1 80
30 view system included .iso.org.dod.internet.mgmt.mib -2. system
31
32 ####
33 # Finally , grant the 2 groups access to the 1 view with different
34 # write permissions:
35
36 # context sec.model sec.level match read write notif
37 access MyROSystem "" any noauth exact all none none
38 access MyROGroup "" any noauth exact all none none
39 access MyRWGroup "" any noauth exact all all none
40
41 # -----------------------------------------------------------------------------
Baris 7: adalah deklarasi community name dan security name. jika ingin memonitor
seluruh jaringan bisa diganti dengan com2sec localNet 192.168.0.0 /24 public
Baris 15-17: adalah memetakan security paranoid ke dalam 3 group tersebut.
Kongurasi opsional, menunjukkan orang yang bertanggungjawab terhadap SNMP.
1 ###############################################################################
2 # System contact information
3 #
4
5 # It is also possible to set the sysContact and sysLocation system
6 # variables through the snmpd.conf file. ** PLEASE NOTE** that setting
7 # the value of these objects here makes these objects READ -ONLY
8 # (regardless of any access control settings). Any attempt to set the
9 # value of an object whose value is given here will fail with an error
10 # status of notWritable.
11
12 syslocation Lab B-201
13 syscontact kholis <kholis@ee.its.ac.id>
Restart service SNMP
1 root@air :~# /etc/init.d/snmpd restart
Untuk melihat hasilnya dapat digunakan perintah berikut, dan akan muncul keluaran
seperti berikut.
65
1 root@air :~# snmpwalk localhost -c public -v1
2 SNMPv2 -MIB:: sysDescr .0 = STRING: Linux sritest 2.4.27 -2 -386 #1 Wed Aug 17 09:33:35 UTC
2005 i686
3 SNMPv2 -MIB:: sysObjectID .0 = OID: NET -SNMP -MIB:: netSnmpAgentOIDs .10
4 SNMPv2 -MIB:: sysUpTime .0 = Timeticks: (656698) 1:49:26.98
5 SNMPv2 -MIB:: sysContact .0 = STRING: kholis@kholisee.its.ac.id
6 SNMPv2 -MIB:: sysName .0 = STRING: debiantest
7 SNMPv2 -MIB:: sysLocation .0 = STRING: Maindatacenter
8 SNMPv2 -MIB:: sysORLastChange .0 = Timeticks: (0) 0:00:00.00
9 SNMPv2 -MIB:: sysORID .1 = OID: IF-MIB::ifMIB
10 SNMPv2 -MIB:: sysORID .2 = OID: SNMPv2 -MIB:: snmpMIB
11 SNMPv2 -MIB:: sysORID .3 = OID: TCP -MIB:: tcpMIB
12 SNMPv2 -MIB:: sysORID .4 = OID: IP-MIB::ip
13 SNMPv2 -MIB:: sysORID .5 = OID: UDP -MIB:: udpMIB
14 SNMPv2 -MIB:: sysORID .6 = OID: SNMP -VIEW -BASED -ACM -MIB:: vacmBasicGroup
15 SNMPv2 -MIB:: sysORID .7 = OID: SNMP -FRAMEWORK -MIB:: snmpFrameworkMIBCompliance
16 SNMPv2 -MIB:: sysORID .8 = OID: SNMP -MPD -MIB:: snmpMPDCompliance
17 SNMPv2 -MIB:: sysORID .9 = OID: SNMP -USER -BASED -SM -MIB:: usmMIBCompliance
28.2 Instalasi SNMP Client
Instalasi SNMP Client dapat dilakukan dengan
8
:
1 root@air :~# apt -get install snmp scli tkmib
Fille kongurasinya terdapat pada /etc/snmp/snmp.conf . Editlah le tersebut pada
bagian com2sec menjadi seperti berikut
1 #com2sec paranoid default public
2 com2sec readonly 127.0.0.1 public
3 #com2sec readwrite default private
Restart dan test kongurasi
1 root@air :~# /etc/init.d/snmp restart
2 root@air :~# snmpwalk -v 2c -c public remotemachineipaddress system
3 SNMPv2 -MIB:: sysDescr .0 = STRING: Linux sritest 2.4.27 -2 -386 #1 Wed Aug 17 09:33:35 UTC
2005 i686
4 SNMPv2 -MIB:: sysObjectID .0 = OID: NET -SNMP -MIB:: netSnmpAgentOIDs .10
5 SNMPv2 -MIB:: sysUpTime .0 = Timeticks: (168871) 0:28:08.71
6 SNMPv2 -MIB:: sysContact .0 = STRING: webmaster@debianhelp.co.uk
7 SNMPv2 -MIB:: sysName .0 = STRING: debiantest
8 SNMPv2 -MIB:: sysLocation .0 = STRING: maindatacenter
9 SNMPv2 -MIB:: sysORLastChange .0 = Timeticks: (0) 0:00:00.00
10 SNMPv2 -MIB:: sysORID .1 = OID: IF-MIB::ifMIB
11 SNMPv2 -MIB:: sysORID .2 = OID: SNMPv2 -MIB:: snmpMIB
12 SNMPv2 -MIB:: sysORID .3 = OID: TCP -MIB:: tcpMIB
13 SNMPv2 -MIB:: sysORID .4 = OID: IP-MIB::ip
14 SNMPv2 -MIB:: sysORID .5 = OID: UDP -MIB:: udpMIB
15 SNMPv2 -MIB:: sysORID .6 = OID: SNMP -VIEW -BASED -ACM -MIB:: vacmBasicGroup
16 SNMPv2 -MIB:: sysORID .7 = OID: SNMP -FRAMEWORK -MIB:: snmpFrameworkMIBCompliance
17 SNMPv2 -MIB:: sysORID .8 = OID: SNMP -MPD -MIB:: snmpMPDCompliance
18 SNMPv2 -MIB:: sysORID .9 = OID: SNMP -USER -BASED -SM -MIB:: usmMIBCompliance
19 SNMPv2 -MIB:: sysORDescr .1 = STRING: The MIB module to describe generic objects for network
interface sub -layers
20 SNMPv2 -MIB:: sysORDescr .2 = STRING: The MIB module for SNMPv2 entities
21 SNMPv2 -MIB:: sysORDescr .3 = STRING: The MIB module for managing TCP implementations
22 SNMPv2 -MIB:: sysORDescr .4 = STRING: The MIB module for managing IP and ICMP
implementations
23 SNMPv2 -MIB:: sysORDescr .5 = STRING: The MIB module for managing UDP implementations
24 SNMPv2 -MIB:: sysORDescr .6 = STRING: View -based Access Control Model for SNMP.
29 MRTG (Multi Router Trac Grapher)
adalah salah satu tool yang digunakan untuk mengetahui statistic jaringan maupun re-
source/hardware anda. MRTG hanya menampilkan saja, dia mengambil data dari tool lain
seperti SNMP atau iptables dll.
8
http://www.debianhelp.co.uk/snmp.htm
66
1 root@air :~# apt -get install mrtg
akan membuat suatu le mrtg.cfg di /etc. agar lebih teratur kita pindah saja ke /etc/m-
rtg/mrtg.cfg. le ini (mrtg.cfg) yang nantinya akan dicompile oleh /usr/bin/mrtg menja-
di halaman html, gambar png dan le log yang nantinya akan ditampilkan. le mrtg.cfg
ini didapatkan dari snmpd yang sudah kita jalankan dg cara men-generate menggunakan
cfgmaker:
1 root@air :~# cfgmaker b201@localhost > /etc/mrtg/mrtg.cfg
untuk mengubahnya menjadi halaman html serta gambar png, kita gunakan:
1 root@air :~# mrtg /etc/mrtg/mrtg.cfg
untuk mendapatkan informasi yang selalu update, maka kita harus mengeksekusi syntax
tersebut tiap range waktu (misal tiap 5 menit sekali). untuk itu kita letakkan di cron.
buatlah le /etc/cron.d/mrtg yang berisi:
1 */5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg/mrtg.cfg ]; then env
LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi
selanjutnya kita buat index.html dr halaman2 html tadi dengan cara:
1 root@air :~# indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
seharusnya anda bisa melihatnya di http://ipaddress/mrtg. yaitu aktitas dari masing2
network interface yang ada. selanjutnya anda juga bisa menampilkan statistic hardware
seperti cpu usage, memory usage, disk usage dll.
buatlah le /etc/mrtg/cpu.cfg yang berisi
1 WorkDir: /var/www/mrtg
2 LoadMIBs: /usr/share/snmp/mibs/UCD -SNMP -MIB.txt
3 Target[localhost.cpu]: ssCpuRawUser .0& ssCpuRawUser .0: public@127 .0.0.1+ ssCpuRawSystem .0&
ssCpuRawSystem .0: public@127 .0.0.1+ ssCpuRawNice .0& ssCpuRawNice .0: public@127 .0.0.1
4 RouterUptime[localhost.cpu]: public@127 .0.0.1
5 MaxBytes[localhost.cpu]: 100
6 Title[localhost.cpu]: CPU Load
7 PageTop[localhost.cpu]: Active CPU Load %
8 Unscaled[localhost.cpu]: ymwd
9 ShortLegend[localhost.cpu]: %
10 YLegend[localhost.cpu]: CPU Utilization
11 Legend1[localhost.cpu]: Active CPU in % (Load)
12 Legend2[localhost.cpu]:
13 Legend3[localhost.cpu]:
14 Legend4[localhost.cpu]:
15 LegendI[localhost.cpu]: Active
16 LegendO[localhost.cpu]:
17 Options[localhost.cpu]: growright ,nopercent
buat juga le /etc/mrtg/mem.cfg yang berisi
1 LoadMIBs: /usr/share/snmp/mibs/HOST -RESOURCES -MIB.txt
2 Target[localhost.mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0: public@localhost
PageTop[localhost.mem]:Free Memory
3 WorkDir: /var/www/mrtg
4 Options[localhost.mem]: nopercent ,growright ,gauge ,noinfo
5 Title[localhost.mem]: Free Memory
6 MaxBytes[localhost.mem]: 1000000
7 kMG[localhost.mem]: k,M,G,T,P,X
8 YLegend[localhost.mem]: bytes
9 ShortLegend[localhost.mem]: bytes
10 LegendI[localhost.mem]: Free Memory:
11 LegendO[localhost.mem]:
12 Legend1[localhost.mem]: Free memory , not including swap , in bytes
67
buatlah script untuk masing-masing *.cfg tadi agar di compile/di ubah menjadi le
html, gambar png, dan log di /var/www/mrtg (atau di directory lain sesuai yang ada di
le). buatlah di sembarang directory misalnya di /etc/cron.mrtg. le tersebut adalah:
/etc/cron.mrtg/cpu yang berisi
1 #!/ bin/sh
2 env LANG=C /usr/bin/mrtg /etc/mrtg/cpu.cfg
/etc/cron.mrtg/mem yang berisi
1 #!/ bin/sh
2 env LANG=C /usr/bin/mrtg /etc/mrtg/mem.cfg
ubahlah menjadi executable:
1 root@air :~# chmod ugo+x -R /etc/cron.mrtg
agar selalu update maka harus di cron juga seperti diatas. tambahkan saja di /etc/cron.d/mrtg
menjadi:
1 */5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg/mrtg.cfg ]; then env
LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi
2 */5 * * * * root /bin/run -parts /etc/cron.mrtg 1> /dev/null
68
Bagian XI
Network Time Protocol (NTP)
Network Time Protocol (NTP) adalah protokol TCP/IP untuk sinkronisasi waktu antar-
komputer di seluruh dunia. NTP menggunakan protokol UDP dengan port 123 sebagai
layer transport nya. NTP menggunakan sistem packet-switched dan didesain untuk tahan
terhadap latency jaringan. NTP merupakan salah satu protokol internet tertua (sejak tahun
1985 ) dan masih digunakan sampai sekarang. NTP diciptakan oleh Dave Mills dari Uni-
versity of Delaware
9
.
30 NTP Server
1. Install paket berikut
1 root@air :~# apt -get install ntp ntpdate ntp -server
2. File kongurasi NTP berada di /etc/ntp.conf. Buka dan Editlah seperti berikut:
1 # /etc/ntp.conf , configuration for ntpd
2
3 driftfile /var/lib/ntp/ntp.drift
4
5 # Enable this if you want statistics to be logged.
6 statsdir /var/log/ntpstats/
7
8 statistics loopstats peerstats clockstats
9 filegen loopstats file loopstats type day enable
10 filegen peerstats file peerstats type day enable
11 filegen clockstats file clockstats type day enable
12
13 # You do need to talk to an NTP server or two (or three).
14 #server ntp.your -provider.example
15
16 # pool.ntp.org maps to about 1000 low -stratum NTP servers.
17 # Your server will pick a different set every time it starts up.
18 # *** Please consider joining the pool! ***
19 # *** <http :// www.pool.ntp.org/join.html > ***
20
21 server 0.sg.pool.ntp.org
22 server 1.sg.pool.ntp.org
23 server 2.sg.pool.ntp.org
24 server 3.sg.pool.ntp.org
25
26 # By default , exchange time with everybody , but don t allow configuration.
27 # See /usr/share/doc/ntp -doc/html/accopt.html for details.
28 restrict -4 default kod notrap nomodify nopeer noquery
29 restrict -6 default kod notrap nomodify nopeer noquery
30
31 # Local users may interrogate the ntp server more closely.
32 restrict 127.0.0.1
33 restrict ::1
34
35 # Clients from this (example !) subnet have unlimited access ,
36 # but only if cryptographically authenticated
37 restrict 10.122.1.0 mask 255.255.255.0 nomodify
38
39 # If you want to provide time to your local subnet , change the next line.
40 # (Again , the address is an example only.)
41 broadcast 10.122.1.255
42
43 # If you want to listen to time broadcasts on your local subnet ,
44 # de-comment the next lines. Please do this only if you trust everybody
45 # on the network!
46 #disable auth
47 #broadcastclient
9
http://en.wikipedia.org/wiki/Network Time Protocol
69
Baris 21-24: adalah NTP Server yang akan anda hubungi. Carilah yang terdekat
dekan wilayah anda.
Baris 37: adalah network yang akan ditangani
Baris 41: Broadcast network yang ditangani
3. Edit pula le /etc/default/ntpdate
1 # The settings in this file are used by the program ntpdate -debian , but not
2 # by the upstream program ntpdate.
3
4 # Set to "yes" to take the server list from /etc/ntp.conf , from package ntp ,
5 # so you only have to keep it in one place.
6 NTPDATE_USE_NTP_CONF=yes
7
8 # List of NTP servers to use (Separate multiple servers with spaces .)
9 # Not used if NTPDATE_USE_NTP_CONF is yes.
10
11 NTPSERVERS ="0.sg.pool.ntp.org 1.sg.pool.ntp.org 2.sg.pool.ntp.org 3.sg.pool.ntp.org"
12 # Additional options to pass to ntpdate
13 NTPOPTIONS =""
Baris 11: isilah sesuai dengan server NTP pada /etc/ntp.conf
4. Jalankan ntpdate untuk mengupdate waktu lokal agar sesuai dengan waktu server
1 root@air :~# ntpdate 0.sg.pool.ntp.org
5. Test kecocokan waktu dengan
1 root@air :~# ntpq -c lpee
2 remote refid st t when poll reach delay offset jitter
3 ==============================================================================
4 *starlite.ispwor 128.250.36.2 2 u 57 64 377 371.361 -32.693 105.088
5 10.122.1.255 .BCST. 16 u - 64 0 0.000 0.000 0.002
Baris 4: tanda * menandakan waktu telah sinkron dengan server.
6. Jalankan daemon ntp untuk melayani client.
1 root@air :~# /etc/init.d/ntp start
31 NTP Client
Pada NTP Client tidak banyak perbedaan dengan NTP Server karena pada dasarnya NTP
Server adalah NTP Client dari server yang dihubunginya.
Installah paket berikut pada NTP Client:
1 root@air :~# apt -get install ntp ntpdate
Pada le /etc/ntp.conf. Ubahlah string pada server sesuai dengan IP Address dari NTP
Server yang telah anda setting sebelumnya.misalkan NTP Server mempunyai IP Address
192.168.1.254.
70
1 # /etc/ntp.conf , configuration for ntpd
2
3 driftfile /var/lib/ntp/ntp.drift
4
5 # Enable this if you want statistics to be logged.
6 statsdir /var/log/ntpstats/
7
8 statistics loopstats peerstats clockstats
9 filegen loopstats file loopstats type day enable
10 filegen peerstats file peerstats type day enable
11 filegen clockstats file clockstats type day enable
12
13 # You do need to talk to an NTP server or two (or three).
14 #server ntp.your -provider.example
15
16 # pool.ntp.org maps to about 1000 low -stratum NTP servers.
17 # Your server will pick a different set every time it starts up.
18 # *** Please consider joining the pool! ***
19 # *** <http :// www.pool.ntp.org/join.html > ***
20
21 server 192.168.1.254
22
23 # By default , exchange time with everybody , but don t allow configuration.
24 # See /usr/share/doc/ntp -doc/html/accopt.html for details.
25 restrict -4 default kod notrap nomodify nopeer noquery
26 restrict -6 default kod notrap nomodify nopeer noquery
27
28 # Local users may interrogate the ntp server more closely.
29 restrict 127.0.0.1
30 restrict ::1
Edit le /etc/default/ntpdate.
1 # The settings in this file are used by the program ntpdate -debian , but not
2 # by the upstream program ntpdate.
3
4 # Set to "yes" to take the server list from /etc/ntp.conf , from package ntp ,
5 # so you only have to keep it in one place.
6 NTPDATE_USE_NTP_CONF=yes
7
8 # List of NTP servers to use (Separate multiple servers with spaces .)
9 # Not used if NTPDATE_USE_NTP_CONF is yes.
10
11 NTPSERVERS ="192.168.1.254"
12 # Additional options to pass to ntpdate
13 NTPOPTIONS =""
Sinkronkan dengan server. lalu jalankan daemon.
1 root@air :~# ntpdate 192.168.1.254
2 root@air :~# /etc/init.d/ntp start
Pustaka
[1] Modul Praktikum Jaringan Komputer Politeknik Elektronika ITS Surabaya (EEPIS).
[2] Onno W. Purbo, dkk, Buku Pintar Internet TCP/IP, Elek Media Komputindo, 2001
[3] Rachmat Raudin, IP Routing dan Firewall dalam Linux, Penerbit Andi Yogyakarta,
2006
[4] Galih Satriaji, Sekilas Domain Name Server dan Iptables, Teknik Informatika ITS, 2005
[5] azi@arc.itb.ac.id, Training Domain Name Server dengan BIND
[6] Fajar Priyanto, PANDUAN PRAKTIS FIREWALL DENGAN IPTABLES,
http://linux2.arinet.org, 25 April 2008.
[7] Onno W. Purbo. Proxy - untuk sharing internet. http://onno.vlsm.org
71
[8] Galih Satriaji, Sekilas Proxy Server dan Webserver Dengan Squid dan Apache, Teknik
Informatika ITS, 2005
[1] Sritrusta Sukaridhoto, Buku Jaringan Komputer, EEPIS-ITS
72

Anda mungkin juga menyukai