osi layer

278
✤❁❆▼❁❒ ✩▲❉ ✢✡✢ ✑ ✢✡✢ ✑ ✢✡✢ ✑ ✢✡✢ ✑ ✤❁▲❁❒ ✤❁▲❁❒ ✤❁▲❁❒ ✤❁▲❁❒✍❄❁▲❁❒ ✴✣✰✏✩✰ ❄❁▲❁❒ ✴✣✰✏✩✰ ❄❁▲❁❒ ✴✣✰✏✩✰ ❄❁▲❁❒ ✴✣✰✏✩✰ Konsep Internetworking dengan TCP/IP 1-2 Tentang TCP/IP 1-2 TCP/IP 1-2 TCP/IP dan Internet 1-3 TCP/IP Features 1-3 Model Komunikasi Data 1-4 Arsitektur Protokol TCP/IP 1-8 Dasar-dasar Pembentukan Jaringan TCP/IP 1-13 Pengalamatan dan IP Address 1-13 Routing 1-18 Tabel Routing 1-19 Mekanisme routing berdasarkan tabel routing 1-19 Name Service 1-20 DNS (Domain Name Service) 1-24 ✢✡✢ ✒ ✢✡✢ ✒ ✢✡✢ ✒ ✢✡✢ ✒

Upload: sandi-nala-winanto

Post on 03-Jul-2015

453 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OSI Layer

✤❁❆▼❁❒ ✩▲❉

✢✡✢ ✑✢✡✢ ✑✢✡✢ ✑✢✡✢ ✑

✤❁▲❁❒✤❁▲❁❒✤❁▲❁❒✤❁▲❁❒✍ ✍✍✍❄❁▲❁❒ ✴✣✰✏✩✰❄❁▲❁❒ ✴✣✰✏✩✰❄❁▲❁❒ ✴✣✰✏✩✰❄❁▲❁❒ ✴✣✰✏✩✰

Konsep Internetworking dengan TCP/IP 1-2

Tentang TCP/IP 1-2

TCP/IP 1-2

TCP/IP dan Internet 1-3

TCP/IP Features 1-3

Model Komunikasi Data 1-4

Arsitektur Protokol TCP/IP 1-8

Dasar-dasar Pembentukan Jaringan TCP/IP 1-13

Pengalamatan dan IP Address 1-13

Routing 1-18

Tabel Routing 1-19

Mekanisme routing berdasarkan tabel routing 1-19

Name Service 1-20

DNS (Domain Name Service) 1-24

✢✡✢ ✒✢✡✢ ✒✢✡✢ ✒✢✡✢ ✒

Page 2: OSI Layer

2

✰❅❒❅■❃❁■❁❁■ ✬✡✮ ❄❁■ ✩■▼❅❒■❅▼◗❏❒❋ ✴✣✰✏✩✰✰❅❒❅■❃❁■❁❁■ ✬✡✮ ❄❁■ ✩■▼❅❒■❅▼◗❏❒❋ ✴✣✰✏✩✰✰❅❒❅■❃❁■❁❁■ ✬✡✮ ❄❁■ ✩■▼❅❒■❅▼◗❏❒❋ ✴✣✰✏✩✰✰❅❒❅■❃❁■❁❁■ ✬✡✮ ❄❁■ ✩■▼❅❒■❅▼◗❏❒❋ ✴✣✰✏✩✰

Pendahuluan 2-2

Metodologi Perencanaan LAN 2-2

Media Implementasi Jaringan 2-3

Twisted Pair 2-3

Kabel Koaksial 2-4

Fiber Optik 2-5

Wireless 2-5

Topologi Fisik Jaringan 2-6

Topologi Ring 2-7

Topologi Star 2-7

Topologi Logic 2-8

Token Ring 2-9

ARCnet 2-10

FDDI 2-10

Jaringan Ethernet 2-11

Komponen Jaringan Ethernet 2-11

Instalasi Kabel Ethernet 2-12

Menghubungkan PC ke Jaringan Ethernet 2-15

Elemen-elemen Internetworking 2-18

Repeater 2-18

Bridge 2-19

Page 3: OSI Layer

!

3

Router 2-19

Switch 2-20

Converter 2-21

Internetwork Heterogen 2-21

Internetwork Menggunakan Bridge 2-22

Internetwork Menggunakan Router 2-23

Perencanaan Internetwork TCP/IP 2-26

Pengalokasian Alamat IP 2-28

Pengaturan Routing 2-28

Penempatan Server 2-29

Penanganan Protokol Jaringan yang Berbeda 2-30

✢✡✢ ✓✢✡✢ ✓✢✡✢ ✓✢✡✢ ✓

✳❅❋❉●❁▲ ✴❅■▼❁■❇ ✵✮✩✸✳❅❋❉●❁▲ ✴❅■▼❁■❇ ✵✮✩✸✳❅❋❉●❁▲ ✴❅■▼❁■❇ ✵✮✩✸✳❅❋❉●❁▲ ✴❅■▼❁■❇ ✵✮✩✸

Pendahuluan 3-2

Membuat Disket Boot 3-2

Pada sistem DOS 3-3

Pada sistem FreeBSD 3-3

Instalasi dari CDROM 3-3

Instalasi dari Floppy 3-3

Instalasi dari Partisi DOS 3-4

Instalasi dari QIC/SCSI Tape 3-4

Instalasi dari Jaringan 3-4

Instalasi melalui FTP 3-5

Page 4: OSI Layer

4

Instalasi FreeBSD (FTP) 3-5

Memulai dan Mengakhiri FreeBSD 3-11

Perintah-perintah Dasar Utiliti Sistem dan Regular Expression

3-13

Regular Expression 3-13

Redirection dan Pipes (filter) 3-13

Operasi File dan Direktori 3-14

Teks Editor: vi 3-17

✢✡✢ ✔✢✡✢ ✔✢✡✢ ✔✢✡✢ ✔

✭❅■❇❋❏■❆❉❇◆❒❁▲❉ ✮❅▼◗❏❒❋ ✩■▼❅❒❆❁❃❅✭❅■❇❋❏■❆❉❇◆❒❁▲❉ ✮❅▼◗❏❒❋ ✩■▼❅❒❆❁❃❅✭❅■❇❋❏■❆❉❇◆❒❁▲❉ ✮❅▼◗❏❒❋ ✩■▼❅❒❆❁❃❅✭❅■❇❋❏■❆❉❇◆❒❁▲❉ ✮❅▼◗❏❒❋ ✩■▼❅❒❆❁❃❅

Pendahuluan 4-2

Konfigurasi Interface Menggunakan ifconfig 4-2

Menggunakan Perintah netstat 4-3

Memeriksa Interface dengan ifconfig 4-5

Mengeset Broadcast Address 4-7

Memberikan Address pada Network Interface 4-7

Command Option yang lain dari ifconfig 4-7

TCP/IP Melalui Serial Line 4-9

Memilih Protokol Serial 4-10

Mengkonfigurasi Interface SLIP 4-10

slattach 4-11

Page 5: OSI Layer

!

5

sliplogin 4-13

Mengkonfigurasi PPP 4-14

Melakukan Konfigurasi Pada Startup File 4-15

✢✡✢ ✕✢✡✢ ✕✢✡✢ ✕✢✡✢ ✕

✫❏■❆❉❇◆❒❁▲❉ ✲❏◆▼❉■❇✫❏■❆❉❇◆❒❁▲❉ ✲❏◆▼❉■❇✫❏■❆❉❇◆❒❁▲❉ ✲❏◆▼❉■❇✫❏■❆❉❇◆❒❁▲❉ ✲❏◆▼❉■❇

Pendahuluan 5-2

Subnetting 5-2

Topologi Network dan Routing 5-6

Konfigurasi Routing yang Sering Digunakan 5-8

Minimal routing 5-9

Static routing 5-9

Dynamic routing 5-9

Membentuk Routing Table 5-10

Routing Information Protokol 5-13

Penggunaan routed/gated 5-15

✢✡✢ ✖✢✡✢ ✖✢✡✢ ✖✢✡✢ ✖

✤❏❍❁❉■ ✮❁❍❅ ✳❙▲▼❅❍ ✈✤✮✳✉ ✢❅❒❋❅●❅❙ ✩■▼❅❒■❅▼ ✮❁❍❅ ✤❏❍❁❉■ ✮❁❍❅ ✳❙▲▼❅❍ ✈✤✮✳✉ ✢❅❒❋❅●❅❙ ✩■▼❅❒■❅▼ ✮❁❍❅ ✤❏❍❁❉■ ✮❁❍❅ ✳❙▲▼❅❍ ✈✤✮✳✉ ✢❅❒❋❅●❅❙ ✩■▼❅❒■❅▼ ✮❁❍❅ ✤❏❍❁❉■ ✮❁❍❅ ✳❙▲▼❅❍ ✈✤✮✳✉ ✢❅❒❋❅●❅❙ ✩■▼❅❒■❅▼ ✮❁❍❅ ✤❏❍❁❉■ ✈✢✩✮✤✉✤❏❍❁❉■ ✈✢✩✮✤✉✤❏❍❁❉■ ✈✢✩✮✤✉✤❏❍❁❉■ ✈✢✩✮✤✉

Pendahuluan 6-2

Top Level Domain dan Pendelegasian 6-5

Name Server 6-8

Page 6: OSI Layer

6

Resolver dan Resolution 6-9

Konfigurasi DNS 6-12

Konfigurasi boot-script DNS server 6-12

Konfigurasi caching-only DNS server 6-13

Konfigurasi Primary dan Secondary server 6-14

Konfigurasi Primary dan Secondary server untuk Reverse Domain 6-15

Konfigurasi Zone-file 6-16

Start of Authority (SOA) 6-16

Name-Server (NS) 6-19

Address (A) 6-20

Mail eXchanger (MX) 6-21

Canonical NAME (CNAME) 6-23

Host INFOrmation (HINFO) 6-23

Well Known Service (WKS) 6-24

Konfigurasi Zone-file untuk Reverse Domain 6-25

Konfigurasi Cache-file 6-25

Menjalankan DNS Server 6-27

Konfigurasi Resolver 6-28

Utility nslookup 6-28

✢✡✢ ✗✢✡✢ ✗✢✡✢ ✗✢✡✢ ✗

✳❅■❄❍❁❉●✚ ✩■▲▼❁●❁▲❉ ❄❁■ ✣❁❒❁ ✰❅■❇❏❐❅❒❁▲❉❁■✳❅■❄❍❁❉●✚ ✩■▲▼❁●❁▲❉ ❄❁■ ✣❁❒❁ ✰❅■❇❏❐❅❒❁▲❉❁■✳❅■❄❍❁❉●✚ ✩■▲▼❁●❁▲❉ ❄❁■ ✣❁❒❁ ✰❅■❇❏❐❅❒❁▲❉❁■✳❅■❄❍❁❉●✚ ✩■▲▼❁●❁▲❉ ❄❁■ ✣❁❒❁ ✰❅■❇❏❐❅❒❁▲❉❁■

Pendahuluan 7-2

Instalasi Dasar 7-3

Page 7: OSI Layer

!

7

Mengkompile Sendmail 7-3

File Konfigurasi 7-4

Detail File-file untuk Instalasi 7-4

Operasi Normal 7-10

Log System 7-10

Antrian (The Mail Queue) 7-11

Menampilkan Antrian 7-11

Memaksa Antrian 7-12

Database Alias 7-13

Memperbaharui database alias 7-15

Masalah yang potensial terjadi 7-15

List owners 7-15

Per-User Forwarding (file .forward) 7-16

Argument 7-17

Queue Interval (-q) 7-17

Daemon Mode 7-17

Memaksa Antrian 7-17

Debugging 7-18

Menggunakan File Configuration yang Berbeda 7-18

Mengubah Harga Option 7-18

Logging Traffic 7-19

File sendmail.cf 7-19

Lokasi Contoh File sendmail.cf 7-20

Page 8: OSI Layer

8

Struktur sendmail.cf 7-20

Konfigurasi sendmail.cf 7-23

Perintah Mendefinisikan Macro 7-25

Kondiri Bersyarat 7-27

Perintah Pendefinisian Class 7-27

Perintah Set Option 7-29

Mendefinisikan Trusted Users 7-31

Mendefinisikan Mail Precedence 7-32

Mendefinisikan Mail Headers 7-32

Mendefinisikan mailer 7-33

Rewriting Mail Address 7-37

Pattern Matching 7-37

Transformasi Address 7-39

Set Perintah di Ruleset 7-43

Modifikasi sendmail.cf 7-45

Modifikasi General Macro 7-46

Modifikasi Classes 7-47

Modifikasi Version Number 7-47

Modifikasi Option 7-47

Modifikasi Rewrite Rules 7-48

Menguji sendmail.cf 7-49

Menguji Rewrite Rules 7-52

✢✡✢ ✘✢✡✢ ✘✢✡✢ ✘✢✡✢ ✘

Page 9: OSI Layer

!

9

✭❅❍❂◆❁▼ ✦✴✰ ✳❅❒❖❅❒ ❄❁■ ✷❅❂ ✳❅❒❖❅❒✭❅❍❂◆❁▼ ✦✴✰ ✳❅❒❖❅❒ ❄❁■ ✷❅❂ ✳❅❒❖❅❒✭❅❍❂◆❁▼ ✦✴✰ ✳❅❒❖❅❒ ❄❁■ ✷❅❂ ✳❅❒❖❅❒✭❅❍❂◆❁▼ ✦✴✰ ✳❅❒❖❅❒ ❄❁■ ✷❅❂ ✳❅❒❖❅❒

FTP Server 8-2

Pendahuluan 8-2

Konfigurasi FTP server 8-3

Filesystem 8-5

Memasang FTP server pada FreeBSD 8-6

Memelihara Arsip FTP 8-9

Web Server 8-10

WWW Server 8-10

NCSA 8-10

CERN 8-11

Plexus 8-11

WWW Browser 8-11

HTTP 8-13

Konfigurasi Web Server 8-13

Konfigurasi httpd.conf 8-14

Konfigurasi srm.conf 8-15

Konfigurasi access.conf 8-15

Menjalankan Server 8-16

Test Web Server 8-18

✢✡✢ ✙✢✡✢ ✙✢✡✢ ✙✢✡✢ ✙

✮❅▼◗❏❒❋ ✳❅❃◆❒❉▼❙✮❅▼◗❏❒❋ ✳❅❃◆❒❉▼❙✮❅▼◗❏❒❋ ✳❅❃◆❒❉▼❙✮❅▼◗❏❒❋ ✳❅❃◆❒❉▼❙

Network Security secara Umum 9-2

Page 10: OSI Layer

10

Konsep dalam Network Security 9-3

Perencanaan Security 9-3

Mengenali ancaman terhadap network security 9-3

Metoda-metoda yang digunakan dalam network security 9-5

Security Monitoring 9-14

COPS 9-17

Software Aplikasi dalam Network Security 9-18

Firewall 9-18

Kontrol Akses 9-18

COPS 9-20

✢✡✢ ✑✐✢✡✢ ✑✐✢✡✢ ✑✐✢✡✢ ✑✐

✴❒❏◆❂●❅▲❈❏❏▼❉■❇ ✴✣✰✏✩✰✴❒❏◆❂●❅▲❈❏❏▼❉■❇ ✴✣✰✏✩✰✴❒❏◆❂●❅▲❈❏❏▼❉■❇ ✴✣✰✏✩✰✴❒❏◆❂●❅▲❈❏❏▼❉■❇ ✴✣✰✏✩✰

Memahami Permasalahan 10-2

Beberapa Petunjuk dalam Troubleshooting 10-3

Diagnostic Tools 10-3

Memeriksa Sambungan 10-5

Troubleshooting pada Lapisan Network-Access 10-8

Troubleshooting dengan perintah ifconfig 10-8

Troubleshooting dengan perintah arp 10-10

Mengecek Interface dengan netstat 10-11

Subdividing Ethernet 10-13

Problem pada hardware jaringan 10-14

Page 11: OSI Layer

!

11

Memeriksa Table Routing 10-15

Tracing routes 10-16

Memeriksa Name Service 10-18

Beberapa sistem beroperasi, yang lain tidak 10-19

dig, alternatif lain buat nslookup 10-21

✢✡✢✡✢✡✢✡✢ ✑✑✢ ✑✑✢ ✑✑✢ ✑✑

✴✣✰✏✩✰ ❄❁■ ✩■▼❅❇❒❁▲❉ ❋❅ ✷✡✮✴✣✰✏✩✰ ❄❁■ ✩■▼❅❇❒❁▲❉ ❋❅ ✷✡✮✴✣✰✏✩✰ ❄❁■ ✩■▼❅❇❒❁▲❉ ❋❅ ✷✡✮✴✣✰✏✩✰ ❄❁■ ✩■▼❅❇❒❁▲❉ ❋❅ ✷✡✮

Alternatif Log Distance TCP/IP Gateway Biaya Rendah 11-2

NOS sebagai gateway WAN via packet radio network 11-2

Unix sebagai gateway WAN via phone-line 11-3

Unix sebagai gateway untuk WAN dengan satelit 11-4

Multivendor Integration 11-8

Novell Netware 11-8

Windows for Workgroup 11-15

PC/TCP 11-17

UNIX 11-17

Bagaimana Bergabung dengan Internet 11-18

Radio Paket 11-19

WaveLAN 11-21

Via Satelit: VSAT 11-24

Dial-up dan Leased Line 11-17

Page 12: OSI Layer

12

Page 13: OSI Layer

!

13

1

Dasar-dasar TCP/IP

Pada bagian ini dibicarakan hal-hal mendasar yang

akan dipakai dalam bab-bab selanjutnya. Pertama kita

akan membahas protokol TCP/IP dengan penekanan

pada konsep TCP/IP internetworking, kemudian kita

juga mengulas dasar-dasar yang digunakan dalam

membentuk jaringan TCP/IP, termasuk didalamnya IP

Address, routing dan name service.

Page 14: OSI Layer

14

Konsep Internetworking dengan

TCP/IP

Setiap komputer yang ada memiliki keterbatasan perangkat keras. Komputer yang berdiri

sendiri tidak bisa lagi memenuhi kebutuhan pemakai yang menuntut peningkatan pelayanan.

Orang pun kemudian mulai membangun infrastruktur komunikasi antar komputer. Karena

pembuat perangkat keras komputer bermacam macam , maka terdapat bermacam macam

konfigurasi hardware dan software yang berbeda. Bagaimana supaya komunikasi dapat tetap

berlangsung dan tidak dibatasi oleh perbedaan ini? Dari awal dibuatnya TCP/IP (Transmission

Control Protocol/Internet Protocol). Untuk menyatukan sistem sistem yang berbeda diperlukan

suatu kesepakatan. Pada level konsensus ini, setiap mesin yang terhubung ke jaringan harus

berperilaku sama. Dalam bagian model komunikasi data akan kita bicarakan beberapa

protokol komunikasi serta kedudukan TCP/IP didalamnya.

Tentang TCP/IP (Transmission Control

Protocol/Internet Protocol)

Komunitas Internet yang merupakan komunitas jaringan komputer terbesar diseluruh dunia

menggunakan protokol TCP/IP. Protokol ini memungkinkan sistem apapun yang terhubung

kedalamnya bisa berkomunikasi dengan sistem yang lain tanpa harus memperdulikan

bagaimana remote-system tersebut bekerja. Anda mungkin bertanya mengapa TCP/IP,

bukannya protokol yang lain?

Berikut akan disinggung beberapa hal mengenai TCP/IP:

TCP/IP

Adalah sekumpulan protokol komunikasi (protocol suite) yang sekarang ini secara luas

digunakan dalam komunitas global jaringan komputer (internetworking). TCP dan IP

merupakan dua protokol terpenting dalam TCP/IP disamping protokol protokol lainnya,

sehingga namanya demikian.

Page 15: OSI Layer

!

15

TCP/IP dan Internet

Pada tahun 1969 DARPA (Defence Advanced Research Projects Agency) mendanai riset dan

pembuatan jaringan paket switching eksperimental yang diberi nama ARPANET. Karena

dinilai sukses dan banyak organisasi lain yang menghubungkan diri dengan jaringan ini, maka

pada tahun 1975 ia menjadi jaringan operasional. ARPANET semakin lama semakin

bertambah besar sehingga karena protokol yang digunakan pada waktu itu tidak mampu

menampung jumlah node yang besar(NCP). DARPA kemudian mendanai pembuatan

protokol komunikasi yang lebih umum, TCP/IP. Ia diadopsi jadi standard ARPANET 1983.

Untuk memudahkan konversi DARPA juga mendanai BBN untuk mengimplementasikan

protokol ini dalam BSD Unix, sehingga dimulailah perkawinan antara Unix dan TCP/IP.

Sejak tahun itu perkataan internet mulai populer, karena terjadi perubahan administratif

ARPANET, yang dipecah menjadi MILNET dan ARPANET kecil, kemudian ditambah

dengan bergabungnya NFS (National Science Foundation)/NSFNET. Pada awalnya internet

digunakan untuk menunjukan jaringan yang menggunakan internet protocol (IP). Namun

dengan semakin berkembangnya jaringan, term ini sekarang sudah berupa term generik yang

digunakan untuk semua kelas jaringan. internet (i kecil) sekarang biasanya digunakan orang

untuk menunjuk pada koleksi sembarang jaringan fisik terpisah yang saling dihubungkan

dengan protokol yang sama untuk membentuk jaringan logic. Sedangkan Internet (I besar)

digunakan untuk menunjuk pada komunitas jaringan komputer worldwide yang saling

dihubungkan dengan TCP/IP.

TCP/IP features

TCP/IP tidak tumbuh menjadi besar begitu saja, atau karena badan militer memandatkan

penggunaannya. Yang terpenting adalah ia berada pada waktu yang tepat dan merupakan

protokol pertama yang dapat memenuhi kebutuhan komunikasi data pada saat itu. TCP/IP

features:

• Open Protocol Standards tersedia secara luas, independen terhadap perangkat

keras komputer,Sistem Operasi dll. Ideal untuk menyatukan mesin mesin dengan

perangkat keras dan lunak yang berbeda, walaupun tidak terhubung ke Internet.

Page 16: OSI Layer

16

• Tidak tergantung pada perangkat keras jaringan tertentu, sehingga TCP/IP

cocok untuk menyatukan bermacam macam network, misalnya Ethernet, token

ring,dial-up line,X-25 net dan lain lain.

• Cara pengalamatan bersama, memungkinkan divais TCP/IP mengidentifikasi

secara unik divais yang lain dalam seluruh jaringan, walaupun jaringannya sebesar

jaringan worldwide Internet.

• Protokol level tinggi yang distandarkan untuk konsistensi, sehingga

menyediakan servis user yang luas.

Model Komunikasi Data

Untuk membicarakan jaringan komputer , sebaiknya digunakan acuan/referensi yang

disepakati bersama.. Sebuah model arsitektural yang dibuat oleh ISO (International Standard

Organization) sering digunakan untuk menerangkan struktur dan fungsi protokol komunikasi

data. Model arsitektural ini dikenal sebagai OSI (Open System Interconnect) Referesce Model,

dan menyediakan suatu referensi bersama dalam mendiskusikan komunikasi. Istilah istilah

yang didefinisikan oleh model ini dapat dimengerti dengan baik dan secara luas digunakan

dalam komunitas komunikasi data. Pada kenyataannya memang sukar untuk mendiskusikan

komunikasi data tanpa terminologi OSI.

Model referensi OSI terdiri dari 7 lapisan (layer) yang mendefinisikan fungsi protokol

komunikasi data. Setiap layer merepresentasikan sebuah fungsi (bukan protokol) yang

dilakukan ketika data ditransfer antara aplikasi yang sesuai lintas jaringan yang dimasuki.

Page 17: OSI Layer

!

17

Application Layer

Presentation Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

Gambar 1.1 OSI Layer

Sebuah layer tidak mendefinisikan protokol tunggal, tapi mendefinisikan suatu fungsi

komunikasi data yang dapat dilakukan oleh sejumlah protokol. Jadi setiap layer dapat berisi

banyak protokol, masing masing menyediakan servis yang cocok dengan fungsi layer

tersebut. Sebagai contoh, file transfer protocol dan electronic mail protocol keduanya

menyediakan servis pada user dan keduanya merupakan bagian dari layer aplikasi.

Setiap protokol berkomunikasi dengan peer(pasangan)nya (protokol yang sama dalam layer

yang sama dalam remote-system misalnya ftp lokal merupakan peer dari ftp remote). Jadi

secara abstrak setiap protokol hanya peduli terhadap komunikasi dengan peernya, tak perduli

dengan layer dibawah dan diatasnya.

Page 18: OSI Layer

18

Application LayerPresentation Layer

Session Layer

Transport LayerNetwork Layer

Data Link Layer

Physical Layer

Application LayerPresentation Layer

Session LayerTransport Layer

Network Layer

Data Link Layer

Physical Layer

Gambar 1.2

Komunikasi antara dua peer dengan sistem 7-layer

Bagaimanapun harus ada persetujuan tentang bagaimana melintaskan data antar layer pada

suatu komputer tunggal, karena setiap layer dilibatkan dalam pengiriman data dari aplikasi

lokal ke aplikasi remote yang sejenis. Transfer data dilakukan dengan melewatkan data pada

layer berikutnya (ke bawah stack) sampai ditransmisikan ke jaringan oleh protokol layer fisik.

Pada sistem lawan , data dilewatkan dari layer terbawah ke layer berikut diatasnya. Masing

masing layer tidak perlu tahu bagaimana fungsi layer diatas dan dibawahnya, yang perlu

diketahuinya adalah cara melewatkan data pada layer lainnya tersebut.

Mengisolasi fungsi komunikasi jaringan dalam layer layer yang berbeda dapat meminimalkan

efek perubahan teknologi pada protocol-suite yang digunakan. Aplikasi baru dapat

ditambahkan tanpa mengubah network secara fisik, dan hardware network yang baru dapat

diinstall tanpa harus menulis kembali software aplikasi.

Meskipun model OSI sangat berguna, protokol TCP/IP tidak sesuai benar dengan

strukturnya. Jadi dalam diskusi TCP/IP kita, menggunakan layer layer model OSI dengan

cara berikut:

Page 19: OSI Layer

!

19

Application layer

• Merupakan layer dimana proses jaringan yang bisa diakses user berada

• Layer teratas dalam hirarki

• Aplikasi TCP/IP adalah segala proses network yang terjadi di atas transport layer,

termasuk semua proses yang user secara langsung berinteraksi dengannya.

Presentation layer

• Untuk aplikasi-aplikasi yang berkomunikasi(bertukar data) mereka harus sepakat

dalam hal bagaimana data direpresentasikan. Dalam OSI layer ini menyediakan rutin

standar presentasi data, yang dalam TCP/IP fungsi ini sudah ditangani oleh aplikasi

Session layer

• Dalam OSI, layer ini berfungsi untuk mengatur session/hubungan antara aplikasi

yang berkomunikasi. Sedangkan dalam TCP/IP fungsi ini sebagian besar dijalankan

pada transport layer, dan istilah session tidak digunakan. Sebagai gantinya dalam

TCP/IP menggunakan istilah socket dan port untuk menjelaskan jalur dimana

komunikasi aplikasi tertentu berada.

Transport layer

• Dalam OSI, layer ini menjamin penerima mendapatkan data yang persis seperti

ketika ia dikirimkan. Dalam TCP/IP fungsi ini dilakukan oleh TCP (Tranmission

Tranport Protocol). Selain itu TCP/IP juga menawarkan servis transport layer yang

lain, UDP (User Datagram Protocol) yang tidak mementingkan pemeriksaan

keandalan komunikasi end to end.

Network layer

• Layer ini berfungsi mengatur hubungan lintas jaringan dan mengisolasi protokol layer

yang lebih tinggi dari detil jaringan dibawahnya. Internet Protocol dalam TCP/IP

merepresentasikan fungsi ini dan menangani pengalamatan dan pengiriman data.

Data Link layer

• Pada intinya layer ini menangani pengiriman data melintasi jaringan fisik.

Page 20: OSI Layer

20

Physical layer

• Layer ini mendefinisikan karakteristik perangkat keras yang diperlukan untuk

mentransmisikan sinyal data. Jadi standar level tegangan, jumlah dan lokasi pin

interface didefinisikan dalam layer ini.

Arsitektur Protokol TCP/IP

Karena seperti telah disinggung sebelumnya, TCP/IP tidak sesuai benar dengan model OSI,

maka protocol-stack dalam TCP/IP biasanya digambarkan dengan layer yang lebih sedikit.

Application Layer

Transport Layer

Internet Layer

Network Access Layer

Gambar 1.3 Layer pada TCP/IP

Dalam TCP/IP setiap data yang dilewatkan ke masing masing layer direduksi atau

ditambahkan suatu header kontrol. Setiap layer memperlakukan semua informasi yang ia

terima sebagai data dan ia menambahkan suatu header diawal informasi tersebut ketika data

ini akan dilewatkan pada layer dibawahnya. Penambahan informasi pengiriman ini disebut

enkapsulasi (encapsulation). Hal sebaliknya berlaku ketika informasi ini bergerak dari

jaringan ke layer teratas.

Page 21: OSI Layer

!

21

DATAheader

header

header

ApplicationLayer

TransportLayer

InternetLayer

Network AccessLayer

Gambar 1.4 Metoda encapsulasi pada TCP/IP

Berikut beberapa hal penting untuk setiap layer dalam model TCP/IP

Network Access layer

• merupakah layer terbawah dari hirarki protokol TCP/IP

• Menyediakan sarana untuk sistem untuk mengirim data ke divais lain yang terhubung

ke network.

• Mendefinisikan bagaimana menggunakan network untuk mentransmisikan datagram

• Dibandingkan dengan model OSI, layer ini melingkupi tiga layer terbawah dalam

model OSI, yaitu Network, Data-link, dan Physical layer.

• Fungsi lain yang ditangani pada level ini termasuk enkapsulasi datagram kedalam

frame yang ditransmisikan oleh jaringan dan konversi IP address kedalam alamat

yang cocok untuk jaringan fisik dimana datagram ditransmisikan

Internet layer

Internet Protocol (IP)

IP merupakan inti dari TCP/IP dan merupakan protokol terpenting dalam Internet Layer. IP

menyediakan pelayanan pengiriman paket elementer dimana jaringan TCP/IP dibangun.

Fungsi Internet Protocol (IP)

Page 22: OSI Layer

22

• mendefinisikan datagram, yang merupakan unit transmisi elementer di Internet

• mendefinisikan skema pengalamatan internet

• melewatkan data antara Network Access Layer dan Host to Host Transport layer

• routing datagram ke remote host

• menjalankan fragmentasi dan penyusunan kembali datagram

IP merupakan protokol yang Connectionless (tidak memerlukan handshake), tidak dilengkapi

dengan error detection dan error recovery.

Datagram

adalah format paket yang didefinisikan oleh IP. Internet sebagaimana asalnya ARPANET

merupakan jaringan yang berbasis pada packet-switching. Jadi datagram merupakan unit

transmisi elementer dalam jaringan TCP/IP. IP mengirimkan datagram dengan mengecek

destination address dalam header kontrol diawal datagram. Jika address tujuan tidak berada

di jaringan lokal maka paket dilewatkan ke gateway(divais yang menswitch paket antara

jaringan fisik yang berbeda). Memutuskan gateway yang mana yang digunakan untuk

mencapai address tujuan disebut sebagai routing.

Routing datagram

Ilustrasi berikut akan memperjelas bagaimana proses routing datagram melintasi

beberapa jaringan fisik. .

AplikasiAplikasi

TransportTransport

InternetInternet InternetInternet

NetworkNetwork NetworkNetwork

Gambar 1.5

Page 23: OSI Layer

!

23

Routing datagram melewati beberapa jaringan fisik

Sistem hanya bisa mengirim paket pada divais lain yang terhubung kedalam satu jaringan fisik

yang sama. Paket dari A1 dengan tujuan C1 diforward melalui gateway G1 dan G2. Host A1

pertama kali mengirim paket ke gateway G1 (karena G1 masih terhubung ke network A,

dimana host A1 berada). Kemudian gateway G1 mengirimkan paket ke gateway G2 melalui

network B. Dan akhirnya G2 yang juga terhubung ke network C langsung memforward

paket ke address tujuan, host C1. fragmentasi datagram Ketika datagram dikirimkan

melintasi jaringan yang berbeda, mungkin perlu bagi modul IP dalam gateway untuk

membagi datagram kedalam bagian bagian kecil. Datagram yang diterima dari suatu jaringan

mungkin terlalu besar untuk ditransmisikan dalam satu paket pada jaringan yang berbeda.

Kondisi ini hanya terjadi ketika gateway menghubungkan jaringan fisik yang berbeda.

Sederhananya setiap network mempunyai MTU(maximum transfer unit) yang berbeda. Jika

datagram yang diterima lebih besar dari MTU maka perlu dilakukan pemecahan datagram

kedalam fragmen fragmen kecil untuk ditransmisikan. melewatkan datagram ke transport

layer ketika IP menerima datagram yang dialamatkan ke localhost. ia harus melewatkan

bagian data dari datagram pada protokol transport layer yang sesuai. Hal ini dilakukan

dengan menggunakan nomor protokol dari header datagram. Setiap protokol Transport layer

mempunyai nomor protokol yang unik.

Page 24: OSI Layer

24

Internet Control Message Protocol

Sebuah bagian integral dari IP adalah ICMP. Protokol ini merupakan bagian dari Internet

layer dan menggunakan fasilitas pengiriman datagram IP untuk mengirim messagenya. ICMP

mengirim messagenya yang berfungsi untuk kontrol, melaporkan kesalahan, dan fungsi

informasi:

• flow control

• mendeteksi tujuan yang tak mungkin dicapai (unreachable)

• melakukan perubahan arah jalur data

• memeriksa remote host

Transport layer

• Dua protokol terpenting dalam layer ini adalah TCP(Transmission Control Protocol)

dan UDP (User datagram Protocol). TCP menyediakan pelayanan pengiriman data

yang andal dengan deteksi dan koreksi kesalahan dari ujung ke ujung (end to end).

Sedangkan UDP menyediakan pelayanan pengiriman datagram yang connection less

dan tanpa dilengkapi deteksi dan koreksi kesalahan. Kedua protokol mengirimkan

data antara layer aplikasi dan layer internet. TCP merupakan protokol yang

connection oriented (dan handshake).

Application layer

• layer ini melingkupi semua proses yang menggunakan protokol transport layer untuk

mengirimkan data. Ada banyak protokol aplikasi, yang paling populer, misalnya :

• telnet,network terminal protocol, menyediakan fasilitas remote login lewat

jaringan

• ftp, file transfer protocol, digunakan untuk transfer file yang interaktif

• smtp, simple mail tranfer protocol yang bertugas untuk mengirimkan mail

• karena layer ini berhubungan langsung dengan servis yang ditawarkan pada pemakai

jaringan maka protokol protokol baru masih ditambahkan yang memperkaya

pelayanan pada user.

Page 25: OSI Layer

!

25

Dasar-dasar Pembentukan Jaringan

TCP/IP

Ada beberapa konsep mendasar yang wajib dipertimbangkan dalam mensetup jaringan

TCP/IP, yaitu pengalamatan (addressing), routing dan name-service. Ide dasarnya adalah

bagaimana supaya data yang dikirim sampai pada mesin yang yang sesuai (mesin tujuan) dan

bagaimana hal tersebut dapat dilakukan oleh operator dengan mudah.

Untuk dapat berkomunikasi, data dari suatu host (mesin) harus dilewatkan ke jaringan

menuju host tujuan, dan dalam host tersebut ke user atau proses yang sesuai. TCP/IP

menggunakan tiga skema untuk memenuhi tugas ini, yaitu:

Addressing

IP Address yang mengidentifikasi secara unik setiap host di jaringan, sehingga dapat

menjamin data dikirim ke alamat yang benar.

Routing

pengaturan gateway untuk mengirim data ke jaringan dimana host tujuan berada.

Multiplexing

pengaturan nomor port dan protokol yang mengirim data pada modul software yang

benar didalam host.

Masing masing skema, baik pengalamatan antar host, routing antar network dan multiplexing

antar layer, penting untuk mengirim data antara dua aplikasi yang berkerja sama dalam

jaringan TCP/IP.

Pengalamatan dan IP Address

Internet Protocol (IP) melewatkan data antar host dalam bentuk datagram. Setiap datagram

dikirim ke address yang ditunjukan oleh address tujuan dalam header datagram. Address

Page 26: OSI Layer

26

tujuan adalah 32 bit IP address standard yang berisi informasi yang cukup untuk

mengidentifikasi secara unik jaringan dan host tertentu di jaringan tersebut.

IP address terdiri dari bagian network dan bagian host, tapi format dari bagian bagian ini

tidak sama untuk setiap IP address. Jumlah bit address yang digunakan untuk

mengidentifikasi jaringan, dan bilangan yang digunakan untuk mengidentifikasi host berbeda

beda tergantung kelas address yang digunakan.

Ada tiga kelas address utama: kelas A, kelas B dan kelas C. Dengan memeriksa beberapa bit

pertama dari dari suatu address, software IP bisa dengan cepat membedakan kelas address

dan strukturnya.

IP address biasanya ditulis sebagai 4 urutan bilangan desimal yang dipisahkan dengan titik.

Setiap bilangan tersebut berupa salah satu bilangan yang berharga diantara 0-255 (nilai

desimal yang mungkin untuk 1 byte).

IP mengikuti aturan berikut untuk membedakan kelas address:

Address kelas A :

• bit pertama dari IP address adalah 0

• jadi jaringan dengan IP yang byte pertamanya: 0-127

• hanya ada kurang dari 128 jaringan dengan kelas A

• setiap jaringan kelas A bisa mempunyai jutaan host

Address kelas B :

• bit pertama dari IP address adalah 10

• jadi jaringan dengan IP yang byte pertamanya: 128-191

• terdapat ribuan jaringan dengan kelas B

• setiap jaringan kelas B bisa mempunyai ribuan host

Page 27: OSI Layer

!

27

Address kelas C :

• bit pertama dari IP address adalah 110

• jadi jaringan dengan IP yang byte pertamanya: 192-223

• terdapat jutaaan jaringan kelas C

• setiap jaringan kelas C hanya mempunyai kurang dari 254 host

Address kelas D :

• bit pertama dari IP address adalah 111

• nomor jaringan dengan IP yang byte pertamanya lebih dari 223

• merupakan address yang dialokasikan untuk kepentingan khusus

Ilustrasi berikut akan menunjukan bagaimana struktur address berbeda beda untuk kelas

address yang berbeda. Misalnya suatu address kelas A dengan IP 26.104.0.19. Bit pertama

dari address ini adalah 0 (atau desimal pertama kurang dari 128) sehingga address

diterjemahkan sebagai host 104.0.19 dari network 26. Satu byte menunjukan jaringan dan 3

byte selanjutnya menunjukan host yang bersangkutan. Dalam address 128.66.12.1 dua bit

pertama adalah 10 yang menunjukan bahwa mesin tersebut terhubung ke network kelas B.

Jadi address tersebut diterjemahkan sebagai host 12.1 dari network 128.66 (2 byte pertama

mengidentifikasi jaringan dan 2 lainnya mengidentifikasi host). Contoh ketiga adalah mesin

dengan IP 192.178.16.1 yang dengan cara serupa dapat diartikan sebagai host 1 di network

192.178.16 (3 byte mengidentifikasi network dan 1byte mengidentifikasi host).

Page 28: OSI Layer

28

192 1 16 178

128 112 66

26 190 104

8 bit network address

16 bit network address

24 bit network bit

Address kelas A

Address kelas B

Address kelas C

Gambar 1.6 IP Adderss

Tidak semua address network dan host dapat digunakan. Misalnya kita telah membicarakan

bahwa address dengan desimal pertama lebih dari 223 dialokasikan untuk kepentingan

khusus. Dua address kelas A, 0 dan 127, juga dialokasikan untuk kepentingan khusus.

Network 0 menunjukan route default (digunakan untuk menyederhanakan aplikasi network

dengan membiarkan host lokal di-address-kan dengan cara yang sama seperti remote-host--

digunakan ketika menkonfigurasi host) dan network 127 sebagai loopback-address. Selain itu

juga ada beberapa address host yang disediakan untuk kepentingan khusus ini, misalnya 0

dan 255 dalam semua kelas network. Sebuah IP address dengan semua bit hostnya nol

menunjukan jaringannya sendiri, misalnya 26.0.0.0 menunjukan network 26 dan 128.66.0.0

menunjukan network 128.66. Address dalam bentuk ini digunakan dalam tabel routing untuk

menunjukan seluruh network. IP address dengan semua bit host diset satu adalah broadcast-

address. Suatu address broadcast digunakan untuk alamat setiap host dalam network secara

simultan. Address broadcast untuk network 128.66 adalah 128.66.255.255. Suatu datagram

yang dikirim ke address ini akan diterima oleh setiap host dalam network ybs.

IP address diasosiasikan dengan network-interface, bukan dengan sistem komputernya. Jadi

suatu gateway mempunyai address yang berbeda untuk setiap network yang terhubung

kepadanya. IP menggunakan bagian network dari address untuk routing datagram antar

Page 29: OSI Layer

!

29

network. Address lengkap, termasuk informasi host digunakan untuk pengiriman akhir ketika

datagram mencapai network tujuan. Berkaitan dengan IP address dikenal dua istilah:

Supernetting

Ada dua masalah yang saling berkaitan, antara pemberian suatu kelas address pada suatu

lembaga. Pertama kelas address yang diberikan lebih kecil daripada jumlah host yang akan

dihubungkan. Dan yang kedua sebaliknya, kelas address yang diberikan lebih besar dari host

yang akan saling dihubungkan. Supernetting berkaitan dengan metoda untuk mengakali

alokasi address yang terbatas sedemikian sehingga semua host yang tersedia dapat

dihubungkan ke jaringan. Jadi supernetting adalah menggunakan bit mask terhadap address

asal untuk membuat jaringan yang lebih besar.

Subnetting

Masalah kedua yang berkaitan dengan bagaimana membuat suatu alokasi address efisien, bila

ternyata host yang akan kita hubungkan ke jaringan lebih kecil dari pada alokasi address yang

kita punyai. Yang jelas dengan menggunakan metoda subnetting, bit host IP address

direduksi untuk subnet ini. Sebagai contoh, subnet mask yang diassosiasikan dengan address

kelas B standard adalah 255.255.0.0. Subnet mask digunakan dengan memperluas bagian

network dari suatu address kelas B dengan byte tambahan. Misalnya submask 255.255.255.0

berarti dua byte pertama mendefinisikan network kelas B, byte ketiga menunjukan address

subnet, dan yang keempat baru menunjuk pada host pada subnet yang besangkutan. Masking

yang byte-oriented lebih mudah dibaca dan diartikan, tapi sebenarnya subnet-masking

bersifat bit-oriented, jadi misalnya seseorang bisa saja membuat subnet-mask

255.255.255.192. Berikut ilustrasi yang menunjukan efek dari subnet-mask terhadap

bermacam macam address jaringan

Page 30: OSI Layer

30

IP Address Subnet mask Interpretasi 128.66.12.1 255.255.255.0 host 1 pada subnet 128.66.12.0 130.97.16.132 255.255.255.192 host 4 pada subnet 130.97.16.128 192.178.16.66 255.255.255.192 host 2 pada subnet 192.178.16.64 132.90.132.5 255.255.240.0 host 4.5 pada subnet 132.90.128.0 18.20.16.91 255.255.0.0 host 16.91 pada subnet 18.20.0.0

Tabel 1.1

Efek subnet mask thp IP address

Routing

Ada dua garis besar arsitektur routing Internet

• sistem tradisional yang menggunakan sistem hirarki gateway

• sistem yang menggunakan routing domain

Pada sistem dengan routing domain, domain ini bertukar informasi dengan domain yang lain

menggunakan BGP (Border Gateway Protocol). Setiap routing domain memproses

informasi yang ia terima dari domain yang lain, hanya untuk dirinya sendiri, sehingga model

ini bisa diperluas untuk banyak domain. Dan ini berlawanan dengan model sistem hirarki.

RoutingDomain

RoutingDomain Routing

Domain

Gambar 1.7 Area routing domain

Setiap lingkaran merepresentasikan routing domain. Area yang saling overlap adalah daerah

batas dimana informasi routing digunakan bersama. Domain saling bertukar informasi tapi

tidak pada suatu sistem yang menyediakan semua informasi routing.

Tabel routing

Page 31: OSI Layer

!

31

Setiap mesin yang terhubung kejaringan baik itu host maupun gateway harus membuat suatu

keputusan routing. Bagi host keputusan ini sederhana saja

• jika host tujuan berada pada jaringan lokal data dikirim langsung

• jika host tujuan berada pada jaringan remote, data diforward ke gateway.

Hal yang lebih kompleks terjadi di gateway. Yang jelas routing adalah aplikasi yang network-

oriented, jadi layer IP membuat suatu keputusan routing berdasarkan pada bagian network

dari address. Untuk melihat bagaimana suatu mesin memutuskan kemana dia harus

meneruskan paket data, dapat dilihat dengan perintah netstat -nr (yaitu tabel routing).

Berikut contoh tabel routing dari suatu gateway :

Internet: Destination Gateway Flags Refs Use Interface default 167.205.136.15 UG 7 36325 sl0 127.0.0.1 127.0.0.1 UH 0 30 lo0 141.103 167.205.136.15 UG 0 0 sl0 144.228 167.205.136.15 UG 0 16 sl0 152.118 167.205.136.15 UG 0 0 sl0 167.205.8.32 167.205.31.132 UG 0 168 ed1 167.205.16 167.205.22.99 UG 1 1335 ed0 167.205.18 167.205.22.106 UG 0 467 ed0 167.205.22.1 127.0.0.1 UH 0 289 lo0 167.205.22.96 link#1 UC 0 0 ed0 167.205.22.98 0:0:0:0:0:1 UHL 3 2346 ed0 167.205.22.123 0:80:48:91:e8:40 UHL 2 16219 lo0 167.205.22.125 0:80:48:90:29:9f UHL 0 200 ed0 167.205.31.131 0:80:48:81:c6:b3 UHL 0 1 lo0 167.205.31.132 0:0:e8:c0:1:89 UHL 7 90424 ed1 202.46 167.205.136.15 UG 0 0 sl0 202.46.1 167.205.136.15 UG 0 249 sl0 202.46.2 167.205.136.15 UG 0 0 sl0 224 link#1 UCS 0 0 ed0

Mekanisme routing berdasarkan tabel routing

Berikut adalah contoh bagaimana suatu data mencapai address tujuannya dengan

menggunakan tabel routing.

Page 32: OSI Layer

32

Aplikasi

Transport

Aplikasi

Transport

Network Access Network AccessNetwork Access

128.66.12.2 128.66.12.3 128.66.1.5 128.66.1.2

128.66.12.0 128.66.1.0

tujuan128.66.1.0128.66.12.0default

gateway128.66.1.0128.66.12.0128.66.12.1

tujuan128.66.1.0128.66.12.0default

gateway128.66.1.5128.66.12.3128.66.12.1

tujuan128.66.1.0default

gateway128.66.1.2128.66.1.5

Gambar 1.8 Penggunaan tabel routing

Ketika suatu host 128.66.12.2 mengirim data pada suatu host (128.66.1.2), ia pertama kali

mengidentifikasi bahwa 128.66.1.2 adalah jaringan lokal address kelas B dan melakukan

operasi masking yang sesuai (misalkan suatu jaringan 128.66.0.0 dengan masking

255.255.255.0), sehingga mesin itu tahu bahwa address network tujuan adalah 128.66.1.0.

Tabel routing pada host asal menunjukan bahwa data dengan tujuan 128.66.1.0 harus

dilewatkan ke gateway 128.66.12.3. Gateway 128.66.12.3 langsung melakukan pengiriman

pada interface 128.66.1.5, dengan melihat tabel routing yang menunujukan semua sistem

hanya mempunyai satu gateway dan host langsung terhubung kepadanya maka mesin dengan

interface 128.66.1.5 langsung memforward data ke 128.66.1.2.

Name-service

Setiap network interface yang terhubung ke jaringan TCP/IP diidentifikasi dengan 32 bit

unik IP address. Sebuah nama (hostname) dapat diassosiasikan dengan sembarang divais

yang mempunyai IP address. Dibandingkan dengan address internet numerik, hostname

relatif lebih mudah diingat dan diketik. Yang perlu diperhatikan adalah software tidak

memerlukan hostname, tapi hal ini dilakukan untuk mempermudah manusia dalam

menggunakan jaringan. Dalam hampir setiap kasus hostname dan IP address dapat saling

menggantikan, misalnya anda akan men-telnet suatu host yang anda ketahui mempunyai IP

Page 33: OSI Layer

!

33

address 167.205.31.132 dan mempunyai nama gopher.ee.itb.ac.id maka operasi berikut

adalah ekivalen :

% telnet gopher.ee.itb.ac.id

% telnet 167.205.31.132

Walaupun demikian, setiap mesin tetap menggunakan IP address untuk berkomunikasi lewat

jaringan. Jadi bedanya dua perintah diatas adalah ketika anda mengetikan hostname maka

yang dilakukan komputer adalah mencari ekivalen IP address hostname yang bersangkutan

dalam tabel lokal maupun DNS, kemudian baru perintahnya dijalankan. Sedangkan bila anda

langsung mengetikan IP address komputer tidak perlu lagi mengkonversinya dan langsung

mengerjakan perintah. Ada dua metoda yang biasa dilakukan untuk mentranslasikan nama

dengan address.

Metoda ini adalah:

• Menggunakan host-table

• Menggunakan DNS (Domain Name Service)

Host-table adalah file teks sederhana yang mengassosiasikan hostname dengan address.

Dalam kebanyakan system berbasis Unix tabel ini berada di file /etc/hosts. Berikut

contoh file

/etc/hosts:

# $Id: hosts,v 1.4 1994/06/24 23:50:16 wollman Exp $

#

# Host Database

# This file should contain the addresses and aliases

# for local hosts that share this file.

# In the presence of the domain name service or NIS, this file may

# not be consulted at all; see /etc/host.conf for the resolution

order.

#

#

127.0.0.1 localhost

#

# Imaginary network.

Page 34: OSI Layer

34

#10.0.0.2 myname.my.domain myname

#10.0.0.3 myfriend.my.domain myfriend

#

# According to RFC 1597, you can use the following IP networks for

# private nets which will never be connected to the Internet:

#

# 10.0.0.0 - 10.255.255.255

# 172.16.0.0 - 172.31.255.255

# 192.168.0.0 - 192.168.255.255

#

# In case you want to be able to connect to the Internet, you need

# real official assigned numbers. PLEASE PLEASE PLEASE do not try

# to invent your own network numbers but instead get one from your

# network provider (if any) or from the Internet Registry (ftp to

# rs.internic.net, directory `/templates').

202.46.1.2 caddsys.iptek.net.id

167.205.22.98 system.paume.itb.ac.id

167.205.22.100 design.paume.itb.ac.id

167.205.22.123 maingtw.paume.itb.ac.id maingtw

167.205.31.129 ee-hq.ee.itb.ac.id

167.205.31.130 ee-lss.ee.itb.ac.id

167.205.31.132 gopher.ee.itb.ac.id

167.205.22.119 cdrom.paume.itb.ac.id

167.205.22.120 dns.paume.itb.ac.id

167.205.136.15 pusren.telkom.go.id

167.205.136.1 rs6000.telkom.go.id

167.205.22.1 myslip.paume.itb.ac.id

167.205.22.124 www.itb.ac.id

167.205.22.100 design.paume.itb.ac.id

167.205.22.98 system.paume.itb.ac.id

167.205.22.99 nmi.paume.itb.ac.id

#

167.205.184.1 smartcom.en.itb.ac.id

167.205.184.65 stke.en.itb.ac.id

#

Perintah yang didahului dengan # adalah komentar. Format perintah yang menghubungkan

hostname dengan addressnya adalah <IP address> <hostname> [alias]

Page 35: OSI Layer

!

35

Pada host-table diatas anda dapat melihat beberapa reserve-word yang disediakan Unix

untuk keperluan tertentu. Misalnya pada baris

127.0.0.1 localhost

167.205.22.123 maingtw.paume.itb.ac.id loghost

Pada baris pertama, seperti telah disinggung sebelumnya, kelas A 127 digunakan untuk

loopback network. Address 127.0.0.1 merupakan address khusus yang digunakan untuk

loopback address host lokal. Dengan konvensi ini memungkinkan suatu host mengalamati

dirinya sendiri dengan cara yang sama ketika ia mengalamati remote-host. Loopback address

juga menyederhanakan software dengan membolehkan kode yang sama digunakan untuk

berkomunikasi dengan proses lokal maupun remote. Cara ini juga mereduksi trafik jaringan,

karena localhost address diassosiasikan dengan sebuah divais loopback yang me-loop data

kembali ke host sebelum ia ditransmisikan ke jaringan.

Pada baris selanjutnya terdapat reserve word loghost. Ia merupakan nama host khusus yang

digunakan oleh syslog daemon, syslogd. Program seperti syslog menulis langsung

keluarannya ke host yang telah diassosiasikan dengan nama generik diatas, loghost. Reserve

yang lain misalnya lprhost, mailhost, dan dumphost. Konversi hostname dan address dengan

cara ini masih digunakan untuk beberapa keadaan seperti:

• Kebanyakan sistem yang mempunyai host table kecil yang berisi informasi dan

address host host yang penting pada jaringan lokal.Tabel kecil ini digunakan ketika

DNS tidak berjalan, seperti ketika system-startup. Walaupun anda menggunakan

DNS, anda masih harus membuat file /etc/hosts kecil yang berisi entri hostnya

sendiri, localhost dan untuk gateway dan server pada jaringan lokal.

• Site yang menggunakan NIS, menggunakan host table sebagai input pada database

host NIS(Network Information System). Anda bisa menggunakan NIS sebagai

konjungsi DNS, tapi walaupun mereka digunakan bersama, kebanyakan site NIS

membuat host table yang mempunyai sebuah entri untuk setiap host pada jaringan

lokal

• Site yang sangat kecil, yang tidak terhubung ke Internet, kadang kadang juga

menggunakan host-table. Jika hanya terdapat sedikit host lokal dan informasinya

jarang berubah, dan juga tidak diperlukan komunikasi(TCP/IP) dengan remote-host,

Page 36: OSI Layer

36

maka penggunaan DNS hanya mempunyai sedikit keuntungan saja dibandingkan

dengan penggunaan host-table.

• Beberapa site yang tidak menjalankan sistem Unix atau sistem yang lebih tua, tidak

dapat menggunakan DNS. Jika ia tidak bisa diupgrade maka site ini harus

menggunakan file /etc/hosts yang besar.

Untuk host-host yang terhubung ke Internet, hampir wajib menggunakan DNS. Kalau ini

tidak dilakukan maka diperlukan host-table yang besar ukurannya. Unix menyediakan

perintah untuk membuat /etc/hosts dan /etc/network secara otomatis dari data yang

tersedia di NIC (Network Information Center). Cara ini sebaiknya tidak dilakukan karena

seperti telah disebutkan sebelumnya, untuk host yang terhubung langsung ke Internet

sebaiknya menggunakan sistem database terdistribusi seperti DNS. Sedangkan untuk

membuat host-table lokal bagi sistem yang didukung DNS anda hanya tinggal meluangkan

sedikit waktu untuk membuat maupun mengeditnya sehingga sesuai untuk host yang

bersangkutan.

DNS (Domain Name Service)

DNS dibuat berdasarkan kelemahan utama dari penggunaan host-table. DNS merupakan

sistem database terdistribusi yang tidak banyak diperngaruhi oleh bertambahnya database.

DNS menjamin informasi host terbaru akan disebarkan ke jaringan bila diperlukan. Jika

server DNS menerima permintaan informasi tentang host yang dia tidak mempunyai

informasi tentangnya, ia memforward permintaan pada authoritative server (sembarang

server yang bertanggung jawab untuk memberikan informasi akurat tentang domain yang

diminta.Ketika authoritative server menjawab server lokal menyimpan jawabannya untuk

penggunaan mendatang. Sehingga apabila setelah itu ada permintaan informasi yang sama ia

langsung menjawabnya. Kemampuan untuk mengkontrol informasi host dari sumber yang

authoritative dan secara otomatis menyebarkan informasi akurat membuat DNS unggul

dibandingkan dengan host-table. Hirarki domain DNS merupakan sistem hirarki terdistribusi

untuk mendapatkan hubungan hostname dengan IP address. Dibawah DNS tidak ada

database sentral dengan semua informasi host Internet. Informasi didistribusikan pada

ribuan nameserver yang diorganisasi kedalam hirarki, hampir sama dengan sistem file di

Unix. DNS mempunyai root domain diatas hirarki domain yang disebut sebagai root server.

Page 37: OSI Layer

!

37

langsung dibawah root domain ada top level domain. Ada dua tipe top level domain:

geografis dan organisasional. Domain geografis diset untuk setiap negara dan diidentifikasi

dengan dua huruf kode. Domain organisasional didasarkan pada tipe organisasi

(komersial,militer dll) Berikut contoh suatu domain hirarki. Detil konfigurasi dan

implementasi DNS dibahas pada bab tersendiri.

. (root)

Net Gov Mil Org Com Edu

Nih Nits

Dcrt Niddk Nuts Sales

Gambar 1.9

Hirarki domain

Page 38: OSI Layer

38

2

Perencanaan LAN dan Internetwork TCP/IP

Pada bab ini akan dibahas dasar-dasar perencanaan

jaringan, media implementasinya, dan penggabungan

jaringan (internetwork) dengan protokol TCP/IP.

Page 39: OSI Layer

!

39

Pendahuluan

Setelah mengikuti bab ini Anda diharapkan dapat:

• mengetahui dasar-dasar perencanaan jaringan

• mengetahui media 10BASE2, 10BASE5, dan 10BASE-T

• mengetahui dasar-dasar perencanaan internetwork TCP/IP

Metodologi Perencanaan LAN

Pada bagian ini yang akan dibahas adalah dasar-dasar perancangan LAN. Tujuan utama

adalah untuk merancang LAN yang memenuhi kebutuhan pengguna saat ini dan dapat

dikembangkan di masa datang sejalan dengan peningkatan kebutuhan pengguna.

Gagasan tentang LAN sebagai media yang digunakan bersama merupakan kunci utama

dalam perancangan dan perencanaan LAN. Infrastruktur LAN adalah pengkabelan sebagai

jalur fisik komunikasi setiap devais jaringan. Infrastruktur yang dirancang dengan baik cukup

fleksibel untuk memenuhi kebutuhan sekarang dan masa datang.

Metodologi Perancangan LAN:

• Tunjuk seorang manajer network

• Tinjau kemungkinan penggunaan kembali kabel yang ada

• Gambar peta yang menunjukkan tempat komputer yang diinginkan

• Gambar jaringan menggunakan topologi yang dibahas di bab ini dan mengikuti jalur

kabel yang ada

• Tentukan kebutuhan peralatan berdasarkan rancangan

• Beli peralatan yang dibutuhkan

• Install

Di antara hal-hal yang perlu diperhatikan dalam perancangan LAN adalah lokasi fisik itu

sendiri. Peta atau cetak biru bangunan-bangunan yang akan dihubungkan sangat diperlukan

Page 40: OSI Layer

40

demikian juga dengan informasi jalur kabel (conduit) yang ada dan menghubungkan

bangunan-bangunan tersebut. Jika peta seperti ini tidak ada maka perlu digambarkan peta

dengan cara merunut kabel-kabel yang ada. Secara umum dapat diasumsikan bahwa

pengkabelan yang menghubungkan bangunan-bangunan atau yang melewati tempat terbuka

harus terdapat di dalam conduit. Seorang manajer jaringan harus menghubungi manajer

bangunan untuk mengetahui aturan-aturan pengkabelan ini sebab manajer bangunan yang

mengetahui dan bertanggung jawab atas bangunan tersebut.

Pada setiap lokasi (yang dapat terdiri dari beberapa bangunan) harus ditunjuk seorang

manajer jaringan. Manajer jaringan harus mengetahui semua konfigurasi jaringan dan

pengkabelan pada lokasi yang menjadi tanggung jawabnya. Pada awalnya tugas ini hanya

memakan waktu sedikit. Sejalan dengan perkembangan jaringan menjadi lebih kompleks,

tugas ini berubah menjadi tugas yang berat. Jadi untuk tugas ini sebaiknya dipilih orang yang

betul-betul berminat dan mau terlibat dalam perkembangan jaringan.

Media Implementasi Jaringan

Pada bagian ini akan dibahas mengenai bermacam-macam media yang biasa digunakan untuk

membangun sebuah jaringan komputer terutama media kabel. Dalam hal ini kabel yang

digunakan adalah twisted pair dan coaxial.

Twisted Pair ( shielded dan unshielded)

Kabel twisted pair dapat dibagi menjadi dua macam yaitu shielded yang memiliki selubung

pembungkus dan unshielded yang tidak mempunyai selubung pembungkus. Kabel ini

mempunyai karakteristik sebagai berikut:

• merupakan sepasang kabel yang di-twist satu sama lain dengan tujuan untuk

mengurangi interferensi listrik.

• dapat terdiri dari dua, empat, atau lebih pasangan kabel

• ada dua jenis kabel twisted pair yaitu UTP (unshielded twisted pair) dan STP (shielded

twisted pair)

• dapat melewatkan signal sampai 10 mbps

Page 41: OSI Layer

!

41

• hanya dapat menangani satu channel data (baseband)

• koneksi pada twisted pair biasanya menggunakan konektor RJ-11 atau RJ-45

• STP lebih tahan interferensi daripada UTP dan dapat beroperasi pada kecepatan yang

lebih tinggi sampai 100 mbps, namun lebih sulit ditangani secara fisik

Gambar 2-1 Kabel UTP

Kabel Koaksial

Kabel ini mempunyai sifat-sifat sebagai berikut:

• paling populer digunakan pada Local Area Network (LAN)

• memiliki bandwidth yang lebar, sehingga bisa digunakan untuk komunikasi

broadband (multiple channel)

• ada bermacam-macam jenis kabel coax seperti kabel TV, thick, ARCnet, dan thin

coax.

• thick coaxial dikenal dengan nama 10Base5, biasanya digunakan untuk kabel

backbone pada instalasi jaringan ethernet antar gedung. Kabel ini sulit ditangani

secera fisik karena tidak flexibel, dan berat, namun dapat menjangkau jarak 500 m

bahkan 2500 m dengan repeater.

• thin coaxial lebih dikenal dengan nama RG-58, cheapernet, 10Base2, dan thinnet,

biasanya digunakan untuk jaringan antar workstation. Dapat digunakan untuk

implementasi topologi bus dan ring karena mudah ditangani secara fisik.

Page 42: OSI Layer

42

insulator luarinsulator dalam

konduktor luar

konduktor dalam

Gambar 2-2

Kabel kaksial thick atau thick ethernet

Fiber Optic

• Mahal

• Bandwidth lebar

• hampir tidak ada resistansi dan loss

• tidak bisa di-tap di tengah

• tidak terganggu oleh cuaca dan panas

• merupakan salah satu kabel utama di masa depan

Wireless

• instalasi mudah dilakukan

• setiap workstation berhubungan dengan hub atau cosentrator melalui gelombang

radio atau infra merah

Page 43: OSI Layer

!

43

Topologi Fisik Jaringan

Topologi Bus atau Daisy Chain

Topologi ini memiliki karakteristik sebagai berikut:

• merupakan satu kabel yang kedua ujung nya ditutup, dimana sepanjang kabel

terdapat node-node

• paling prevalent karena sederhana dalam instalasi

• signal melewati kabel dalam dua arah dan mungkin terjadi collision

• problem terbesar : kabel putus, jika salah satu segmen kabel putus, maka seluruh

jaringan akan terhenti.

File Server

Workstation

Workstation

Workstation

Workstation

Terminator Terminator

Gambar 2-3 Topologi Bus

Page 44: OSI Layer

44

Topologi Ring

Topologi ini mempuyai karakteristik sebagai berikuyt:

• lingkaran tertutup yang berisi node-node

• sederhana dalam layout

• signal mengalir dalam satu arah, sehingga dapat menghindarkan terjadinya collision

(dua paket data bercampur), sehingga memungkinkan pergerakan data yang cepat dan

collision detection yang lebih sederhana

• problem: sama dengan topologi bus

• biasanya topologi ring tidak dibuat secara fisik melainkan direalisasikan dengan

sebuah consentrator dan kelihatan seperti topologi star

Workstation WorkstationWorkstation

WorkstationWorkstationFile Server

Gambar 2-4 Topologi Ring

Topologi Star

Topologi ini mempunyai karakteristik sebagai berikut:

• setiap node berkomunikasi langsung dengan central node, traffic data mengalir dari

node ke central node dan kembali lagi.

Page 45: OSI Layer

!

45

• mudah dikembangkan, karena setiap node hanya memiliki kabel yang langsung

terhubung ke central node

• keunggulan : jika satu kabel node terputus yang lainnya tidak terganggu

• dapat digunakan kabel yang “lower grade” karena hanya menghandel satu traffic node,

biasanya digunakan kabel UTP

Workstation WorkstationWorkstation

Workstation

Central node(consentrator)

File Server

Gambar 2-5 Topologi Star

Topologi Logic

Ethernet

• dikembangkan oleh Xerox Corp. pada tahun 70-an, dan menjadi populer pada tahun

80-an karena diterima sebagai standard IEEE 802.3

• Ethernet bekerja berdasarkan broadcast network, dimana setiap node menerima setiap

transmisi data yang dikirim oleh sebuah node.

• menggunakan metoda CSMA/CD (carrier sense multiple access/collision detection) baseband

• cara kerja ethernet secara ringkas adalah sebagai berikut: sebelum mengirimkan paket

data, setiap node melihat apakah network juga sedang mengirimkan paket data. Jika

network busy, node itu mengunggu sampai tidak ada sinyal lagi yang dikirim oleh

network. Jika network sepi, barulah itu node mengirimkan paketnya. Jika pada saat

Page 46: OSI Layer

46

yang sama ada dua node yang mengirimkan data, maka terjadi collision. Jika terjadi

collision, kedua node mengirimkan sinyal jam ke network dan semua node berhenti

mengirimkan paket data dan kembali menunggu. Kemudian secara random, node-

node itu kembali menunggu atau mengirimkan data. Paket yang mengalami collision

akan dikirimkan kembali saat ada kesempatan.

DestinationAddress6 bytes

SourceAddress6 bytes

Type

6 bytes

FrameData

46-1500 bytes

CRC

4 bytes

Gambar 2-6 Ethernet Frame

• kecepatannya 10 mbps, dan menurun dengan semakin banyaknya node yang

terpasang

• implementasi dapat dilakukan dengan berbagai media seperti:

1. 10baseT : menggunakan kabel UTP, 10 mbps, baseband

2. 10base2 : menggunakan kabel thin coax, 10 mbps, baseband

3. 10base5 : menggunakan kabel thick coax, 10 mbps, baseband

Token Ring

• berdasarkan standard IEEE 802.5 yang dikembangkan oleh IBM.

• untuk menghindari colision tidak menggunakan collision detection melainkan token passing

scheme

• token passing scheme dapat dijelaskan secara sederhana sebagai berikut: Sebuah token

yang bebas mengalir pada setiap node melalui network. Saat sebuah node ingin

mengirikam paket, node itu meraih dan melekatkan frame atau paket-nya ke token.

Sekarang token tidak dapat digunakan lagi oleh node yang lain sampai data mencapai

tujuannya. Jika telah sampai token dilepaskan lagi oleh originating station. Token

mengalir di network dalam satu arah dan setiap station di-poll satu persatu.

• kecepatannya 4 mbps dan 16 mbps

Page 47: OSI Layer

!

47

ARCnet

• dikembangkan oleh DataPoint pada tahun 70-an dan dipopulerkan oleh Standard

Microsystems Inc.

• menggunkan prinsip token passing scheme dan broadcast

• prinsip kerjanya secara sederhana adalah dengan melewatkan token ke setiap node

yang memiliki nomor broadcast tertentu

• kecepatannya 2.5 mbps dan 20 mbps

• implementasi menggunakan kabel coax RG 62

• card network ARCnet lebih murah daripada card ethernet

• menggunakan topologi fisik star

• tidak dapat bekerja pada satu bus, sehingga jarang digunakan pada internetworking

UNIX-DOS

FDDI

• FDDI (Fiber Distributed Data Interface) digunakan dengan kabel fiber optic

• bekerja berdasarkan dua ring konsentrik, masing-masing berkecepatan 100 mbps,

dengan menggunakan token passing scheme

• salah satu ring dapat berfungsi sebagai bakc-up, atau dibuat menjadi pengirim saja (

mengirim dan menerima data dalam arah yang berbeda)

• bisa mencapai 1000 node

• tidak kompatibel dengan ethernet, namun ethernet dapat dienkapsulasi dalam paket

FDDI

• bukan merupakan standard IEEE

Page 48: OSI Layer

48

Jaringan Ethernet

Komponen Jaringan Ethernet

Sampai saat ini Ethernet menggunakan media kabel thin coax, thick coax, fiber optic, dan UTP

dengan jumlah node maximum 1024.

Pada instalasi jaringan yang luas, biasanya antar gedung:

• biasanya digunakan kabel fiber optic atau thick coax sebagai backbones. Kabel

Backbones ini berfungsi sebagai bus segment linier dengan panjang maximum 500

m, dan 2500 m jika menggunakan repeater, dimana satu segment dapat dihubungkan

dengan 100 node.

• komputer dihubungkan ke backbones dengan manggunakan drop cable, melalui

sebuah transceiver.

File Server 1Work Station Work Station

Drop Cable

TransceiverTerminator

Gambar 2-7 Thick coax sebagai backbone pada jaringan thick-ethernet

Untuk instalasi yang lebih kecil, biasanya dalam satu gedung:

• digunakan kabel thin coax atau UTP.

• jarak maximum satu segment kabel thin coax adalah 185 m - 300 m dan 100 node per

segment

• kabel UTP digunakan dengan topologi star, dan memerlukan sebuah hub atau

consentrator yang diletakkan di tengah-tengah topologi star.

Page 49: OSI Layer

!

49

BNC T-Connector

Work Station

Work Station

Work Station

File Server 2

BNC Terminator

BNC Terminator

Work Station

Work Station

File Server 1

Work Station

Repeater

BNC Connector

Gambar 2-8 Implementasi ethernet dengan thin-coax

Instalasi Kabel Ethernet

Kabel thin-ethernet dibuat dengan kabel coax RG-58. Panjang minimal satu segment adalah 18

inchi. Pada kedua ujung kabel ini dipasangi konektor BNC. Dibutuhkan juga konektor T

BNC. Kedua ujung segment kabel harus dipasangi BNC Terminator.

Instalasi Kabel Thin-Ethernet

• satu segmen terdiri dari:

1. kabel koaksial RG-58

2. sepasang konektor BNC

• untuk menghubungkan sebuah node digunakan BNC T

• satu segmen harus diakhiri dengan terminator BNC

• panjang minimum 18 inchi

Page 50: OSI Layer

50

BNC Terminator

BNC T

BNC Connetctor

BNC Terminator

BNC Connetctor

BNC T

Kabel koaksial RG-58

Gambar 2-9 Contoh segment kabel thin coax

Instalasi Kabel Thick-Ethernet

• satu segmen terdiri dari:

1. kabel koaksial RG-8

2. sepasang konektor BNC

• untuk menghubungkan sebuah node digunakan transceiver dan drop cable melalui

konektor DB 15

• satu segmen harus diakhiri dengan terminator

Page 51: OSI Layer

!

51

BNC Connetctor

BNC Connetctor

Kabel koaksial RG-8

DB 15ke node

Transceiver

Terminator Drop Cable

Gambar 2-10

Contoh segmen kabel thick-coax

Instalasi Kabel Star-Ethernet

• satu segmen terdiri dari:

1. kabel UTP

2. sepasang konektor RJ-45 atau RJ-11

• tidak ada persilangan antar kaki-kaki konektor

Kabel UTP yang digunakan adalah 24 AWG. Dibutuhkan juga konektor RJ-45 dan RJ-45

crimp tool untuk memasangkan kabel ke konektornya. Untuk topologi star dibutuhkan juga

consentrator yang berfungsi sebagai pusat perkabelan dan meneruskan paket-paket ethernet ke

tujuan yang benar.

Page 52: OSI Layer

52

Kabel UTP

Konektor RJ-45

Gambar 2-11

Kabel UTP dan konektornya

Menghubungkan PC ke Jaringan Ethernet

Setiap PC dihubungkan ke jaringan ethernet dengan perantaraan Network Interface Card yang

cocok untuk digunakan dengan kabel coax, twisted pair, atau fiber-optic.

Hal-hal yang perlu dikonfigurasi pada card adalah:

• I/O address. Setiap card yang ada pada PC memiliki I/O address yang unik. Tidak

boleh ada dua card yang memiliki I/O address yang sama. Address yang “aman”

untuk digunakan : 220 240 280 2A0 2C0 340.

• IRQ level. Sama halnya dengan I/O address, IRQ level setiap card tidak boleh ada

yang sama. Tabel dibawah ini menunjukkan IRQ level mana yang boleh digunakan

oleh network interface card:

Page 53: OSI Layer

!

53

Interrupt Level Digunakan oleh IRQ 2 EGA/VGA card IRQ 3 Com 1 IRQ 4 Com 2 IRQ 5 LPT 2 IRQ 7 LPT 1

IRQ 10 kosong IRQ 11 kosong IRQ 15 kosong

Tabel 2-1 Daftar IRQ pada PC

• Shared Memory (RAM) base address

• Direct Memory Access (DMA) Channel

• Output Port. Harus dipilih apakah menggunakan kabel thin coax (BNC), thick coax

(AUI), atau UTP.

UTP out

Thick ethernetout

BNC out

jumperI/O address

jumperIRQ level

jumperdma channel

jumpershared memorybase address

Gambar 2-12 Network Interface Card dan jumper-jumpernya

Biasanya pemilihan I/O address, IRQ level, DMA, shared memory dilakukan dengan

memindahkan jumper-jumper yang ada pada card. Penetapan posisi jumper ini harus sesuai

Page 54: OSI Layer

54

dengan petunjuk yang ada pada manual card. Sebagai contoh pada card Compex penetuan

I/O address dan IRQ level digambarkan sebagai berikut:

200h

220h

240h

260h

280h

2A0h

2C0h

2E0h

300h

320h

340h

360h

380h

3A0h

3C0h

3E0h

Gambar 2-12 Jumper I/O address pada NIC Compex

IRQ 2

J6A J6B

IRQ 3

IRQ 4

IRQ 5

IRQ 7

IRQ 10

IRQ 11

IRQ 15

Gambar 2-13

Jumper IRQ level pada NIC Compex

Elemen-Elemen Internetworking

Page 55: OSI Layer

!

55

Internetworking umumnya dibangun menggunakan tiga elemen yang berbeda:

• hubungan data LAN

• biasanya terbatas dalam satu bangunan atau kampus dan beroperasi menggunakan

sistem pengkabelan private

• hubungan data WAN

• umumnya menggunakan saluran telekomunikasi data public, seperti X.25 PSDN,

Frame Relay, ISDN, ATM

• devais penghubung jaringan

devais ini secara umum dibagi dalam beberapa katagori:

1. repeater

2. bridge

3. router

4. switch

5. converter

Dari kelima katagori devais di atas, lebih mudah menentukan kapan menggunakan

repeater, switch, dan konverter dalam situasi internetwork. Keputusan mengenai

pemilihan penggunaan router atau bridge merupakan keputusan yang lebih sulit.

Repeater

Fasilitas paling sederhana dalam internetwork adalah repeater. Fungsi utama repeater adalah

menerima sinyal dari satu segmen kabel LAN dan memancarkannya kembali dengan

kekuatan yang sama dengan sinyal asli pada segmen (satu atau lebih) kabel LAN yang lain.

Repeater beroperasi pada Physical layer dalam model jaringan OSI. Jumlah repeater biasanya

ditentukan oleh implementasi LAN tertentu.

Penggunaan repeater antara dua atau lebih segmen kabel LAN mengharuskan penggunaan

protocol Physical layer yang sama antara segmen-segmen kabel tersebut. Sebagai contoh,

repeater dapat menghubungkan dua buah segmen kabel Ethernet 10BASE2.

Bridge

Page 56: OSI Layer

56

Sebuah bridge juga meneruskan paket dari satu segmen LAN ke segmen lain, tetapi bridge

lebih fleksibel dan lebih cerdas daripada repeater. Bridge menghubungkan segmen-segmen

LAN di Data Link layer pada model OSI. Beberapa bridge mempelajari alamat Link setiap

devais yang terhubung dengannya pada tingkat Data Link dan dapat mengatur alur frame

berdasarkan alamat tersebut. Semua LAN yang terhubung dengan bridge dianggap sebagai

satu subnetwork dan alamat Data Link setiap devais harus unik. LAN yang terhubung

dengan menggunakan bridge umum disebut sebagai Extended LAN.

Bridge dapat menghubungkan jaringan yang menggunakan metode transmisi berbeda

dan/atau medium access control yang berbeda. Misalnya, bridge dapat menghubungkan

Ethernet baseband dengan Ethernet broadband. Bridge mungkin juga menghubungkan LAN

Ethernet dengan LAN token ring, untuk fungsi ini, bridge harus mampu mengatasi

perbedaan format paket setiap Data Link.

Bridge mampu memisahkan sebagian trafik karena mengimplementasikan mekanisme

pemfilteran frame (frame filtering). Mekanisme yang digunakan di bridge ini umum disebut

sebagai store and forward sebab frame yang diterima disimpan sementara di bridge dan

kemudian di-forward ke worksation di LAN lain. Walaupun demikian, broadcast traffic yang

dibangkitkan dalam LAN tidak dapat difilter oleh bridge.

Router

Router memberikan kemampuan melalukan paket dari satu sistem ke sistem lain yang

mungkin memiliki banyak jalur di antara keduanya. Router bekerja pada lapisan Network

dalam model OSI. Umumnya router memiliki kecerdasan yang lebih tinggi daripada bridge

dan dapat digunakan pada internetwork dengan tingkat kerumitan yang tinggi sekalipun.

Router yang saling terhubung dalam internetwork turut serta dalam sebuah algoritma

terdistribusi untuk menentukan jalur optimum yang dilalui paket yang harus lewat dari satu

sistem ke sistem lain.

Router dapat digunakan untuk menghubungkan sejumlah LAN (dan extended LAN) sehingga

trafik yang dibangkitkan oleh sebuah LAN terisolasikan dengan baik dari trafik yang

dibangkitkan oleh LAN lain dalam internetwork. Jika dua atau lebih LAN terhubung dengan

router, setiap LAN dianggap sebagai subnetwork yang berbeda. Mirip dengan bridge, router

Page 57: OSI Layer

!

57

dapat menghubungkan data link yang berbeda. Seperti contoh, router dapat menghubungkan

dua LAN yang berbeda atau untuk menghubungkan data link LAN dengan data link WAN.

Switch

Di samping repeater, bridge, dan router, terdapat sejumlah tipe peralatan switching lain yang

dapat digunakan dalam membangun internetwork. Tujuan utama menghubungkan LAN

menggunakan repeater dan bridge adalah meningkatkan keleluasaan atas beberapa

keterbatasan media komunikasi LAN. Alat penghubung ini mampu menambah jumlah

perangkat jaringan yang terhubung dalam LAN.

Peralatan switch didesain dengan tujuan yang berbeda dengan repeater, bridge, dan router.

Jika perangkat jaringan yang terhubung dalam sebuah LAN menjadi terlalu banyak maka

kebutuhan transmisi meningkat melebihi kapasitas yang mampu dilayani oleh medium

komunikasi jaringan. Salah satu ide penggunaan router adalah mengisolasikan group fisik

jaringan dengan yang lain. Penggunaan router cocok pada sistem internetwork dengan

kelompok-kelompok kerja yang terletak dalam lokasi yang kecil. Lalu lintas data dalam

jaringan kelompok-kelompok kerja ini tentu lebih besar dibandingkan dengan lalu lintas

antar kelompok kerja.

Dalam kasus kelompok-kelompok kerja yang terletak terpisah secara geografis, penggunaan

router tetap tidak dapat mengisolasikan lalu lintas data. Lalu lintas data dalam kelompok

kerja yang tinggi akan menyebabkan beban di router tetap tinggi karena lalu lintas tersebut

selalu melewati router. Cara mengatasi hal ini adalah dengan menggunakan beberapa segmen

medium tranmisi secara paralel dalam internetwork. Router sendiri tetap dapat digunakan

untuk menghubungkan segmen-segmen tersebut dan tetap mampu mengisolasi trafik

antarsegmen. Perangkat network dapat dihubungkan ke medium transmisi yang sesuai atau

dengan menggunakan hub yang mengimplementasikan fasilitas switching, seperti module

assignment hub, bank assignment hub, dan port assignment hub.

Converter

Page 58: OSI Layer

58

Converter dapat dianggap sebagai tipe devais yang berbeda daripada repeater, bridge, router,

atau switch dan dapat digunakan bersama-sama. Converter (kadang disebut gateway)

memungkinkan sebuah aplikasi yang berjalan pada suatu sistem berkomunikasi dengan

aplikasi yang berjalan pada sistem lain yang berjalan di atas arsitektur network berbeda

dengan sistem tersebut. Converter bekerja pada lapisan Application pada model OSI dan

bertugas untuk melalukan paket antar jaringan dengan protokol yang berbeda sehingga

perbedaan tersebut tidak tampak pada lapisan aplikasi.

Di samping menggunakan converter, metode lain untuk menghubungkan jaringan dengan

arsitektur berbeda adalah dengan tunelling. Metode ini membungkus paket -termasuk

protokolnya- yang akan dilewatkan pada protokol lain. Pembungkusan ini dilakukan dengan

menambahkan header protokol pada paket yang akan dilewatkan. Metode ini dapat dilihat

sebagai sebuah arsitektur jaringan yang berjalan di atas arsitektur jaringan yang lain.

Perangkat tempat terjadinya proses tunnelling ini disebut sebagai portal

Internetwork heterogen

Sebuah LAN secara data link sebenarnya dapat terdiri atas beberapa arsitektur jaringan

individual yang masing-masing tidak dapat berkomunikasi dengan arsitektur lain. Pada

lapisan Data Link NIC di sebuat sistem masih mampu berkomunikasi dengan NIC di sistem

lain. Software jaringan yang terletak pada lapisan di atas Data Link hanya akan

memperhatikan sistem lain yang kompatibel dengannya dan tidak dapat berkomunikasi

dengan sistem yang berjalan dengan software jaringan yang tidak kompatibel dengannya.

Fungsi lapisan Transport dan Network pada setiap sistem TCP/IP hanya bisa berkomunikasi

dengan sistem TCP/IP lain, NetWare hanya berkomunikasi dengan sistem NetWare lain,

begitu pula dengan sistem jaringan lain. LAN seperti ini disebut sebagai LAN heterogen dan

internetwork yang menghubungkan LAN-LAN seperti ini disebut sebagai internetwork

heterogen.

Sebuah sistem dapat saja mempunyai sebuah data link dengan beberapa jenis software

(protokol) jaringan pada lapisan atasnya. Dengan cara ini sebuah sistem dapat berkomunikasi

dengan beberapa protokol jaringan sehingga misalnya sebuah sistem dapat berkomunikasi

Page 59: OSI Layer

!

59

dengan server TCP/IP dan server NetWare. Tujuan umum dalam dunia jaringan di masa ini

adalah agar pengguna dapat berkomunikasi dengan sistem komputasi lain di internetwork.

Internetwork menggunakan bridge

Bridge yang bekerja pada lapisan Data Link mampu menghubungkan LAN-LAN yang

berbeda protokol. Bridge tidak akan memeriksa jenis protokol setiap frame yang perlu

dilewatkan. Contoh internetwork menggunakan bridge dapat dilihat pada gambar 2-14.

Dalam internetwork tersebut setiap sistem TCP/IP dapat berhubungan dengan sistem

TCP/IP lain, demikian pula dengan sistem NetWare.

LAN 2

NetWare

TCP/IP

TCP/IP

TCP/IP

Bridge

NetWare

TCP/IP

TCP/IP

LAN 3

TCP/IP

TCP/IP

NetWare

LAN 1

Gambar 2-14 Internetwork menggunakan bridge

Keuntungan menggunakan bridge:

• biaya; bridge adalah perangkat yang cukup sederhana dan umumnya lebih murah

daripada router

• kemudahan penggunaan; bridge umumnya lebih mudah dipasang dan dirawat

• kinerja; karena bridge cukup sederhana, overhead pemrosesan lebih kecil dan

cenderung mampu menangani traffic yang lebih tinggi

Page 60: OSI Layer

60

Kerugian menggunakan bridge

• volume traffic; bridge lebih cocok pada jaringan dengan volume traffic total yang

relatif rendah

• broadcast storm; frame broadcast dilewatkan bridge ke seluruh LAN dan ini dapat

menyebabkan traffic melebihi kapasitas medium jaringan

• loop; kesalahan mengkonfigurasi bridge dapat menyebabkan frame berputar

melewati bridge tanpa henti

• alamat yang sama; alamat fisik setiap stasiun dalam jaringan harus berbeda dengan

yang lain

• nama yang sama; jika nama network yang sama digunakan oleh dua atau lebih user

akan menyebabkan traffic yang berlebihan

Internetwork menggunakan router

Keunggulan utama menggunakan bridge dalam membentuk internetwork adalah tidak

terlihat oleh fungsi lapisan Transport dan Network. Dari sudut pandang lapisan atas jaringan,

extended LAN yang dibangun menggunakan bridge beroperasi sama seperti hubungan data

link LAN biasa. Karakteristik seperti ini bisa menjadi kelemahan jika internetwork tumbuh

menjadi lebih besar. Extended LAN dapat tumbuh menjadi sangat besar sehingga setiap

LAN dapat mengalami saturasi ketika menangani multicast traffic. Dalam hal ini router dapat

digunakan untuk menghubungkan LAN-LAN jika memang diinginkan untuk mengisolasi

multicass traffic.

Router bekerja pada lapisan Network dan hanya mampu melewatkan paket-paket yang

bersesuaian dengan protokol yang diimplementasikan padanya. Untuk router pada

internetwork heterogen diperlukan satu buah router untuk setiap jenis protokol pada

internetwork tersebut. Contoh internetwork menggunakan router dapat dilihat pada gambar

2-15. Pada internetwork tersebut setiap sistem TCP/IP dapat saling berhubungan dengan

sistem lain sedangkan sistem NetWare pada sebuah LAN tidak mampu berhubungan dengan

sitem NetWare pada LAN yang lain karena tidak terdapat router NetWare yang

Page 61: OSI Layer

!

61

menghubungkan ketiga LAN di internetwork. Untuk dapat menghubungkan NetWare dalam

internetwork ini dapat ditambahkan sebuah router Netware (gambar 2-16).

LAN 2

NetWare

TCP/IP

TCP/IP

TCP/IP

RouterTCP/IP

NetWare

TCP/IP

TCP/IP

LAN 3

TCP/IP

TCP/IP

NetWare

LAN 1

Gambar 2-15 Internetwork menggunakan router

LAN 2

NetWare

TCP/IP

TCP/IP

TCP/IP

RouterTCP/IP

NetWare

TCP/IP

TCP/IP

LAN 3

TCP/IP

TCP/IP

NetWare

LAN 1

RouterNetWare

Gambar 2-16 Penggunaan router untuk menghubungkan Netware ke internetwork

Keuntungan menggunakan router

Page 62: OSI Layer

62

• isolasi traffic broadcast; kemampuan ini memperkecil beban internetwork karena

traffic jenis ini dapat diisolasikan pada sebuah LAN saja

• fleksibilitas; router dapat digunakan pada topologi jaringan apapun dan tidak peka

terhadap masalah kelambatan waktu yang dialami jika menggunakan bridge

• pengaturan prioritas; router dapat mengimplementasikan mekanisme pengaturan

prioritas antar protokol

• pengaturan konfigurasi; router umumnya dapat lebih dikonfigurasi daripada bridge

• isolasi masalah; router membentuk penghalang antar LAN dan memungkinkan

masalah yang terjadi di sebuah LAN diisolasikan pada LAN tersebut

• pemilihan jalur; router umumnya lebih cerdas daripada bridge dan dapat

menentukan jalur optimal antara dua sistem.

Kerugian menggunakan router

• tergantung pada protokol; router yang beroperasi pada lapisan Network OSI hanya

mampu melalukan traffic yang sesuai dengan protokol yang diimplementasikan

padanya saja

• biaya; router umunya lebih kompleks daripada bridge dan lebih mahal;; overhead

pemrosesan pada router lebih besar sehingga troughput yang dihasilkannya dapat

lebih rendah daripada bridge

• pengalokasian alamat; dalam internetwork yang menggunakan router,

memindahkan sebuah mesin dari LAN yang satu ke LAN yang lain berarti mengubah

alamat network pada sistem itu

• sistem tak terjangkau; penggunaan tabel routing yang tidak dinamik menyebabkan

beberapa sistem dapat terjangkau oleh sistem lain

Perencanaan Internetwork TCP/IP

Dalam perencanaan internetwork TCP/IP, beberapa hal yang harus diperhatikan oleh

manajer jaringan adalah:

• Topologi backbone

Page 63: OSI Layer

!

63

• Pengalokasian alamat IP

• Pengaturan routing

• Penempatan server

• Penanganan protokol jaringan yang berbeda

Topologi backbone

Topologi backbone yang sebaiknya digunakan dalam internetwork yang meliputi sebuah

kampus adalah Snow Flakes yaitu topologi yang terdiri dari beberapa buah titik star (gambar

2-17).

Kelebihan topologi Snow Flakes :

• Beban routing terdistribusi lebih baik

• Pengontrolan dan operasi internetwork terpusat pada titik-titik star tersebut

• Troubleshooting internetwork lebih mudah

ROUTER

ROUTER

ROUTER

DEP-A

DEP-B

DEP-c

DEP-C

DEP-D

DEP-E

DEP-F

DEP-G

Gambar 2-17 Snow Flakes

Internetwork sebaiknya disusun dalam beberapa tingkat (umumnya dua atau tiga)

berdasarkan kondisi workgroup. Misalnya backbone menjadi penghubung antar-departemen,

dan jaringan dalam setiap departemen menghubungkan direktorat-direktorat.

Page 64: OSI Layer

64

Router

Router

Router

Router

Workstation Workstation SERVER

BACKBONE

DEPARTEMEN

DIREKTORAT

Gambar 2-18 Internetwork disusun dalam bentuk tingkatan-tingkatan

Pengalokasian alamat IP

Seorang manajer jaringan harus mengganggap alamat IP sebagai suatu resource yang harus

dialokasikan sebaik-baiknya. Setiap stasiun dari internetwork yang terhubung langsung

dengan Internet harus memiliki alamat IP yang unik di seluruh Internet. Sebuah organisasi

mungkin memperoleh alamat jaringan kelas A, B, atau kelas C, atau bahkan hanya sebagian

kecil dari kelas C. Pada internetwork yang memiliki IP terbatas, hal yang umum dilakukan

adalah melakukan proxy IP. Internetwork yang terletak di dalam lingkungan proxy wajib

memiliki IP yang unik hanya dalam lingkungan proxy tersebut.

Cara pengalokasian IP yang baik adalah yang berdasarkan letak geografis. Ini berarti bahwa

jaringan yang terletak dekat secara geografis, sebaiknya juga memiliki alamat IP yang dekat.

Ini berguna terutama dalam pengaturan routing.

Pengaturan routing

Page 65: OSI Layer

!

65

Routing dalam internetwork sebaiknya menggunakan metode routing dinamik dan hanya

menggunakan routing statik pada kondisi yang tidak memungkinkan penggunaan routing

dinamik.

Keuntungan routing dinamik:

• route ditentukan oleh setiap router berdasarkan informasi dari router lain

• dapat beradaptasi terhadap perubahan kondisi internetwork (penambahan jaringan

baru, putusnya jaringan)

• penanganan oleh manusia jauh lebih ringan dibandingkan dengan routing statik

Pada saat ini terdapat dua macam routing dinamik yang biasa digunakan dalam internetwork

TCP/IP:

• RIP (Routing Information Protocol); yang menggunakan algoritma routing Distance

Vector

• OSPF (Open Sortest Path First); yang menggunakan algoritma routing link-state

Penempatan Server

Pengertian server yang disebut di sini mengacu kepada mesin-mesin dalam lingkungan

internetwork yang ditujukan secara khusus untuk memberikan informasi yang dibutuhkan

oleh client. Dalam internetwork TCP/IP server-server tersebut digunakan untuk memberi

informasi penting bagi internetwork, misalnya DNS server, dan untuk memberikan informasi

secara umum, seperti Web server dan News server. Sesuai dengan namanya, server memberi

indikasi kemungkinan terjadinya trafik yang lebih tinggi antara server tersebut dengan

workstation dibandingkan dengan trafik antar workstation.

Penempatan server yang baik dalam internetwork mampu mendistribusikan beban trafik di

jaringan. Hal ini terutama berlaku untuk server-server yang dibutuhkan oleh internetwork

seperti DNS server. Penempatan server-server seperti Web server dan FTP server juga turut

berperan dalam mendistribusikan beban trafik. Menurut penelitian, FTP server yang

ditempatkan dengan baik mampu mengurangi trafik yang tidak perlu sampai sebesar 44%.

Sifat beban trafik antara DNS server dengan FTP dan Web server berbeda yaitu DNS server

sering diakses tetapi memberikan informasi dalam jumlah yang kecil sedangkan walaupun

Page 66: OSI Layer

66

FTP dan Web server diakses relatif tidak sesering DNS server, informasi yang diberikan

keduanya jauh lebih besar daripada informasi dari DNS pada setiap kali akses. Praktik yang

biasa dilakukan terutama pada DNS server adalah pendistribusian informasi pada dua atau

tiga server dalam internetwork yang besar. Dengan praktik seperti ini, setiap query oleh client

diajukan kepada server terdekat.

Page 67: OSI Layer

!

67

Penanganan protokol jaringan yang berbeda

Internetwork yang ada saat ini tidak semua hanya menggunakan satu protokol jaringan.

Terdapat juga lingkungan internetwork yang terdiri dari dua atau lebih protokol seperti

protokol TCP/IP dengan IPX/SPX. Pada internetwork TCP/IP yang menggunakan router

(TCP/IP), elemen internetwork dengan protokol yang berbeda tersebut hanya mampu

berkomunikasi sebatas sampai router saja. Agar elemen ini mampu berkomunikasi dengan

elemen yang lain yang terpisah oleh router, biasanya digunakan metoda tunnelling. Dengan

tunnelling, elemen-elemen internetwork tersebut dapat berkomunikasi dengan protokolnya

di atas protokol TCP/IP.

Page 68: OSI Layer

68

3

Sekilas tentang UNIX : Langkah-langkah Instalasi UNIX dan Dasar-dasar Penggunaan Perintah Pada Sistem Operasi UNIX

Pada bab ini akan ditunjukkan cara praktis melakukan

instalasi UNIX FreeBSD, serta beberapa perintah

dasar sistem operasi UNIX.

Page 69: OSI Layer

!

69

Pendahuluan

Pada Bab ini akan dibahas mengenai cara-cara instalasi FreeBSD pada komputer anda. Mulai

dari bagian yang sangat dasar yaitu membuat disket booting untuk instalasi FreeBSD hingga

FreeBSD tersebut terbentuk.

Untuk instalasi FreeBSD ini dapat dilakukan melalui berbagai cara, yaitu :

1. Instalasi dari CDROM

2. Instalasi dari Floppy Disk

3. Instalasi dari partisi DOS

4. Instalasi dari QIC/SCSI tape

5. Instalasi melalui network

• Instalasi melalui NFS (Network File System)

• Instalasi melalui FTP (File Transfer Protocol)

Namun yang diutamakan dibahas pada bab ini adalah instalasi melalui FTP.

Ada hal-hal yang perlu diperhatikan dalam instalasi FreeBSD, yaitu :

1. Disket boot untuk instalasi FreeBSD.

2. Komputer dengan RAM minimum 8 MB dan Harddisk minimum 120MB.

3. Sarana jaringan komputer (Ethernet Card, perhatikan Port dan IRQ-nya).

4. Source dari FreeBSD.

Catatan : Perhatikan semua jenis perangkat keras yang dapat di-support oleh FreeBSD

Membuat Disket Boot

Dalam membuat disket booting diperlukan sebuah file yang namanya boot.flp. Ambillah file

tersebut dari source FreeBSD, misalkan dari CDROM-nya atau ftp ke site di Internet yang

menyediakan source dari FreeBSD tersebut. Biasanya file tersebut ada di direktori

FreeBSD/2.1.6-RELEASE/floppies. Untuk membuat disket jadi boot FreeBSD dapat

dilakukan dengan dua cara yaitu :

Pada sistem DOS

Page 70: OSI Layer

70

Dengan cara ini kita membutuhkan perintah rawrite untuk meng-extract file tersebut : Rawrite boot.flp <disk_drive>

Pada sistem FreeBSD

Extract-lah file boot.flp tersebut dengan perintah dd, contoh : # dd if=boot.flp of=/dev/fd0

/dev/fd0 menunjukkan floppy drive yang digunakan. Pada FreeBSD, /dev/fd0

menunjukkan drive A dan /dev/fd1 menunjukkan drive B.

Catatan : Jika mesin anda hanya memiliki RAM 4 MB gunakan boot4.flp

Yang harus anda persiapkan sebelum melakukan instalasi :

Instalasi dari CDROM

Jika CDROM anda tidak di-support oleh FreeBSD anda dapat melewatkan bagian ini untuk

menuju ke bagian instalasi dari partisi DOS.

Tidak banyak harus dipersiapkan untuk instalasi dengan cara ini, cukup menjalankan file

install.bat yang disediakan pada CDROM atau membuat boot floppy dengan perintah

makeflp.bat. Untuk memudahkan semua hal di atas cukup ketikan view, ini akan membawa

anda ke menu utility yang membimbing pelaksanaan di atas melalui pilihan-pilihan yang telah

disediakan.

Catatan : Sebelum melakukan instalasi (sebelum booting) CDROM harus diletakan pada

drive-nya sehingga dapat ditemukan oleh FreeBSD pada saat booting.

Instalasi dari Floppy

Jika anda harus menginstalasi FreeBSD dari floppies baik itu karena terpaksa karena

perangkat keras yang tidak di-support atau karena anda senang melakukannya maka harus

dipersiapkan floppy disk yang cukup banyak.untuk menyimpan semua file yang ada di

direktori bin (binary distribution).

Untuk sistem DOS, floppy disk yang akan digunakan benar-benar harus terformat oleh DOS

format (anda harus yakin mengenai hal ini). Untuk sistem FreeBSD maka anda harus

Page 71: OSI Layer

!

71

membuat floppy itu bersistem FreeBSD, yaitu dengan perintah disklabel dan newfs, dengan

cara : # fdformat -f 1440 fd0.1440

# disklabel -w -r fd0.1440 floppy3

# newfs -t 2 -u 18 -I 65536 /dev/rfd0

Catatan : Gunakan ‘fd0.1200’ dan ‘floppy5’ untuk floppy 1.2MB

Instalasi dari Partisi DOS

Untuk mempersiapkan instalasi dari partisi DOS anda harus meng-copy file dari Source ke

direktori dengan nama FREEBSD. Sebagai contoh untuk minimum instalasi dapat dilakukan

seperti di bawah ini

C:\ MD FREEBSD

C:\ XCOPY /S E:\DISTS\BIN C:\FREEBSD\BIN

Asumsi : C: adalah Harddisk dan E: adalah CDROM

Instalasi dari QIC/SCSI Tape

Cara yang dilakukan hampir sama dengan instalasi dengan CDROM, hanya mesti diingat

bahwa tape harus berada dalam drive-nya sebelum dilakukan booting. Jika hal tersebut

dilakukan akan menyebabkan tape tersebut gagal ditemukan oleh FreeBSD pada saat probing

Instalasi dari Jaringan

Anda dapat melakukan instalasi melalui jaringan dengan tiga tipe koneksi yaitu :

1. Serial port : SLIP / PPP

2. Parallel port : PLIP (menggunakan laplink)

3. Ethernet : Standar ethernet yang dapat dikenali oleh FreeBSD

Pilihan terbaik dari semua di atas adalah ethernet adapter dan men-support ethernet card

yang umum digunakan. Untuk hal di atas maka anda perlu untuk menentukan IP address,

Page 72: OSI Layer

72

masking, gateway (IP ISP, jika anda menggunakan PPP) yang digunakan disamping nama

komputer.

Instalasi melalui FTP

Untuk instalasi ini maka anda perlu untuk menentukan FTP Server yang menyediakan

fasilitas ini. Sebagai contoh : ftp.itb.ac.id, ftp.jp.freebsd.org, atau ftp.freebsd.org.

Ada dua jenis ftp yang dapat dilakukan yaitu :

1. FTP aktif

Adalah ftp tanpa melalui firewall

2. FTP pasif

Jenis ini memperbolehkan user melewati firewall yang tidak menutup koneksi pada

beberapa port address

Instalasi FreeBSD (FTP)

Boot-lah komputer anda dengan disket booting yang telah dibuat sebelumnya. Pada saat

booting ini akan terlihat bahwa FreeBSD akan memeriksa semua perangkat keras yang

terpasang pada komputer anda. Perhatikanlah semua perangkat keras yang terdeteksi,

terutama perangkat keras yang penting seperti ethernet card dan harddisk.

Jika pada saat booting ada beberapa perangkat yang akan digunakan tapi tidak terdeteksi,

maka ulangi lagi proses instalasi dengan memberikan option -c pada saat booting.

Boot : -c

Gunakan perintah visual untuk mengkonfigurasi perangkat keras yang terpasang

config# visual

Tampilannya akan seperti berikut :

Page 73: OSI Layer

!

73

Untuk mengatur perangkat keras yang digunakan arahkan pointer keyboard anda pada

perangkat tersebut dan tekanlah enter.

Keluarlah dari menu untuk probing dari perangkat keras yang terpasang (sekali lagi

perhatikan perangkat yang terdeteksi).

Selanjutnya anda akan dihadapkan pada menu instalasi seperti di bawah ini :

Page 74: OSI Layer

74

Menu Doc berisi beberapa dokumen yang berhubungan dengan FreeBSD, Perangkat keras,

dan proses instalasi. Untuk memahami lebih lanjut mengenai langkah-langkah untuk instalasi

atau segala hal yang berhubungan dengan FreeBSD anda dapat membacanya di sini.

Pilihlah salah satu menu dari Novice, Express, atau Custom untuk memulai instalasi. Menu

Novice dipilih untuk beginer, Menu Express untuk instalasi dengan konfigurasi minimum

dengan menggunakan harga default yang disediakan FreeBSD. Untuk mengatur proses

instalasi yang sesuai dengan keinginan sendiri maka dapat dipilih menu Custom. Di sini kita

akan memilih menu Custom.

Page 75: OSI Layer

!

75

Pilih menu Partition untuk menentukan besarnya partisi yang akan digunakan untuk

FreeBSD. A untuk menjadikan semua bagian sebagai partisi FreeBSD, C untuk membuat

partisi yang baru. Buat partisi FreeBSD agar bootable dengan S.

Page 76: OSI Layer

76

Pilih Menu Label untuk memberi nama atau label pada partisi. Tekan A untuk nilai default

FreeBSD. Tekan C jika ingin menentukan sendiri. Ada beberapa label diharuskan ada yaitu :

/ dan /usr, sedangkan sisanya terserah, umumnya dibuat sebagai /data.

Pilih Menu Distribution untuk menentukan paket distribusi yang akan diinstall pada

komputer. Pilihlah menu yang sesuai dengan kebutuhan.

Page 77: OSI Layer

!

77

Selanjutnya pilih menu Media. Di sini akan ditentukan melalui media apa instalasi akan

dilakukan, Pilihlah media yang diinginkan. Pada saat sekarang akan digunakan media FTP

untuk instalasi.

Pilih site di Internet yang menyediakan Source FreeBSD. Pilih Other jika ada alamat lainnya

yang lebih dekat namun tidak terdapat dalam daftar, sertakan pula letak direktori dari Source

tersebut. sebagai contoh ftp.itb.ac.id dengan letak direktori di pub/FreeBSD/2.1.5-

RELEASE. Maka tulislah dengan ftp.itb.ac.id/pub/FreeBSD/2.1.5-RELEASE.

Page 78: OSI Layer

78

Isilah beberapa option yang harus diisi di menu selanjutnya seperti nama komputer, domain,

IP address dari Gateway, Name Server, dan komputer itu sendiri, serta netmasknya. Pilih

interface yang akan digunakan untuk instalasi, misal ed0

Jika sudah yakin dengan apa yang telah dilakukan maka pilihlah Commit. Selanjutnya proses

instalasi akan dilakukan. Jika telah selesai maka rebootlah komputer tersebut. Mesin

FreeBSD siap untuk dijalankan.

Memulai dan Mengakhiri FreeBSD

Pada saat akan memulai FreeBSD anda akan dihadapkan dengan login dan password.

Tulislah identitas dan password yang sesuai. Bila ini berhasil maka anda sudah masuk ke

dalam sistem dan bisa mulai bekerja dengannya.

Page 79: OSI Layer

!

79

Jika anda telah selesai bekerja dan akan keluar dari sistem dapat menggunakan perintah

logout (keluar login), exit ( keluar shell) atau ^D.

Sebagian besar dari UNIX adalah Operating System yang sensitif, karenanya sangat dihindari

mematikan mesin secara langsung terutama pada saat beban trafik sedang besar karena dapat

merusak perangkat keras. Untuk mematikan mesin gunakan dengan perintah shutdown.

shutdown [-] [-hkrn] time [warning-message...]

Untuk melihat fungsi dari suatu perintah dan option-optionnya dapat digunakan perintah

man man <command>

sebagai contoh, man shutdown

Ini akan menghasilkan seperti di bawah ini :

Perintah-Perintah Dasar Utility

System dan Regular Expression

Page 80: OSI Layer

80

Klasifikasi perintah Unix kedalam grup grup tertentu bisa berbeda beda, karena Unix

merupakan sistem yang besar. Klasifikasi dalam diskusi kita dimaksudkan untuk menampung

perintah perintah lain yang akan kita gunakan, tapi tidak dibahas secara khusus. Beberapa

contoh perintah dasar (bagian ini bisa dilewati untuk anda yang sudah familiar dengan

perintah perintah tersebut): date, who, echo [teks], pwd, ls, cd, cp, cat, mv, rm, mkdir

Kemudian perintah perintah yang sering digunakan sebagai utility-system , misalnya:

passwd, adduser, mail, finger, write, wall, ps, kill <no proses>,

nohup <perintah/proses>, nice <perintah/proses>, time <perintah>, stty, tty, dan lain-lain.

(beberapa perintah diatas baru dapat dijalankan bila kita mengetahui argumennya, dan jelas

memerlukan perintah yang lain, untuk praktikum silahkan coba yang disarankan oleh tutor

anda). Untuk sintax yang lengkap silahkan buka manual di mesin anda.

Regular expression

Adalah suatu cara untuk menunjuk pada pola karakter umum. Karakter yang biasa digunakan

dapat dilihat pada tabel perintah vi dibawah.

% grep ‘^set’ .login

% grep ‘^set$’ .login

Redirection dan Pipes (filter)

Karena eratnya kaitan bahasa C dengan Unix, hampir setiap command di Unix yang

membutuhkan masukan dan keluaran, mengenal suatu standard input (stdin), standar output

(stdout), dan standar error (stderr). Tapi biasanya perintah perintah tersebut mempunyai

stdin,stdout, atau stderr default, yang dieksekusi jika kita tidak mengeset mereka. Jadi

sederhananya Redirection dan Pipes adalah proses pengalihan stream data ini ke/dari

‘tempat’ yang dikehendaki.

Berikut contoh yang sederhana:

% ls -l > isi.direktori

% more .login > login.doc

Page 81: OSI Layer

!

81

% cat .profile >> login.doc

% ps -ax|grep ftp

% cat < .cshrc > cshrc.txt

% cat .cshrc .login > info

% cat info cshrc.txt > anu

Operasi File dan Direktori

Berikut akan kita ulang operasi dasar dalam Unix untuk file dan direktori.Perlu dicatat bahwa

dalam Unix 'file' menunjuk pada sembarang sumber input atau target output, tidak hanya

pada sebuah tempat penyimpanan data. Unix mempunyai tiga bentuk file : file biasa,

direktori, dan file khusus. Dalam Unix, piranti fisik direpresentasikan oleh file-file khusus.

Direktori merupakan file yang menunjuk kesejumlah file lainnya. Sedangkan file biasa berisi

data, bisa berbentuk teks ataupun binary.

Menampilkan file dalam suatu direktori :

ls [-adglrsCFR1] [name]

perintah perintah berikut dapat anda coba: % ls /

% ls /etc

% ls ..

% ls

% ls ../..

% ls |wc -l

% ls -C

% ls -1

% ls -r

% ls -F

% ls -R ~

% ls -s

% ls h*

% ls h h1 h2

Page 82: OSI Layer

82

% ls -s /bin/[a-z][a-z] /usr/bin/[a-z][a-z]

% ls /usr/{user1,user2.tln}

% ls -a

% ls -l

% ls -l info;date

Menampilkan isi file

cat <file name>

Menampilkan isi file layar per layar

more <file name>

Membuat direktori

mkdir <namedir>

Mengkopi file

cp [-ip] file1 file2

cp [-ip] file... direktori

cp -r [-ip] direktori1... direktori2

% more .cshrc > data

% cp data extra

% cp /etc/passwd ~/pword

% cp -i data extra

% cp data1 data2 data3 backups

% cp data[123] backups

% cp data* backups

% cp d* backups

% cp -r essays backups

Memindahkan file

mv [-if] file... direktori

Page 83: OSI Layer

!

83

mv [-if] oldname newname

% mv data archive

% mv data1 data2 data3 archive

% mv -i data archive

% mv memo important

% mv memo archive/important

Menghapus File

rm [-fir] file...

Menghapus direktori

rmdir % mkdir data

% rm data

% rm ~/memo

% rm bin/spacewar

% rm data[123]

% rm *

% rm -i data*

% rm -f data.important

% rm -r extra

% rm -r *

% rm -ir extra

% rm -fr extra

% rm -fr ~/extra

% rm -fr ~ /extra

% rm -fr /

Mode file

chmod mode file...

Page 84: OSI Layer

84

% chmod 644 memo1 memo2 memo3

% chmod 755 spacewar

% chmod 600 homework.text

% chmod 700 homework.program

Beberapa perintah lain yang masih berkaitan dengan operasi file, yang sebaiknya anda buka

di online manual adalah du,quota,alias,umask, dan ln

Text Editor : vi

Perintah perintah vi sangat banyak jumlahnya. Untuk melakukan sesuatu dengan vi, selalu

terdapat jalan alternatif untuk merepresentasikan tugas yang sama. Dalam konteks ini, kita

akan membahas vi secara garis besar saja. vi mempunyai dua mode, mode perintah

(command mode) dan mode sisip (insert mode). Pada waktu kita berada pada command

mode, semua tombol yang kita tekan akan diintepretasikan sebagai suatu perintah. Jadi

ketikan kita tidak akan dianggap sebagai tulisan. Sedadangkan jika kita berada pada insert

mode, kita hanya dapat melakukan satu hal saja, yaitu mengetik tulisan kita. Kita tidak dapat

menghapus kata atau baris, menggerakkan kursor keatas atau kebawah, dsb. Untuk masuk ke

masing masing mode dapat dilakukan dengan menekan tombol Esc (ke command mode)

dan i ( ke insert mode).

Pertama yang perlu diingat adalah cara keluar dari vi, yaitu dengan perintah

<Esc><:><q!> .

Page 85: OSI Layer

!

85

Memulai vi

vi file memulai vi, mengedit file yang diberikan

vi -R file memulai vi, mengedit file yang diberikan,

read only

viewfile memulai vi, mengedit file yang diberikan,

read only

Keluar ZZ menyimpan data dan stop

:q! keluar tanpa menyimpan

Merecover file vi -r menampilkan nama file yang bisa direcover

vi -rfile memulai vi, merecover file yang diberikan

Mengatur tampilan ^L menampilkan kembali layar yang sedang

aktif

: set number menampilkan nomor baris internal

: set nonumber tidak menampilkan nomor baris internal

Menggerakkan kursor h memindahkan kursor satu posisi ke kiri

j memindahkan kursor satu posisi ke bawah

k memindahkan kursor satu posisi ke atas

l memindahkan kursor satu posisi ke kanan

<kiri> memindahkan kursor satu posisi ke kiri

<bawah> memindahkan kursor satu posisi ke bawah

<atas> memindahkan kursor satu posisi ke atas

<kanan> memindahkan kursor satu posisi ke kanan

<backspace> memindahkan kursor satu posisi ke kiri

<spasi> memindahkan kursor satu posisi ke kanan

- memindahkan kursor pada awal baris sebelumnya

+ memindahkan kursor pada awal baris sesudahnya

<enter> memindahkan kursor pada awal baris sesudahnya

0 memindahkan kursor pada awal baris aktif

$ memindahkan kursor pada akhir baris aktif

Page 86: OSI Layer

86

^ memindahkan kursor pada karakter pertama (non

spasi/tab)

w memindahkan kursor ke karakter pertama kata

berikutnya

e memindahkan kursor ke karakter terakhir kata

berikutnya

b memindahkan kursor ke karakter pertama kata

sebelumnya

W sama dengan w tapi mengabaikan punctuation

E sama dengan e tapi mengabaikan punctuation

B sama dengan b tapi mengabaikan punctuation

) menggerakkan ke awal kalimat sesudahnya

( menggerakkan ke awal kalimat sebelumnya

} menggerakkan ke awal paragrap sesudahnya

{ menggerakkan ke awal paragrap sebelumnya

H memindahkan kursor pada baris atas

M memindahkan kursor pada baris tengah

L memindahkan kursor pada baris terakhir

Menuju lokasi tertentu pada editting buffer ^F bergerak kebawah satu layar

^B bergerak keatas satu layar

n^F bergerak kebawah n layar

n^B bergerak keatas n layar

^D bergerak kebawah setengah layar

^U bergerak keatas setengah layar

n^D bergerak kebawah n baris

n^U bergerak keatas n baris

Page 87: OSI Layer

!

87

Mencari suatu model

/rexp mencari (forward) regular expression yang

diberikan

/ mengulangi (forward) mencari regular exp pattern

sebelumnya

?rexp mencari (backward) untuk regular expression yang

diberikan

? mengulangi (backward) mencari regular exp

pattern sebelumnya

n mengulangi perintah / atau ? sebelumnya pada

direction yang sama

N sama dengan n pada arah yang berlawanan

Karakter khusus yang digunakan dalam regular expression . sesuai dengan karakter tunggal kecuali newline

* sesuai nol atau lebih karakter pertama

^ sesuai dengan awal baris

$ sesuai dengan akhir baris

\< sesuai dengan awal kata

\> sesuai dengan akhir kata

[ ] sesuai dengan salah satu karakter yang di

lingkupinya

[^ ] sesuai dengan sembarang karakter yang tidak di

lingkupinya

\ mengartikan simbol yang mengikutinya secara

literal

Nomor baris nG melompat ke baris nomor n

1G melompat ke awal baris dalam editing

buffer

G melompat ke akhir baris dalam editing

buffer

:map g 1G mendefinisikan makro sehingga g sama

dengan 1G

Page 88: OSI Layer

88

Menyisipkan I berubah ke insert mode, insert sebelum

posisi kursor

a berubah ke insert mode, insert sesudah

posisi kursor

I berubah ke insert mode, insert pada awal

baris aktif

A berubah ke insert mode, insert pada akhir

baris aktif

o berubah ke insert mode, open dibawah baris

aktif

O berubah ke insert mode, opern diatas baris

aktif

Mengubah r mereplace 1 karakter tanpa masuk ke insert

mode

R mereplace dengan mengetikan

s mereplace 1 karakter dengan menginsert

C mereplace dari kursor ke akhir baris

dengan menginsert

cc mereplace semua baris aktif dengan

menginsert

S mereplace semua baris aktif dengan

menginsert

cmove mereplace dari posisi kursor ke move

dengan menginsert

~ mengubah kecil/besar suatu huruf

Menggantikan suatu model

:s/pattern/replace/ substitusi, pada baris aktif

:lines/pattern/repla

ce/

substitusi, pada baris tertentu

:line,,lines/pattern

/replace

substitusi, pada range tertentu

:%s/pattern/replace/ substitusi, semua baris

Membatalkan dan mengulagi pengubahan yang sebelumnya

Page 89: OSI Layer

!

89

u undo perintah sebelumnya yang memodifikasi editing

buffer

U merestore baris aktif

. mengulangi perintah sebelumnya yang memodifikasi

editing buffer

Mengkontrol panjang baris

r<Return> mereplace sebuah karakter dengan newline

J menyatukan baris

:set wm=n auto line break dalam n posisi dari margin

kanan

Menghapus x menghapus karakter pada posisi kursor

X menghapus karakter disebelah kiri kursor

D menghapus karakter diakhir baris

dd menghapus seluruh baris aktif

dmove menghapus dari kursor ke move

dG menghapus dari kursor ke akhir editing

buffer

d1G menghapus dari kursor ke awal editing

buffer

:lined menghapus baris tertentu

:line,lined menghapus range tertentu

Mengkopi penghapusan terakhir P insert sesudah/dibawah kursor

p insert segelum/diatas kursor

xp mentranspose dua karakter

deep mentranspose dua kata

ddp mentranspose dua baris

Page 90: OSI Layer

90

Mengkopi dan memindahkan baris

:linecotarget mengkopi baris tertentu, insert dibawah

target

:line,linecota

rget

mengkopi range tertentu, insert dibawah

target

:linemtarget memindahkan baris tertentu, insert dibawah

target

:line,linemtar

get

memindahkan range tertentu, insert dibawah

target

Mengeksekusi perintah shell

:!command pause vi, mengeksekusi perintah shell

tertentu

:!! pause vi, mengeksekusi perintah shell

sebelumnya

:sh pause vi, memulai shell

:!csh pause vi, memulai C Shell yang baru

Membaca data

:liner file insert isi file, setelah baris tertentu

:r file insert isi file, sesudah baris aktif

:liner

!command

insert output dari perintah seteleh baris

tertentu

:r !command insert output dari perintah setelah baris

aktif

:r !look

pattern

insert kata yang berawal dengna pattern

tertentu

Menggunakan perintah shell untuk memproses data

n!!command mengeksekusi perintah pada n baris

!move command mengeksekusi perintah dari kursor ke move

!move fmt memformat baris dari kursor ke move

Page 91: OSI Layer

!

91

Menyimpan data :w menulis data pada file original

:w file menulis data pada file tertentu

:w >> file menambahkan data pada file tertentu

Mengganti file yang diedit

:e file mengedit file tertentu

:e! file mengedit file tertentu, mengabaikan chek

otomatis

Menyingkat

:ab short long mengeset short sebagai singkatan dari long

:ab menampilkan singkatan aktif

:una short meng-cancel penyingkatan short

Contoh pengeditan dengan vi

% cp .cshrc cshrc.doc

berikut contoh hasil operasi diatas ( cshrc.doc)

#csh .cshrc file

alias h history 25

alias j jobs -l

alias la ls -a

alias lf ls -FA

alias ll ls -lA

alias su su -m

setenv EDITOR vi

setenv EXINIT 'set autoindent'

setenv PAGER more

set path = (~/bin /bin /usr/{bin,games} /usr/local/bin

/usr/X11R6/bin)

Page 92: OSI Layer

92

if ($?prompt) then

# An interactive shell -- set some stuff up

set filec

set history = 1000

set ignoreeof

set mail = (/var/mail/$USER)

set mch = `hostname -s`

set prompt = "${mch:q}: {\!} "

umask 2

endif

Bagi anda yang belum terbiasa dengan vi cobalah edit kembali file cshrc.doc tersebut dari

awal, atau buat file tail/head dari cshrc.doc tersebut kemudian lengkapi sehingga sama

dengan asalnya

Berikut beberapa file yang dapat anda coba untuk berlatih, supaya lebih terbiasa dengan vi:

% cat .profile > profile.doc

PATH=$HOME/bin:/bin:/usr/bin:/usr/games:/usr/X11R6/bin:/usr/

local/bin

export PATH

EDITOR=vi

export EDITOR

EXINIT='set autoindent'

export EXINIT

PAGER=more

export PAGER

umask 2

% cat .login > login.doc

#csh .login file

Page 93: OSI Layer

!

93

setenv SHELL /bin/csh

set noglob

eval `tset -s -m 'network:?xterm'`

unset noglob

stty status '^T' crt -tostop

/usr/games/fortune

Page 94: OSI Layer

94

4

Mengkonfigurasi Network Interface

Pada bab ini, Anda akan mempelajari:

• Konfigurasi Interface Menggunakan ifconfig

• TCP/IP Melalui Serial Line

• Memilih Protokol Serial

• Mengkonfigurasi Interface SLIP

• Mengkonfigurasi Interface PPP

• Melakukan Konfigurasi pada Start-up File

Page 95: OSI Layer

!

95

Pendahuluan

Ketika protokol network hanya bekerja dengan satu jenis physical network saja, belum ada

keperluan untuk mengidentifikasikan network interface untuk software. Software sudah

mengetahui interface yang mana yang harus ia gunakan. Kemudian datanglah TCP/IP, yang

memiliki kelebihan dalam hal flexibilitas. Ia bisa digunakan pada berbagai macam physical

network. Fleksibilitas ini mengakibatkan tidak adanya network interface yang menjadi default

dalam suatu sistem. Karenanya seorang Network Adminstrator harus mendefinisikan sendiri

karakteristik tiap tiap network interface yang hendak digunakannya agar bisa menjalankan

protokol TCP/IP.

Konfigurasi Interface Menggunakan

ifconfig

Perintah ifconfig digunakan untuk mengecek atau mengeset konfigurasi dari sebuah

network interface. Yang dapat diset oleh perintah ini antara lain

• IP address

• Subnet Mask

• Broadcast address

Bentuk dari perintah ifconfig tersebut ialah sebagai berikut ifconfig interface address netmask mask broadcast address

Sebagai contoh , dapat kita lihat perintah ifconfig yang digunakan untuk mengkonfigurasi

interface "ed1" pada host "maingtw.paume.itb.ac.id". Host ini memiliki IP address

167.205.22.131 dan netmask 0xffffffe0.

ifconfig ed1 167.205.31.131 netmask 255.255.255.224 broadcast 167.205.31.159

Page 96: OSI Layer

96

Keterangan :

interface ialah nama dari network interface yang hendak dikonfigurasi dengan perintah

ifconfig ini. Disini digunakan contoh interface Ethernet ed1

address adalah IP address yang diberikan kepada interface ini. IP address ini diberikan

dalam bentuk desimal berititik atau dengan nama host. IP address lebih cocok

untuk digunakan, karena jika kita menggunakan nama host , ifconfig harus

mencari IP address ekivalennya terlebih dahulu sebelum ia diberikan ke interface.

Jika kita ingin menggunakan nama host , nama tersebut kita letakkan pada file

/etc/hosts. Pada contoh diatas kita menggunakan IP address 167.205.31.131

mask subnetmask yang digunakan oleh interface ini. Jika jaringan kita tidak dibagi bagi

dalam subnet, maka argumen ini bisa diabaikan

address ialah alamat broadcast dari network ini. Ia didapat dengan mengeset semua host

bit dalam IP Address menjadi satu. Sebagai contoh , misalnya kita menggunakan IP

Address 167.205.31.131 maka broadcast addressnya adalah 167.205.31.159

Karena yang hendak kita konfigurasi ini adalah network interface, kita tentu harus

mengetahui network interface apa saja yang tersedia pada host kita ini. Biasanya pada saat

booting , seluruh interface yang ada pada sistem kita nampak di console. hal ini bisa juga

dilihat dengan menggunakan perintah dmesg.

Ada juga cara lain yang digunakan untuk mengetahui seluruh interface yang ada pada sistem

kita. Kita dapat menggunakan perintah netstat

Menggunakan Perintah netstat

Untuk mengetahui seluruh network interface yang tersedia digunakan perintah

% netstat -ain

Ada tiga option yang mengikuti perintah netstat diatas. Option -i meminta netstat untuk

menampilkan status dari network interface yang telah terkonfigurasi.Option -a digunakan

untuk menampilkan seluruh network interface yang ada dalam sistem, bukan hanya yang

Page 97: OSI Layer

!

97

telah dikonfigurasi saja. Option -n meminta netstat untuk menampilkan keluaran dalam

bentuk numerik. Berikut ini adalah contoh keluaran perintah netstat % netstat -ain Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll ed0 1500 <Link>00.80.48.91.e8.40 360436 0 394016 0 100 ed0 1500 167.205.22. 167.205.22.123 360436 0 394016 0 100 ed1 1500 <Link>00.80.48.81.c6.b3 558995 71 493592 70 6941 ed1 1500 167.205.31. 167.205.31.131 558995 71 493592 70 6941 lp0* 1500 <Link 0 0 0 0 0 lo0 65532 <Link 16535 0 16535 0 0 lo0 65532 127 127.0.0.1 16535 0 16535 0 0 sl0 552 <Link> 287169 1 300307 0 0 sl0 552 167.205.22 167.205.22.1 287169 300307 0 0 sl1 552 <Link> 20735 1 22690 0 0 sl1 552 167.205.22. 167.205.22.33 20735 1 22690 0 0

Keluaran dari perintah netstat ini menampilkan field field sebagai berikut

Name Field nama inteface ini menunjukkan nama yang diberikan pada interface

tersebut. Nama ini ialah nama yang digunakan oleh ifconfig untuk

mengindentifikasi interface. Tanda asteriks "*" pada nama interface

menunjukkan bahwa interface tersebut tidak dalam keadaan aktif.

Contohnya dapat kita lihat pada interface lp0 diatas.

Mtu Maximum Transmission Unit menunjukkan frame terpanjang yang dapat

ditransmisikan oleh interface ini tanpa fragmentasi. Nilai Mtu ini ditampilkan

dalam ukuran byte.

Net/Dest

Network/Destination field menunjukkan network dimana interface ini

terhubung. Sebagai contoh misalnya interface ed1 diatas. Ia tehubung ke

network 167.205.31 . Alamat network ini didapat dari IP address milik

interface tersebut dan subnet mask nya.

Address Menunjukkan IP address yang diberikan pada interface ini

Ipkts Input Packets , Menunjukkan jumlah paket yang telah diterima oleh interface

ini

Ierrs Input Errors , menunjukkan jumlah paket rusak yang diterima oleh interface

ini.

Opkts Output Packets, menunjukkan jumlah paket yang dikirim oleh interface ini.

Page 98: OSI Layer

98

Oerrs Menunjukkan jumlah paket terkirim yang menyebabkan kesalahan

Coll Collisions field, menunjukkan berapa banyak ethernet collision yangdideteksi

oleh interface ini. Field ini hanya berlaku bagi interface ethernet.

Memeriksa interface dengan ifconfig

ifconfig dapat pula digunakan untuk memeriksa konfigurasi network interface yang telah

ada. misalnya kita ingin memeriksa interface ed0 % ifconfig ed0

ed0:flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 167.205.22.123 netmask 0xffffffe0 broadcast 167.205.22.127

Ketika digunakan untuk mengecek status dari interface, perintah ifconfig menampilkan dua

baris keluaran. Baris pertama menunjukkan nama interface dan nilai flag yang menujukkan

karakteristik interface tersebut. Flag ini ditampilkan dalam bentuk numerik dan "keyword"

Pada contoh diatas , nama interfacenya adalah ed0, dan interface flagnya memiliki nilai 8863.

Nilai ini berhubungan dengan hal hal berikut

UP Interface sedang active dan dapat digunakan

BROADCAST Interface ini mendukung mode broadcast (terhubung pada suatu jaringan

yang mendukung mode broadcast, misalnya ethernet.

NOTRAILERS Interface ini tidak mendukung enkapsulasi trailers (spesifik pada ethernet)

RUNNING Interface ini sedang operasional.

SIMPLEX Interface ini hanya bisa digunakan satu arah tiap saat.

MULTICAST Interface ini mendukung pengalamatan multicast

Baris kedua dari keluaran perintah ifconfig menunjukkan informasi yang langsung

berhubungan dengan TCP/IP. Kata "inet" diikuti dengan IP address yang diberikan pada

interface ini. Kemudian kata "netmask" diikuti dengan nilai maskingnya (dalam

heksadesimal). akhirnya kata broadcast diikuti dengan broadcast addressnya.

Memberikan Subnetmask

Page 99: OSI Layer

!

99

Agar jaringan bisa berjalan dengan baik, maka seluruh interface pada physical network

tertentu harus memiliki nilai subnetmask yang sama. Dengan memiliki subnetmask yang

sama ini maka dalam satu network tersebut, seluruh interface yang terhubung kepadanya

akan memiliki alamat network dan alamat broadcast yang sama. Subnetmask sendiri

menspesifikasikan pembagian network menjadi beberapa subnetwork.

Untuk memberikan subnetmask pada suatu interface, nilai subnetmask ini disisipkan pada

perintah ifconfig, setelah keyword "netmask". Cara penulisannya biasanya sama dengan

bentuk IP address-nya, yaitu desimal bertitik. Namun bisa juga diberikan dalam bentuk

heksadesimal , diawali dengan 0x. Contoh

#ifconfig ed0 167.205.9.101 netmask 0xffffff00 broadcast 167.205.9.255

Menaruh nilai netmask langsung pada pada perintah ifconfig ialah hal yang paling umum,

dan juga paling mudah. Namun kita juga bisa memerintahkan pada ifconfig untuk

mengambil nilai netmask dari file (/etc/network). Misalnya pada file /etc/network

kita tambahkan baris berikut my_netmask 255.255.255.224

Maka setelah penambahan baris tersebut,kita bisa menggunakan kata my_netmask sebagai

ganti dari nilai netmask pada saat memanggil perintah ifconfig. ifconfig ed0 167.205.22.123 netmask my_netmask

Kerugian dari mengeset ifconfig secara tidak langsung ini ialah ia bisa membuat

troubleshooting menjadi lebih sulit, jika terjadi kesalahan. Jika semua nilai di set di boot file,

jika terjadi kesalahan kita tinggal mengecek di sana saja. Jika informasi konfigurasi ini

diberikan secara tak langsung , jika terjadi kesalahan kita harus mengecek boot file, hosts file,

network file, dan netmask file untuk menemukan kesalahannya, jika ada. Untuk membuat

debugging menjadi lebih mudah, biasanya system administrator lebih menyukai mengeset

langsung configurasi network interface langsung dari ifconfig command line.

Mengeset Broadcast Address

Page 100: OSI Layer

100

Sesuai dengan RFC 919 , tentang Broadcasting Internet Datagram, broadcast address

didefinisikan sebagai address dimana seluruh host bit nya diset satu. Cara mengesetnya

adalah menggunakan perintah ifconfig, dengan menggunakan keyword broadcast diikuti

dengan alamat broadcast yang sesuai. Sebagai contoh misalkan kita hendak mengeset

broadcast address pada interface ed0 , pada host gopher.ee.itb.ac.id , yang dalam satu

networknya memiliki netmask 0xffffffe0, maka yang kita ketikkan adalah sebagai berikut

# ifconfig ed0 167.205.22.123 netmask 255.255.255.224 broadcast

167.205.22.127

Memberikan Address pada Network Interface

Jika kita hanya ingin memberikan IP address pada network interface , kita dapat mengetikkan

perintah ifconfig yang hanya diikuti dengan nama interface dan IP address nya.Contoh :

# ifconfig std0 167.205.9.101

Command Option yang lain dari ifconfig

Perintah ifconfig sudah kita gunakan untuk mengeset alamat interface, subnetmask, dan

alamat broadcast. Selain dari hal diatas ,masih ada fungsi fungsi lain yang dapat dilakukan

oleh ifconfig ini.

Untuk meng-enable dan men-disable interface

ifconfig miliki dua argument, yaitu "up" dan "down" yang berguna untuk menandai

sebuah interface. argument "up" digunakan untuk menandai interface tersebut sedang

operasional, sehingga ia siap untuk digunakan. argument "down"sebaliknya, menandai

network interface sedang dalam keadaan tidak operasional sehingga ia tak bisa digunakan.

Perintah "down" ini dipakai jika kita ingin melakukan konfigurasi ulang terhadap sebuah

interface. Beberapa parameter konfigurasi , seperti IP Address misalnya, tak bisa diubah

kecuali jika interfacenya sedang dalam keadaan "down". sehingga untuk melakukan

perubahan IP Address , mula mula interface tersebut di "down" dahulu, dilakukan

rekonfigurasi, baru kemudian ia di "up" kembali. Contoh

Page 101: OSI Layer

!

101

# ifconfig ed0 down # ifconfig ed0 167.205.9.1 up

Setelah perintah ini , interface ed0 beroperasi dengan IP Address yang baru.

ARP dan Trailers

Option ini ialah option yang spesifik bagi interface ethernet. Option Trailers digunakan

untuk men enable dan men disable enkapsulasi trailers pada paket IP. Enkapsulasi Trailer

ialah teknik yang digunakan untuk mengurangi jumlah operasi pengkopian antar memori

yang dilakukan oleh sistem penerima. Ketika option ini di enable system meminta pada

system lainnya , lewat protokol ARP ,untuk melakukan enkapsulasi trailer ketika

mengirimkan datanya.

ARP (Address Resolution Protocol) ialah protokol yang memetakan IP Address ke Alamat

fisik Ethernet. ARP di enable dengan keyword arp dan di disable dengan keyword -arp.

Biasanya ARP ini selalu di enable pada tiap system.

Metric

Perintah ifconfig menciptakan catatan dalam tabel ruting bagi tiap interface yang telah

memiliki IP address. Tiap interface merupakan rute menuju suatu network. ifconfig

menentukan rute network tujuan dengan menerapkan subnetmasking terhadap IP address

interface tersebut.

RIP , Routing Information Protocol ialah protokol ruting yang paling banyak dipakai oleh

UNIX. RIP ini melakukan dua hal. Yaitu mendistribusikan informasi ruting ke host yang lain

dan menggunakan informasi ruting yang datang untuk membuat table ruting secara dinamik.

Rute yang diciptakan oleh ifconfig ialah sumber yang penting bagi informasi ruting yang

didistribusikan oleh RIP. Perintah ifconfig metric dapat digunakan untuk mengontrol

bagimana RIP menggunakan informasi ruting ini.

RIP membuat keputusan tentang ruting ini berdasarkan pada cost/biaya dari rute tersebut.

Biaya/cost dari tiap tiap rute ditentukan atas metrik pada tiap rute tersebut. Makin tinggi nilai

metrik dari suatu jalur , makin tinggi pula biaya pada rute tersebut. Makin rendah nilai

materik suatu rute/jalur, makin rendah pula cost rute tersebut. Ketika membuat tabel ruting,

RIP lebih menyukai rute yang berbiaya rendah ketimbang yang berbiaya tinggi. Rute yang

Page 102: OSI Layer

102

terhubung langsung ke tujuan akan memiliki cost yang sangat rendah , sedangkan yang tidak

langsung , melewati satu atau beberapa host sebelum mencapai tujuan, akan memiliki biaya

yang lebih tinggi. Rute yang terhubung langsung, secara default akan diberi metrik 0. Nilai

metrik ini dapat kita ubah dengan perintah "ifconfig metrik ".

Misalkan kita ingin menaikkan nilai metrik dari suatu interface menjadi 3, agar nantinya RIP

memilih rute yang lain , yang memiliki metrik yang lebih rendah, yaitu 0, 1, atau 2, maka kita

ketikkan perintah : # ifconfig ed0 167.205.9.3 metric 3

Perintah metrik ini digunakan jika kita memiliki lebih dari satu interface yang terhubung ke

satu network, dan kita ingin menggunakan salah satu diantaranya untuk sebagai rute utama.

TCP/IP Melalui Serial Line

TCP/IP ialah protokol yang dapat berjalan diatas berbagai macam media fisik. Medianya bisa

berupa gelombang radio, kabel ethernet, sirkit telepon dan masih banyak lagi lainnya. Pada

pembahasan sebelumnya kita menggunakan ifconfig untuk mengkonfigurasi interface

ethernet. Pada bagian ini kita akan membahas cara mengkonfigurasi network interface serial

yang berjalan pada serial line.

Yang dimaksud dengan serial interface sebenarnya ialah interface yang mengirimkan datanya

melalui kabel serial menuju interface lawannya. Interface lawannya pun melakukan hal yang

sama melalui kabel yang sama pula. Definisi ini sebenarnya cocok bagi hampir semua

interface komunikasi, termasuk juga ethernet. Namun kata serial interface biasanya dipakai

bagi interface yang terhubung melalui sirkit telepon.

Ada dua jenis standar protokol serial line yang banyak dipakai. Kedua protokol tersebut ialah

SLIP ( Serial Line IP ) dan PPP (Point To Point Protocol)

Memilih Protokol Serial

Page 103: OSI Layer

!

103

SLIP diciptakan terlebih dahulu. SLIP bekerja dengan mengirim datagram melalui serial line

sebagai urutan dari byte. Untuk menandai awal dan akhir data yang dikirim digunakan

karakter khusus.

SLIP ini memiliki kelemahan sebagai berikut :

• SLIP tidak mendukung koreksi kesalahan atau kompresi data.

• SLIP tidak menyediakan link control information yang bisa secara dinamis

mengontrol karakteristik dari hubungan.SLIP harus mangasumsikan karakteristik link

yang tertentu. Akibatnya SLIP hanya bisa digunakan jika kedua host mengetahui

alamat lawannya dan hanya jika IP datagram tersebut ditransmisikan.

Untuk mengatasi kelemahan SLIP ini , dikembangkan PPP sebagai standar internet. PPP

didokumentasikan dalam dua RFC , yaitu RFC 1171 dan RFC 1172. PPP telah memiliki

rutin error correction serta memiliki fasilitas link control Protocol yang dapat mengecek

kualitas dari link serta mampu melakukan kompresi data. Hanya saja untuk implementasinya

, PPP lebih sulit dibandingkan SLIP.

Keuntungan SLIP dibandingkan dengan PPP ialah SLIP dibuat lebih dahulu, sehingga lebih

banyak dipakai dan tersedia untuk lebih banyak hardware. Lagipula banyak sistem yang

menawarkan dial up acces hanya mensupport SLIP.

Sehingga Kesimpulannya, PPP adalah protokol yang lebih baik dibandingkan SLIP, namun

SLIP lebih banyak dipakai karena pengimplementasiannya yang mudah.

Mengkonfigurasi Interface SLIP

Berbeda dengan mengkonfigrasi ethernet , yang menggunakan ifconfig, untuk

mengkonfigurasi SLIP dapat digunakan dua macam perintah yaitu sliplogin dan

slattach.

Slattach

Perintah Slattach memiliki bentuk sebagai berikut

Page 104: OSI Layer

104

Slattach [-a] [-c] [-e exit-command] [-f] [-h] [-l] [-n] [-r redial-command] [-s baudrate] [-u unit-command] [-z] tty_name

Berikut ini adalah beberapa operand yang penting yang dipakai oleh perintah slattach

-a Digunakan untuk meng autoenable VJ header compression. Jika host pada ujung

yang lain mampu melakukan VJ header compression maka option ini akan digunakan

-c Digunakan untuk meng-enable VJ header compression. hal ini hanya bisa digunakan

jika host di ujung yang lain mampu melakukan VJ header compression

-e exit-command

Digunakan untuk menspesifikasikan perintah yang akan dieksekusi shell (sh -c exit-

command) sebelum slattach keluar

-h Mematikan cts/rts style flow control pada port slip. Secara default, tak ada flow

contrrol yang dilakukan.

-l Mendisable modem control (CLOCAL) dan mengabaikan carier detect pada

port slip. Secara default , redial-command dieksekusi saat carrier drop dan slattach

akan membatalkan redial jika tak ada redial-command yang dispesifikasikan.

-n Membuang paket ICMP. Interface slip ini akan mengabaikan paket ICMP untuk

mencegah jalur yang pelan mengalami kejenuhan akibat respons ICMP.

-r redial-command

Menspesifikasikan perintah yang akan dieksekusi dalam shell (sh -c redial-command)

yang akan dieksekusi ketika terjadi putus hubungan

-s baudrate

Menspesifikasikan kecepatan hubungan. Jika tak disebutkan maka kecepatan default

yang dipakai ialah 9600 bps

Page 105: OSI Layer

!

105

ttyname

menspesifikasikan nama dari tty device. Nama ini harus dalam bentuk 'ttyXX'

atau '/dev/ttyXX'

Untuk "melepaskan" interface dapat digunakan perintah ifconfig interface-name down.

Sebelum perintah ini diberikan proses slattach harus dimatikan terlebih dahulu dengan "kill -

INT"

Untuk mengeset slattach agar melakukan redial bila jalur putus , dapat digunakan -r redial-

cmd' option untuk menspesifikasikan script atau executable yang akan melakukan koneksi

ke slip server. Slip bisa berisi perintah untuk melakukan redial terhadap server dan log in ,

dsb

Untuk melakukan rekonfigurasi terhadap network interface , kalau kalau jika slip unit

numbernya berubah , digunakan perintah "-u unit-cmd" untuk menspesifikasikan script atau

executable yang akan dieksekusi (sh -c unit-cmd old new). Dimana old dan new adalah slip

unit number sebelum dan sesudah rekoneksi jalur. Unit number bisa berubah jika kita

melakukan lebih dari satu diskoneksi pada waktu yang sama.

Untuk mematikan perintah slattach gunakan perintah "kill -INT" (SIGINT). Perintah ini

menyebabkan slattach menutup tty dan keluar.

Untuk melakukan redial , dapat digunakan perintah "kill -HUP" (SIGHUP). Hal ini akan

menyebabkan slattach mengira jalur terputus dan akhirnya ia mengeksekusi "sh -c

redial-command" untuk melakukan penyambungan ulang ke server slip. Contoh

penggunaan slip slattach -s 4800 /dev/tty01 slattach -c -s 38400 /dev/sio01 slattach -r 'kermit -y dial.script >kermit.log 2>&1'

Sebelum mengeksekusi perintah slattach terlebih dahulu interface slip tersebut harus

dikonfigurasi. Konfigurasinya dilakukan dengan menggunakan perintah ifconfig. Setelah ini

Page 106: OSI Layer

106

secara otomatis slattach yang pertama kali langsung terhubung ke sl0, slattach yang

berikutnya terhubung ke sl1, dan seterusnya.

Perhatikan perintah slattach diatas. Perintah tersebut langsung mengidentifikasikan serial

device (/dev/tty01 pada contoh diatas), bukan sl0 atau sl1 misalnya.Namun setelah

perintah slattach ini dijalankan secara otomatis tty01 akan diasosiasikan sebagai sl0 atau sl1 .

Sliplogin

Sliplogin digunakan untuk mengubah terminal line pada standard input menjadi serial

line untuk berhubungan dengan remote host. Untuk itu program mencari file

/etc/sliphome/slip.hosts untuk mencocokkan loginname( yang defaultnya

merupakan nama login yang sekarang) Jika entry yang match ditemukan maka line ini

dikonfigurasikan untuk slip. Setelah itu shell script dijalankan untuk menginisialisasi interface

slip dengan IP address local dan IP address remote host yang sesuai, netmasknya , dan

sebagainya.

Biasanya script inisialisasi yang dipakai ialah /etc/sliphome/slip.login. Namun,

jika sebuah host memerlukan inisialisasi yang khusus , file yang dieksekusi ialah

/etc/sliphome/slip.login.loginname. Script ini dijalankan dengan parameter sebagai berikut.

slipunit Nomor unit yang diberikan pada interface slip untuk line ini. Misalkan 0

untuk sl0

speed Kecepatan dari line ini

args Argument dari /etc/sliphome/slip.hosts ,dengan urutan dimulai dengan

login name

Hanya super user yang dapat “ memasang “ network interface. Interface yang telah

“terpasang” ini secaraotomatis akan “terlepas” jika sisi di sebelah sana menutup teleponnya

atau proses sliplogin ini terhenti. Jika kernel slip modul telah terkonfigurasi untuk itu ,

seluruh rute yang melalui interface akan lenyap juga pada saat yang sama. Jika ada site lain

yang hendak dihubungi, file /etc/sliphome/slip.logout atau

/etc/sliphome/sliplogout.loginname akan dieksekusi, jika ada.

Page 107: OSI Layer

!

107

Format dari file /etc/sliphome/slip.host adalah sebagai berikut : Komentar (baris

yang diawali dengan “#”) dan baris kosong diabaikan. Baris lainnya harus dimulai dengan

loginname namun argument selanjutnya bisa berupa apa saja yng cocok untuk dieksekusi atas

dasar loginname tersebut. Argumen dipisahkan dengan spasi. Biasanya bentuknya adalah

sebagai berikut

loginname local-address remote-address netmask opt-args

Dimana local address dan remote address adalah IP address dari kedua host ini, netmask

ialah IP netmask yang sesuai . Argumen ini langsung ilewatkan ke ifconfig. Opt-args ialah

argumen opsional yang digunakan untuk mengkonfigurasi line ini.

Mengkonfigurasi PPP

Network interface PPP dikonfigurasi dengan menggunakan perintah ppp. format perintah

ppp ini mirip dengan perintah slattach yang digunakan untuk slip. Misalkan kita hendak

mengkonfigurasi serial device /dev/tty01 dengan local address 167.260.66.15 dan remote

address 167.205.66.20 maka perintah nya adalah sebagai berikut: # ppp 167.205.66.15 :167.205.66.20 /dev/tty01 &

Kemampuan PPP untuk mempelajari IP address dari remote system memberi PPP

fleksibilitas untuk menangani jalur dial up tanpa menggunakan file konfigurasi yang statis

(seperti hosts.slip pada slip)

Jika pada ppp command line tidak kita berikan IP address dari remote hostnya , ppp akan

mengenali IP address remote host tersebut. Misalkan pada command line ppp kita berikan

perintah # ppp 167.205.9.10: /dev/ttya&

ppp hanya memberikan pada local address pada interface. remote address bisa dipelajari oleh

ppp ketika ia terhubung kesana. Ketika connection terbentuk., dilakukan pertukaran

informasi link control antara kedua host. Informasi inilah yang mengatakan pada local host

IP address dari host yang ada di ujung lainnya.

Page 108: OSI Layer

108

Melakukan Konfigurasi Pada Start-

up File

Setelah kita mengetahui tentang konfigurasi interface ini , alangkah baiknya jika konfigurasi

ini kita letakkan pada startup file. Pada BSD Unix , biasanya perintah ifconfig diletakkan

pada file /etc/rc.boot atau di /etc/rc.local. Pada Unix System V perintah

ifconfig biasanya diletakkan di /etc/tcp atau di /etc/init.d/tcp. Berikut ini kami

berikan contoh Script netstart, yang digunakan untuk melakukan konfigurasi interface pada

host maingtw.paume.itb.ac.id. Script ini dipanggil dari dari script lain yaitu

/etc/rc. Contoh script netstart. #!/bin/sh - # # $Id: netstart,v 1.17 1994/11/07 04:02:25 phk Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # last mod. by Arman Hazairin, May 29th 1995 defaultrouter=NO routedflags="-s" timedflags=NO xntpdflags="NO" ntpdate="NO" rwhod=NO sendmail_flags="-bd -q30m" amdflags="NO" nfs_client=NO nfs_server=NO name_server=YES savecore=NO #kerberos_server=YES #gated=YES if [ -f /etc/defaultdomain ] ; then domainname `cat /etc/defaultdomain` fi # my-name is my symbolic name # my-netmask is specified in /etc/networks # if [ -z "`hostname -s`" ] ; then hostname=`cat /etc/myname` hostname $hostname fi for i in /etc/hostname.* do ifn=`expr $i : '/etc/hostname\.\(.*\)'` if [ -e /etc/hostname.$ifn ]; then if [ -e /etc/start_if.$ifn ]; then

Page 109: OSI Layer

!

109

sh /etc/start_if.$ifn $ifn fi ifconfig $ifn `cat /etc/hostname.$ifn` ifconfig $ifn fi done # set the address for the loopback interface ifconfig lo0 inet localhost # set interface for multicasts to default interface # this needs to happen before router discovery route add 224.0.0.0 -netmask 0xf0000000 -interface $hostname # attach SLIP to tty00 (PUSRENBANGTI via WorlBlazer Modem) slattach -s 38400 -h tty00 # attach SLIP to tty01 (SmartCom Elektrindo via Satelite) slattach -s 19200 -l tty01 if [ -n "$defaultrouter" -a "x$defaultrouter" != "xNO" ] ; then route add default $defaultrouter elif [ -f /etc/defaultrouter ] ; then route add default `cat /etc/defaultrouter` fi # use loopback, not the wire # route add $hostname localhost #add default routing to PUSRENBANGTI route add default 167.205.136.15 #add default routing to SmartCom Elektrindo #route add 167.205.124.1 167.205.22.33

Page 110: OSI Layer

110

5

Konfigurasi Routing

Pada bab ini akan dibahas tentang:

• Subnetting

• Topologi Network dan Routing

• Konfigurasi Routing yang Sering digunakan

• Membentuk Routing Table

• Routing Information Protocol

• Penggunaan routed / gated

Page 111: OSI Layer

!

111

Pendahuluan

Masalah routing merupakan konsekuensi dari internetworking. Semakin kompleks topologi

dan konfigurasi dari network, semakin penting teknik dan sistem routing yang andal untuk

diimplementasikan dalam network. Pada bagian awal, akan diterangkan masalah subnetting,

yaitu pembuatan subnetwork dari suatu kelas network, sebagai dasar untuk memahami

konsep nomor network dan nomor host. Diterangkan juga teknik masking untuk

membentuk subnetwork dan menentukan nomor network. Beberapa contoh konfigurasi

routing yang sering digunakan akan dibahas untuk membantu pemahaman. Menyusul

kemudian routing table, yang harus dimiliki oleh semua host TCP/IP agar dapat

mengirimkan datagram ke tujuan. Routing table minimum harus dimiliki oleh setiap host.

Untuk gateway/router, routing table akan bertambah panjang dan kompleks, sesuai dengan

konfigurasi network yang terhubung dengannya. Dengan perkembangan network yang

sangat cepat, routing statis akan menyulitkan pekerjaan administrator network untuk

mengupdate routing table sesuai perubahan / penambahan pada netowrk. Untuk itu

digunakan protokol routing, yang berfungsi untuk mengupdate routing table secara dinamis

tanpa campur tangan operator. Subnetting dan nomor network sangat berperan di sini. Pada

bagian akhir akan diterangkan penggunaan routed / gated sebagai implementasi dari salah

satu protokol routing, Routing Information Protocol (RIP), pada network.

Subnetting

Untuk beberapa alasan yang menyangkut efisiensi IP Address, mengatasi masalah topologi

network dan organisasi, network administrator biasanya melakukan subnetting. Esensi dari

subnetting adalah “memindahkan” garis pemisah antara bagian network dan bagian host dari

suatu IP Address. Beberapa bit dari bagian host dialokasikan menjadi bit tambahan pada

bagian network. Address satu network menurut struktur baku dipecah menjadi beberapa

subnetwork. Cara ini menciptakan sejumlah network tambahan berupa subentwork, tetapi

mengurangi jumlah maksimum host yang ada dalam tiap subnetwork tersebut.

Page 112: OSI Layer

112

Subnetting juga dilakukan untuk mengatasi perbedaan hardware dan media fisik yang

digunakan dalam suatu network. Router IP dapat mengintegrasikan berbagai network dengan

media fisik yang berbeda hanya jika setiap network memiliki address network yang unik.

Selain itu, dengan subnetting, seorang administrator network dapat mendelegasikan

pengaturan host address seluruh departemen dari suatu perusahaan besar kepada setiap

departemen, untuk memudahkannya dalam mengatur keseluruhan network.

Suatu subnet didefinisikan dengan mengimplementasikan masking bit (subnet mask) kepada

IP Address. Struktur subnet mask sama dengan struktur IP Address, yakni terdiri dari 32 bit

yang dibagi atas 4 segmen. Bit-bit dari IP Address yang “ditutupi” (dimasking) oleh bit-bit

subnet mask yang aktif dan bersesuaian akan diinterpretasikan sebagai bit-bit network. Bit 1

pada subnet mask berarti mengaktifkan masking ( on ), sedangkan bit 0 tidak aktif ( off ).

Sebagai contoh kita ambil satu IP Address kelas A dengan nomor 44.132.1.20. Dengan

aturan standar, nomor network IP Address ini adalah 44 dan nomor host adalah 132.1.20.

Network tersebut dapat menampung maksimum lebih dari 16 juta host yang terhubung

langsung. Misalkan pada address tersebut di atas akan diimplementasikan subnetmask

255.255.0.0.( Dalam bilangan hexa = FF.FF.0.0 atau dalam biner =

11111111.11111111.00000000.00000000 ). Perhatikan bahwa pada 16 bit pertama dari

subnet mask tersebut berharga 1, sedangkan 16 bit berikutnya 0. Dengan demikian, 16 bit

pertama dari suatu IP Address yang dikenakan subnet mask tersebut akan dianggap sebagai

bit-bit network. Nomor network akan berubah menjadi 44.132 dan nomor host menjadi

1.20. Kapasitas maksimum host yang langsung terhubung pada network menjadi sekitar 65

ribu host. Satu network kelas A yang dapat menampung lebih dari 16 juta host telah dapat

diubah menjadi 256 subnetwork yang setara dengan satu network kelas B (44.0.0.0, 44.1.0.0,

dst sampai 44.255.0.0) yang masing-masing dapat menampung sekitar 65 ribu host.

Pada kenyataannya, network 44 ( kelas A ) dialokasikan untuk network TCP/IP radio amatir

se-dunia. Oleh organisasi radio amatir, network 44 dipecah menjadi 256 subnetwork seperti

di atas, yakni 44.0, 44.1, 44.2 dst. Dalam hal ini, organisasi radio amatir Indonesia mendapat

subnetwork 44.132. Subnetwork yang setara dengan satu network kelas B ini dapat dipecah

pula menjadi beberapa subnetwork yang lebih kecil seperti 44.132.0, 44.132.1, 44.132.2 dst (

masing-masing setara dengan satu network kelas C ). Dalam hal ini, masing-masing

subnetwork berkapasitas 256 host ( biasanya 254 host, karena ada dua IP Address yang

Page 113: OSI Layer

!

113

dialokasikan untuk keperluan khusus sebagai nomor network dan broadcast address dan

tidak boleh dipakai untuk host ). Masing-masing subnetwork dapat dialokasikan untuk

tingkat yang lebih rendah seperti propinsi, kota dsb. Untuk itu, diimplementasikan

subnetmask 24 bit ( 255.255.255.0 atau FF.FF.FF.0 ).

Dari uraian di atas, terlihat fungsi subnetting untuk pendelegasian suatu kelas network.

Masing-masing subnetwork dapat mengurus dirinya sendiri tanpa harus diatur dari pusat.

Selain itu, berbagai network dengan media fisik yang berlainan dapat diintegrasikan dengan

cara setiap network yang berbeda media fisiknya itu mendapat nomor network yang berbeda

(hasil dari subnetting). Pada uraian selanjutnya akan terlihat bahwa nomor network yang

didapat akibat subnetting akan digunakan sebagai informasi routing pada routing table setiap

gateway maupun host pada network tersebut.

Subnetting dilakukan pada saat konfigurasi interface. Seperti yang telah disinggung

sebelumnya, penerapan subnet mask pada IP Address akan mendefinisikan 2 buah address

baru, yakni network address dan broadcast address. Network address didefinisikan dengan

menset seluruh bit host berharga 0, sedangkan broadcast address dengan menset bit host

berharga 1. Perhatikan IP Address kelas B sebagai berikut :

167 205 20 1

nnnnnnnn nnnnnnnn hhhhhhhh hhhhhhhh

Bit-bit Network Bit-bit Host

Gambar 5-1. Struktur IP Address kelas B

Jika seluruh bit host diset berharga 0 (minimum), didapat IP address 167.205.0.0. Ini adalah

nomor network. Jika seluruh bit host diset berharga 1 (maksimum) didapat IP Address

167.205.255.255. Ini adalah broadcast address untuk network tersebut. Nomor network dan

broadcast address di atas merupakan harga yang standar bagi network kelas B. Tanpa ada

penerapan subnet mask dan informasi routing lainnya, host yang memiliki interface dengan

IP Address di atas akan berasumsi bahwa seluruh host dengan IP address yang berharga di

Page 114: OSI Layer

114

antara 167.205.0.0 dan 167.205.255.255 terhubung langsung ke network tersebut dan dapat

dihubungi secara langsung tanpa melalui gateway.

Jika network kelas B tersebut akan dipecah menjadi 256 subnetwork setara kelas C, dilakukan

masking dengan subnetmask 24 bit (255.255.255.0 atau FF.FF.FF.0). Dengan demikian,

struktur IP Address menjadi sebagai berikut :

167 205 20 1

nnnnnnnn nnnnnnnn nnnnnnnn hhhhhhhh

Bit-bit Network Bit-bit Host

Gambar 5-2 Struktur IP Address kelas B dengan masking 24 bit

Jika seluruh bit host diset berharga 0, didapat IP address 167.205.20.0. Ini adalah nomor

network. Jika seluruh bit host diset berharga 1, didapat IP Address 167.205.20.255. Ini adalah

broadcast address untuk network tersebut. Terlihat bahwa nomor network dan broadcast

address yang standar telah berubah. Alamat subnetwork dikenali dengan nomor

subnetworknya.

Network address adalah alamat network yang berguna pada informasi routing. Suatu host

tidak perlu mengetahui IP address seluruh host yang ada pada network yang lain. Informasi

yang dibutuhkannya hanyalah address dari network yang akan dihubungi serta gateway untuk

mencapai network tersebut. Broadcast address adalah alamat yang disepakati pada suatu

network untuk mengirimkan informasi yang akan diberikan kepada seluruh host (

dibroadcast ) pada network tersebut. Penggunaan broadcast address akan dibahas pada

bagian routing. Ilustrasi mengenai subnetting, network address dan broadcast address dapat

dilihat pada gambar 5-3 . Dari gambar tersebut dapat disimpulkan bagaimana nomor

network standard dari suatu IP Address diubah menjadi nomor subnet / subnet address

melalui subnetting.

IP Address Network Address Standard

Subnet Mask Interpretasi Broadcast Address

44.132.1.20 44.0.0.0 255.255.0.0 Host 1.20 pada 44.132.255.255

Page 115: OSI Layer

!

115

( kelas A ) ( 16 bit ) subnet 44.132.0.0 81.150.2.3 81.0.0.0

( kelas A ) 255.255.255.0 ( 24 bit )

Host 3 pada subnet 81.50.2.0

81.50.2.255

167.205.2.100 167.205.0.0 ( kelas B )

255.255.255.128 ( 25 bit )

Host 100 pada subnet 167.205.2.0

167.205.2.127

167.205.2. 130 167.205.0.0 ( kelas B )

255.255.255.224 ( 27 bit )

Host 2 pada subnet 167.205.2.128

167.205.2.159

Gambar 5-3 Beberapa IP Address dengan masking yang berbeda

Subnetting hanya berlaku pada network lokal. Bagi network di luar network lokal, nomor

network yang dikenali tetap nomor network standard menurut kelas IP Address.

Topologi Network dan Routing

Masalah dan strategi routing pada jaringan TCP/IP sangat bergantung kepada pengetahuan

mengenai topologi network, subnetting dan keberadaan gateway pada network lokal.

Gambar 5-4. menunjukkan suatu TCP/IP Network sebagai bahan pembahasan dalam

konsep routing ini.

Ethernet

167.205.22.0167.205.22.18

167.205.22.3167.205.22.6

167.205.22.5

167.205.20.11

167.205.20.3 167.205.20.5

44.132.1.0

44.132.1.20

Token Ring167.205.20.0

44.132.1.5Gateway 1 Gateway 2

167.205.22.20

To Internet

Gateway 3

Gambar 5-4 Contoh TCP/IP Network

Page 116: OSI Layer

116

Ada 3 buah network TCP/IP yang diintegrasikan, yaitu Token Ring, Ethernet dan Paket

Radio. Bagi network Token Ring, satu-satunya Gateway untuk berhubungan keluar adalah

host 167.205.20.11 yang juga terhubung ke network Ethernet dengan IP Address

167.205.22.5. Karena itu, tiap paket yang akan dikirimkan kepada host diluar network harus

dikirimkan terlebih dahulu ke gateway ini. Pada gateway, paket yang masuk akan diteliti

kemana IP Address tujuan paket tersebut. Jika paket tersebut untuk salah satu host dalam

network Ethernet, maka paket akan langsung dikirimkan ke host tersebut. Namun jika IP

Addess tujuan adalah untuk host pada network paket radio, ataupun pada network yang ada

dibelakang network paket radio, maka paket akan dikirim kepada gateway yang terhubung

dengan network tersebut. Keputusan untuk menentukan kemana paket yang diterima akan

dikirimkan kembali, diambil dari data pada tabel routing tiap-tiap host TCP/IP, terutama

pada gateway. Mari kita lihat lebih dalam dengan meninjau jalannya paket antara 2 host yang

berhubungan melalui TCP/IP Network pada gambar 5-4. Misalkan host 167.205.20.3 pada

network Token Ring ingin berbicara dengan host 44.132.1.5 pada network paket radio.

Perhatikan gambar 5-7.

Ethernet

Application

Transport

Internet

Data Link

Internet

Data Link

Internet

Data Link

Application

Transport

Internet

Data Link

Token Ring Paket Radio

Gateway 1

Host44.132.1.5

Host167.205.20.3

Gateway 2

167.205.22.18167.205.22.5167.205.20.11 44.132.1.20

167.205.20.0 167.205.22.0 44.132.1.0

Gambar 5-5 Routing paket ditinjau dari arsitektur jaringan komputer TCP/IP

Hubungan end-to-end adalah antara host 167.205.20.3 dengan host 44.132.1.5. Pada gateway

1, paket diteliti pada lapisan network / internet layer. Jika tujuan paket memang benar

untuknya, paket diteruskan ke lapisan di atasnya. Tetapi jika bukan, paket akan dikirim ke

host tujuannya atau ke gateway lain. Pada gateway 2, paket kembali diteliti dan diteruskan

Page 117: OSI Layer

!

117

pada interface yang tersambung ke network paket radio. Pada host tujuan, paket diteliti dan

diteruskan ke lapisan di atasnya untuk diproses lebih lanjut.

Sering terdapat gateway/router yang memiliki banyak interface (tersambung langsung ke

banyak network). Dalam hal ini, gateway harus bisa menentukan ke interface yang mana

paket harus dilalukan agar dapat mencapai tujuannya. Hal ini ditentukan dari tabel routing

yang akan dibahas pada bagian berikut.

Konfigurasi Routing yang Sering

Digunakan

Agar dapat meneruskan paket ke tujuan yang benar, setiap sistem TCP/IP melakukan

routing. Namun demikian, tidak seluruh sistem TCP/IP menjalankan protokol routing.

Dengan demikian, harus dibedakan antara routing dan protokol routing. Protokol routing

adalah suatu program yang mempertukarkan informasi yang digunakan untuk membentuk

tabel routing, sedangkan routing itu sendiri adalah aksi pengiriman datagram-datagram

berdasarkan informasi yang diambil dari routing table.

Konfigurasi routing pada suatu network tidak selalu harus menggunakan protokol routing.

Hal ini bergantung pada konfigurasi network yang ada, misalnya pada jumlah gateway yang

tersambung dengan network. Jika hanya ada satu gateway yang menghubungkan suatu

network dengan dunia luar, sistem administrator akan memilih untuk membuat tabel routing

secara manual. Pada network TCP/IP yang sama sekali tidak mempunyai akses ke network

TCP/IP lainnya, tabel routing yang ada tidak perlu ditambah, baik secara manual maupun

melalui protokol routing. Cukup menggunakan minimal routing. Network lokal seperti ini

cukup sering dijumpai, dimana hubungan keluar network hanya melalui UUCP.

Jadi, ada tiga konfigurasi routing yang paling umum digunakan pada TCP/IP network, yaitu :

Page 118: OSI Layer

118

Minimal routing

Suatu network yang terisolasi dari network lain hanya memelukan minimal routing, yakni

informasi nomor network yang langsung terhubung dengannya. Tabel routing minimal ini

dibentuk pada saat interface dikonfigurasi (dengan perintah ifconfig).

Static routing

Suatu network yang hanya memiliki sejumlah gateway yang terbatas ke network lainnya

biasanya dikonfigurasi dengan static routing. Tabel routing statis dibangun secara manual

oleh sistem administrator berdasarkan konfigurasi network yang ada. Perintah route

digunakan untuk ini. Jika suatu saat konfigurasi network berubah, misalkan jumlah gateway

bertambah ataupun gateway berganti, sistem administrator harus mengadakan perubahan

pada tabel routing untuk mengikuti perubahan tersebut. Static routing cocok digunakan pada

suatu network bilamana hanya terdapat satu rute untuk mencapai suatu network tujuan.

Dynamic routing

Suatu network yang memiliki lebih dari satu rute untuk mencapai tujuan yang sama sebaiknya

menggunakan dynamic routing. Tabel routing dinamis dibentuk berdasarkan informasi yang

dipertukarkan oleh protokol routing. Protokol routing didesain untuk secara dinamis

menentukan routing berdasarkan kondisi terakhir. Tabel routing senantiasa di-update

berdasarkan informasi dari setiap gateway, sehingga bila suatu rute putus akibat gateway yang

bersangkutan tidak bekerja, rute ke network tujuan melalui gateway tersebut akan

dipindahkan melalui gateway lain. Protokol routing juga didesain untuk menentukan rute

terbaik untuk mencapai tujuan, jika terdapat lebih dari satu rute.

Singkatnya, minimal routing secara otomatis terbentuk pada saat konfigurasi interface, static

routing dibentuk scara manual oleh sistem administrator dan dynamic routing dibentuk oleh

protokol routing. Bagaimanapun cara / proses lahirnya suatu routing, semuanya bertujuan

membentuk tabel routing dan menentukan jalan yang harus ditempuh datagram untuk

mencapai tujuan.

Page 119: OSI Layer

!

119

Ada banyak protokol routing yang digunakan pada TCP/IP network. Semua protokol

routing pada dasarnya memiliki fungsi yang sama, yakni menentukan rute terbaik untuk

setiap tujuan dan mendistribusikan informasi routing kepada sistem-sistem dalam network.

Perbedaan antara protokol routing yang satu dengan yang lain terutama terletak pada cara

kerjanya, bagaimana ia bisa memutuskan rute terbaik dari beberapa rute. Secara keseluruhan,

protokol routing dapat kita kelompokkan menjada dua kenis yaitu Interior Routing Protocol dan

Exterior Routing Protokol.

Interior Routing Protocol digunakan sebagai protokol routing di dalam suatu autonomous

system. Pada TCP/IP routing, istilah autonomous system memiliki arti yang formal, yakni suatu

kumpulan network dan gateway yang memiliki mekanisme internal sendiri dalam

mengumpulkan informasi routing dan memberikannya kepada yang lain. Ada beberapa

protokol routing yang termasuk dalam kelompok ini, seperti Routing Information Protocol (

RIP ), Hello, Shortest Path First (SPF) dan Open Shortest Path First (OSPF). Masing-masing

memiliki kelebihan dan kekurangan. Kita hanya akan membahas RIP karena protokol

routing inilah yang paling banyak digunakan pada TCP/IP network,

Exterior Routing Protocol digunakan sebagai protokol routing untuk mempertukarkan

informasi routing antar autonomous system. Informasi routing yang dikirimkan antar autonomous

system disebut reachability information, yakni informasi mengenai network apa saja yang dapat

dicapai melalui suatu autonomous system. Beberapa Exterior Routing Protocol yang cukup umum

digunakan adalah Exterior Gateway Protocol ( EGP ) dan Border Gateway Protocol ( BGP

). Namun demikian, kebanyakan sistem tidak menjalankan Exterior Routing Protocol karena

tidak terlalu dibutuhkan. Ia hanya diperlukan jika ada keharusan antar autonomous system untuk

mempertukarkan informasi routing. Dalam hal ini, Exterior Protocol yang dipakai antar dua

autonomous system harus sama.

Membentuk Routing Table

Setiap host pada TCP/IP Network harus memiliki tabel routing agar dapat menentukan jalan

untuk mencapai tujuan dari paket-paket yang akan dikirimkannya. Tabel routing secara

otomatis akan terbentuk pada saat interface dikonfigurasi. Tabel routing pada tahap ini

adalah tabel routing minimal. Perhatikan gambar 5-4. Untuk melihat tabel routing pada host

Page 120: OSI Layer

120

dengan IP Address 167.205.20.3 ( Token Ring ) dalam bentuk numerik, dipakai perintah

berikut :

$ netstat -nr

Routing tables

Destination Gateway Flags Refcnt Use Interface

127.0.0.1 127.0.0.1 UH 1 105 lo0

167.205.20.0 167.205.20.3 U 35 3075 ed0

Bagian pertama dari tabel routing merupakan rute loopback ke localhost. Setiap host

TCP/IP akan memiliki rute ini. Bagian kedua merupakan rute ke network 167.205.20.0

melalui interface ed0. Network ini adalah network lokal. Address 167.205.20.3 bukanlah

remote gateway, melainkan address yang telah di-assign untuuk interface ed0. Perhatikan

bahwa nomor network 167.205.20.0 muncul akibat parameter mask pada waktu konfigurasi

interface dengan subnetmask 255.255.255.0. Tanpa adanya subnetmask, network address

yang muncul adalah 167.205.0.0 ( Standar kelas B ).

Flag U ( up ) menandakan interface telah siap dipakai. Flag H ( host ) menandakan hanya

satu host yang dapat dicapai melalui rute ini. Berarti, rute ini hanya menuju ke host tertentu (

bedakan dengan rute ke suatu network yang mungkin memiliki puluhan / ratusan host ).

Kebanyakan rute yang ada pada routing table menuju ke network, bukan ke host tertentu.

Hal ini untuk memperkecil ukuran routing table. Suatu instansi mungkin hanya memiliki satu

network, tetapi network tersebut mungkin terdiri dari ratusan host. Mudah dimengerti bahwa

jika seluruh IP Address dari host yang ada pada network tujuan dimasukkan dalam routing

table, ukurannya akan membengkak dengan cepat. Cukup nomor networknya saja yang

dicantumkan karena telah mewakili nomor seluruh host pada network tersebut.

Untuk akses ke network yang lain, network token ring di atas hanya memiliki satu gateway,

yakni yang ber-IP Address 167.205.20.11. Untuk itu, seluruh host yang ada pada network

token ring ( kecuali gateway ) dapat menambahkan default routing sbb :

# route -n add default 167.205.20.11 1

add net default: gateway 167.205.20.11

Page 121: OSI Layer

!

121

Dengan perintah ini, rute ke seluruh network ( selain network lokal ) akan ditempuh melalui

gateway 1 (167.205.20.11). Option -n tidak harus digunakan. Option tersebut hanya untuk

menampilkan address secara numerik untuk menghindari permintaan ke Name Server yang

belum tentu bekerja. Metric 1 dipakai sebagai metric terkecil untuk rute melalui gateway

ekstenal, untuk memberikan prioritas tertinggi pada rute ini. Jika kita periksa kembali routing

table setelah memasukkan default routing ini, akan muncul sbb : $ netstat -nr

Routing tables

Destination Gateway Flags Refcnt Use Interface

127.0.0.1 127.0.0.1 UH 1 105 lo0

default 167.205.20.11 UG 0 0 ed0

167.205.20.0 167.205.20.3 U 35 3075 ed0

Pada routing table di atas terlihat adanya entri default routing. Flag G menandakan rute

default ini melalui eksternal gateway ( host 167.205.20.11 ).

Pada network Ethernet ( 167.205.22.0 ) ada 3 buah gateway. Untuk host-host pada network

ini, routing table dapat dibentuk secara statis. Misalkan kita berada pada host 167.205.22.3.

Network 167.205.20.0 dapat dicapai melalui gateway 1 (167.205.22.5), network 44.132.1.0

melalui gateway 2 (167.205.22.18) dan akses ke network yang lebih besar, misalkan ke

Internet Provider, dicapai melalui gateway 3 (167.205.22.20). Untuk itu, setelah routing

minimal dapat ditambahkan perintah routing sbb :

# route -n add 167.205.20.0 167.205.22.5 1

add net 167.205.20.0: gateway 167.205.22.5

# route -n add 44.132.1.0 167.205.22.18 1

add net 44.132.1.0: gateway 167.205.22.18

# route -n add default 167.205.22.20 1

add net default: gateway 167.205.22.20

Routing table akan bertambah menjadi :

$ netstat -nr

Routing tables

Page 122: OSI Layer

122

Destination Gateway Flags Refcnt Use Interface

127.0.0.1 127.0.0.1 UH 1 105 lo0

167.205.22.0 167.205.22.3 U 28 9808 ed0

default 167.205.22.20 UG 0 0 ed0

167.205.20.0 167.205.22.5 UG 0 0 ed0

44.132.1.0 167.205.22.18 UG 0 0 ed0

Agar routing table terbentuk pada saat start up komputer, perlu di set routing statis dengan

beberapa modifikasi sbb :

• Tambahkan static routing yang diinginkan sesuai konfigurasi network

• Non-aktifkan semua perintah dari file startup yang menjalankan protokol routing.

Untuk host di atas, edit file rc.local untuk menambahkan statement route sbb: route -n add default 167.205.22.20 1 > /dev/console

route -n add 167.205.20.0 167.205.22.5 1 > /dev/console

route -n add 44.132.1.0 167.205.22.18 1 > /dev/console

Startup file untuk setiap sistem mungkin saja berbeda, tetapi pada dasarnya memiliki

prosedur yang sama. Bacalah selalu dokumentasi dari sistem anda.

Routing Information Protocol

Routing Information Protocol ( RIP ) merupakan protokol routing yang paling umum

digunakan pada TCP/IP network. Penggunaan RIP yang luas ini dimungkinkan karena RIP

merupakan bagian dari software UNIX yang ikut didistribusikan pada kebanyakan sistem.

RIP sangat cocok digunakan sebagai protokol routing pada suatu autonomous system.

Untuk menentukan rute terbaik, RIP memilih rute yang memiliki “hop count” atau metric

yang terendah. Metric menunjukkan jumlah gateway yang harus dilalui oleh datagram untuk

mencapai tujuannya. Bagi RIP, rute terbaik adalah rute yang melalui sesedikit mungkin

gateway. Semakin sedikit gateway yang dilalui, semakin pendek jalan yang harus ditempuh.

Hop count terbesar yang dapat diterima RIP adalah 15. Jika metric suatu rute lebih besar dari

15, RIP menganggap bahwa tujuan tak dapat dicapai dan rute tersebut diabaikan. Ini

merupakan salah satu kelemahan RIP. Karena itu, RIP tidak cocok digunakan dalam

Page 123: OSI Layer

!

123

autonomous system yang sangat besar, dimana rute mungkin melewati lebih dari 15 gateway.

Satu lagi yang dapat dianggap sebagai kelemahan adalah, RIP tidak mempertimbangkan delay

transmisi maupun kongesti dari network yang dilaluinya. Sangat mungkin terjadi, rute dengan

metric lebih kecil ternyata tidak reliable dibandingkan rute lain dengan metric lebih besar

akibat adanya kongesti dan delay pada rute tersebut. Untuk itu, beberapa protokol routing

yang lain telah dikembangkan guna mengatasi hal ini.

Pada kebanyakan sistem UNIX, RIP dijalankan oleh routing daemon atau routed. Routing

daemon secara dinamis akan membangun sebuah routing table berdasarkan informasi update

yang diterimanya. Ketika dijalankan, routed mengirimkan permintaan update routing dan

mendengarkan respon permintaannya. Permintaan ini dikirimkan ke alamat broadcast dari

network. Karena seluruh host yang tersambung pada network menset alamat broadcast yang

sama, seluruh host akan mendengarkan permintaan tersebut. Jika host yang dikonfigurasi

untuk mensupply informasi RIP mendengarkan permintaan ini, ia akan memberi respon

dengan mengirimkan paket berisi update routing berdasarkan routing table yang dimilikinya.

Paket tersebut akan berisi address-address tujuan beserta metric routingnya masing-masing.

Informasi ini juga dikeluarkan secara periodik ( tidak hanya jika ada permintaan saja ) untuk

menjaga keakuratan dari routing.

Ketika update RIP telah diterima, routed akan menyeleksi informasi yang didapatnya. Jika

ada rute ke suatu address yang belum ia miliki, rute tersebut akan ditambahkan langsung ke

routing table-nya dan metric routingnya bertambah satu. Jika ia menerima rute ke address

yang telah ada pada routing table lokal, metric rute tersebut akan dibandingkan dengan

metric rute di lokal. Metric yang terendah akan diambil sebagai rute ke address tersebut pada

routing table.

Selain itu, RIP juga dapat menghapus rute dalam routing table lokal. Ada dua jenis rute yang

akan dihapus oleh RIP. Pertama, jika rute yang diterimanya dari suatu gateway memiliki

metric lebih dari 15, rute tersebut akan dihapus. Kedua, RIP akan menghapus rute melalui

gateway yang dianggapnya telah “mati”. Semua rute melalui suatu gateway akan dihapus jika

tidak ada update routing yang diterima dari gateway tersebut dalam periode waktu tertentu.

Biasanya, update routing akan dikeluarkan setiap 30 detik dan jika dalam 180 detik tidak ada

update yang diterima dari suatu gateway, rute melalui gateway tersebut akan dihapus dari

routing table.

Page 124: OSI Layer

124

Penggunaan routed / gated

Ada dua cara yang paling banyak digunakan pada TCP/IP network untuk

mengimplementasikan protokol routing, yaitu dengan routed ataupun gated. Perbedaan

keduanya terletak pada protokol routing yang dijalankannya. routed hanya menjalankan

RIP, sedangkan gated dapat menjalankan beberapa protokol routing seperti RIP, Hello,

BGP maupun EGP. Implementasi setiap protokol routing yang ada pada gated kompatibel

dengan protokol routing yang diimplementasikan oleh program yang lain. Sebagai contoh,

RIP yang dijalankan oleh routed sama dengan RIP yang ada pada gated. Untuk

menjalankan RIP menggunakan routing daemon ( routed ), cukup ketikkan perintah sbb :

# routed

Pada umumnya perintah routed dijalankan tanpa option apapun. Namun demikian dapat

juga ditambahlan option -q. Option -q ini bertujuan agar routed tidak membroadcast

routing tablenya ke host lain, tetapi hanya mendengar rute yang dibroadcast oleh sistem lain

dan mengupdate routing tablenya terus menerus. Host yang tidak berfungsi sebagai gateway

sebaiknya menggunakan option -q.

Sebagaimana pada static routing, routed pada umumnya dijalankan pada saat boot up.

Untuk itu, tambahkan baris berikut pada startup file dari sistem. # Use /etc/routed on most systems,

# /user/etc/in.routed on Sun systems

#

if [ -f /etc/routed ]; then

routed; echo -n ' routed' > /dev/console

fi

Routing table akan terbentuk setelah host mendengar update routing dari host lain. Namun

demikian, jika dalam kurun waktu tertentu update routing belum didengar, tidak ada

informasi routing yang dapat digunakan sebagai kondisi awal. Untuk itu, kita dapat membuat

rute awal yang akan dimasukkan ke dalam routing table. Rute ini dapat kita set menjadi statis

atau dinamis, tergantung kondisi network. Informasi ini diambil dari file /etc/gateways. File ini

Page 125: OSI Layer

!

125

berguna sebagai tambahan untuk informasi routing. Sebagai contoh, file /etc/gateways akan

berisi entri-entri berikut :

net 0.0.0.0 gateway 167.205.22.20 metric 1 active

net 167.205.20.0 gateway 167.205.22.5 metric 1 passive

net 44.132.1.0 gateway 167.205.22.18 metric 1 passive

Setiap baris dari file /etc/gateways berawalan net atau host, diikuti oleh address network

atau host tujuan. net 0.0.0.0 berarti default routing. Selanjutnya gateway diikuti

address gateway. Kemudian metric diikuti harga numeriknya. Kata terakhir adalah active

atau passive. Jika passive, gateway yang dinyatakan pada enrtri tersebut tidak

membutuhkan update routing. Hal ini untuk menghindari RIP menghapus rute tersebut jika

tidak ada update dari gateway. Efeknya sama dengan static routing. Sebaliknya, active

berarti RIP dapat meng-update rute tersebut dan dapat pula menghapusnya jika time out telah

lewat. Sebaiknya gunakan parameter active untuk default route. Hal ini untuk

mengantisipasi apabila default gateway tidak bekerja. Selain itu, jika kita memiliki beberapa

gateway untuk mencapai tujuan yang sama, sebaiknya juga menggunakan parameter active

untuk menjaga keandalan routing.

Di samping routed, routing daemon yang banyak dipakai adalah gated. Seperti yang telah

dijelaskan, gated mengkombinasi beberapa protokol routing dalam satu paket. Kita bebas

memilih apakah akan menjalankan salah satu protokol routing saja atau semuanya. Masing-

masing protokol routing dalam gated kompatibel dengan protokol routing yang

diimplementasikan oleh program spesifik lainnya. Selain itu, ada beberapa alasan lagi untuk

menggunakan gated, antara lain :

• Pada sistem yang menjalankan lebih dari satu protokol routing, gated dapat

mengkombinasikan informasi routing dari setiap protokol dan memilih salah satu

yang terbaik.

• Rute yang didapat dari interior routing protocol dapat pula didistribusikan melalui

exterior routing protocol.

• Konfigurasi routing menjadi lebih sederhana, karena semua protokol dikonfigurasi

dari satu file saja ( /etc/gated.conf ).

Page 126: OSI Layer

126

Contoh file /etc/gated.conf untuk salah satu host pada network token ring ( gambar 5-4.) yang

hanya memiliki satu interface dapat dilihat sebagai berikut : # don’t time-out the network interface

#

interface 167.205.20.3 passive ;

#

# enable rip

#

rip yes ;

#

Kata passive, seperti sebelumnya, menyatakan static routing, agar tidak ada time out untuk

rute ini. Secara normal, jika gated mendapatkan bahwa suatu interface sedang down, semua

rute melewati interface tersebut akan dihapus. Hal ini untuk mencegah ada gateway yang

memberikan update routing melalui interface yang sedang down. Tetapi, karena hanya ada

satu interface pada host, lebih baik membuatnya menjadi statis. Secara default, RIP akan

dijalankan pada setiap interface. Jadi, sebenarnya tidak perlu dicantumkan rip yes pada

file ini. Namun demikian, hal ini baik dilakukan untuk pendokumentasian dari konfigurasi

yang kita gunakan. Setiap perintah dalam file ini diakhiri dengan tanda titik-koma ( ; ).

Satu lagi contoh file /etc/gated.conf untuk konfigurasi gateway dalam suatu autonomous system dapat dilihat di bawah. Contoh untuk ini

masih kita ambil dari gambar 3-4. Gateway yang akan dikonfigurasi

adalah gateway 1, yang menghubungakn network token ring dengan

network ethernet.

# enable rip

#

rip yes {

broadcast;

preference 100;

interface 167.205.22.5 ripin ripout;

interface 167.205.20.11 noripin ripout;

};

Page 127: OSI Layer

!

127

Pada perintah rip yes di atas terdapat beberapa pilihan yang digunakan untuk

mengkonfigurasi routing: broadcast, preference, dan interface. Pilihan

broadcast menunjukkan bahwa paket RIP akan di broadcast tanpa memperhatikan jumlah

interface yang ada. Pilihan ini berguna jika meneruskan routing statik atau route yang

dipelajari dari protokol lain ke dalam RIP. Dalam beberapa kasus, penggunaan broadcast

jika hanya ada satu network interface dapat menyebabkan paket data berjalan di network

yang sama dua kali. Lawan dari broadcast adalah nobroadcast, yang menunjukkan

bahwa paket RIP tidak akan dibroadcast ke interface yang ada, walaupun jumlahnya lebih

dari satu. Secara default, RIP mengasumsikan nobroadcast jika hanya terdapat satu

interface dan broadcast jika terdapat lebih dari satu interface.

Pilihan preference menentukan preferensi atas route yang dipelajari dari route. Harga

default pilihan ini adalah 100.

Pilihan interface mengontrol berbagai attribut pengiriman RIP pada interface yang

ditentukan. Nama interface sendiri dapat berupa nama interface yang didefinisikan oleh

kernel UNIX (ep0, misalnya) atau nomor IP yang diberikan kepada interface tersebut.

Praktik yang paling baik adalah dengan menggunakan nomor IP interface karena kernel

UNIX dapat memberikan beberapa nomor IP pada sebuah interface. Untuk setiap interface

harus diberikan parameter-parameter yang diperlukan untuk RIP. Parameter-parameter

tersebut antara lain:

• noripin

Mengatur agar paket RIP yang diterima melalui interface yang dimaksud tidak akan

dihiraukan

• ripin

Ini adalah default bagi protokol RIP

• noripout

Mengatur agar tidak ada paket RIP yang dikeluarkan melalui interface yang

dimaksud.

• ripout

Page 128: OSI Layer

128

Ini adalah default yaitu mengirim paket RIP pada semua interface broadcast dan non-

broadcast jika dalam mode broadcast.

Dalam contoh di atas, digunakan mode broadcast karena bertindak sebagai router

walaupun hal ini sebenarnya tidak perlu. Dengan demikian route statik dapat dipropagasikan.

Preference diisi dengan harga 100 walaupun tidak perlu. Kedua hal ini hanya untuk

dokumentasi dalam menentukan konfigurasi routing.

Interface 167.205.22.5 dengan menggunakan perintah ripin dan ripout. Dengan kedua

perintah ini, interface dapat menerima route yang dipelajari dari router lain pada network

167.205.22.0 dan juga menginformasikan route network yang terhubung dengannya kepada

router-router lain di network 167.205.22.0.

Interface 167.205.20.11 menggunakan perintah noripin dan ripout. Pada network ini

tidak terdapat network lain yang terhubung dengannya kecuali network 167.205.22.5

sehingga interface ini tidak perlu mempelajari route dari interface 167.205.20.11 yang berarti

parameter yang diberikan adalah noripin. Interface ini perlu memberi tahu workstation di

networknya agar mengarahkan route-nya ke router ini. Jadi, parameter yang diberikan pada

interface ini adalah noripin.

Page 129: OSI Layer

!

129

6

Domain Name System (DNS) Berkeley Internet Name Domain (BIND)

Pada bagian ini akan dibahas penggunaan DNS, cara

melakukan setup DNS server, zone file, resolver, serta

cara menggunakan utiliti nslookup.

Page 130: OSI Layer

130

Pendahuluan

DNS (Domain Name System) pada dasarnya adalah suatu basis-data informasi host di

internet. Informasi yang disediakan termasuk semua data yang diperlukan untuk mengakses

host di internet atau hanya bersifat “pemberitahuan” (advertising). Fungsi esensial DNS, yang

melatar-belakangi pembuatannya, adalah fungsi pemetaan antara alamat Internet (IP

address)—berupa bilangan yang panjangnya 32 bit—dengan sebuah nama yang lebih

manusiawi dan mudah untuk diingat. DNS bertanggung-jawab dalam menyediakan informasi

host ke seluruh Internet serta dalam penyedian “alat” untuk menerima informasi yang

dibutuhkan secara remote. Dengan DNS, kita juga diberikan hak untuk mendistribusikan

manajemen / pengaturan informasi host ini kepada site / organisasi lain. Tiap site hanya

berkewajiban menjaga informasi yang didelegasikan kepadanya —disebut sebagai domain—

tetap up-to-date pada name-server masing-masing. Name-server ini akan berinteraksi dan

menjamin data pada domain kita dikenali oleh name-server yang lain di jaringan. Sifat basis-

data yang terdistribusi mengisyaratkan bahwa sistem, juga harus mempunyai kemampuan

mencari informasi yang diinginkan dari sejumlah lokasi yang mungkin. Dan dengan DNS,

tiap name-server telah dibekali “kecerdasan” untuk menavigasi seluruh basis-data dan

menemukan informasi untuk sembarang domain yang diinginkan.

DNS pertama kali diusulkan Paul Mockapetris dengan RFC (Request For Comment) 882

dan 883 pada tahun 1984, yang kemudian disempurnakan oleh RFC 1034 dan 1035.

Spesifikasi ini merupakan arsitektur yang didisain dan dipersiapkan untuk menggantikan

sistem basis-data terpusat sebelumnya. Migrasi protokol ARPANET waktu itu ke TCP/IP

telah menyebabkan beberapa masalah serius dalam penggunaan sistem basis-data terpusat

melalui HOSTS.TXT. File ini berisi semua informasi yang diperlukan untuk mengakses host

di jaringan, pada intinya berisi korespondensi antara name dan address untuk setiap host

yang terhubung ke ARPANET. HOSTS.TXT dikelola oleh NIC (Network Information

Center—khususnya SRI Stanford Reseach Institute), sehingga setiap perubahan yang

dilakukan pada jaringan lokal harus dilaporkan oleh administrator ke NIC melalui email,

begitu pula sebaliknya, untuk menjaga informasi dalam HOSTS.TXT tetap up-to-date, file ini

Page 131: OSI Layer

!

131

harus secara periodik di-download dari NIC. Mekanisme seperti ini menimbulkan beberapa

konsekuensi yang makin terasa dengan membesarnya jaringan:

• Beban trafik dan prosessor

• Duplikasi hostname (name collisions)

• Kesukaran menjaga konsistensi aturan pengisian data

Karena itu, sistem yang baru (DNS) dipersiapkan untuk menyelesaikan masalah ini.

Sebagaimana /etc/hosts yang merupakan adaptasi HOSTS.TXT untuk sistem Unix, BIND

(Berkeley Internet Name Domain) adalah implementasi populer DNS yang dibuat oleh

Kevin Dunlap untuk sistem operasi Unix Berkeley 4.3BSD. Hingga saat ini, BIND telah di-

port ke berbagai sistem operasi Unix lain, dan telah menjadi bagian standard yang ditawarkan

oleh vendor-vendor Unix. Walaupun demikian, BIND bukan yang pertama, karena

sebelumnya Paul Mockapetris terlebih dulu menulis JEEVES yang menjadi implementasi

pertama spesifikasi DNS. Dalam pembahasan selanjutnya, kita akan menggunakan

terminologi BIND.

Gambar 1

Domain Name Space

“ ”

TLD=FLD

SLD

root

id

ITB

ac

domain ac.id.

node ac.id.edu

MIT purdue

ucsc

domain edu.

domain MIT.edu.

media

nodemedia.MIT.edu.

ca

A

ab bc

domain cazone ca

Page 132: OSI Layer

132

DNS merupakan sistem basis-data terdistribusi dengan mekanisme client-server. Sisi server

dikenal sebagai name-server dan menyediakan informasi bagi segmen basis-data tertentu

yang dapat diakses oleh client—disebut resolver. Resolver biasanya berupa rutin-rutin library

yang dikompilasi bersama-sama dengan aplikasi di jaringan. Rutin ini pada intinya bertugas

untuk membuat dan mengirimkan query melaui jaringan ke name-server yang sesuai.

Struktur basis-data DNS hampir menyerupai filesystem Unix, dan dimodelkan dengan

struktur pohon terbalik. Bagian/ node teratas adalah root-domain (null label “ “, tapi sering

kali ditulis didalam teks sebagai titik “.”). Tiap node cabang (subtree root-node)

merepresentasikan domain, dan dalam name-space diberi label yang menunjukan posisi

relatif terhadap domain induknya. Implementasi BIND membolehkan hingga 127 level node

secara vertikal. Tiap node/domain juga mempunyai domain-name yang mengidentifikasi

posisi absolut domain tersebut dalam name-space. Dalam DNS, suatu full domain-name

(Fully-Qualified Domain Name—FQDN) merupakan urutan label dari domain ybs menuju root-node dan dipisahkan dengan trailing dot. Misalnya untuk node ITB, full domain-name-

nya adalah ITB.ac.id.

Tiap node dalam name-space selalui diikuti trailing-dot kecuali root. Tapi karena root berlabel “ “(null), mengindikasikan bahwa trailing dot terakhir (misalnya id. untuk contoh diatas) adalah pemisah andara TLD (dijelaskan kemudian) dengan root.

Node-node yang mempunyai induk yang sama (sibling node) harus mempunyai label yang

berbeda. Masing masing node dapat mempunyai label hingga 63 karakter (tanpa titik). Diluar

ketentuan ini, node dengan label sama masih dikategorikan valid (tidak menyebabkan name-

collision). Node yang diturunkan langsung dari root, disebut sebagai TLD (Top Level Domain)

atau FLD (First Level Domain). Turunan dari TLD disebut sebagai SLD (Second Level Domain)

dst. Mekanisme DNS membolehkan masing-masing domain di-administrasi oleh lembaga/

organisasi berbeda. Setiap organisasi juga dapat membagi domain kedalam sejumlah

subdomain yang didelegasikan kepada institusi dibawahnya. Misalnya walaupun domain edu

berada dibawah pengaturan NIC, sebagian besar domain dibawahnya didelegasikan pada

lembaga lain: MIT untuk domain, MIT.edu, UC Berkeley untuk berkeley.edu. dsb.

Bagi kita yang sudah terbiasa dengan Unix, mekanisme ini mirip dengan mounting filesystem

melalui NFS. Sebuah domain, dapat “berisi” host-host atau domain yang lain (subdomain).

Masing-masing host di jaringan mempunyai sebuah domain-name, yang menunjuk pada

No t e

Page 133: OSI Layer

!

133

informasi menyangkut host ybs, seperti IP address, informasi mail-routing, dll. Sebuah host juga

dibolehkan mempunyai satu atau lebih alias domain-name, yang menunjuk dari suatu

domain-name (alias) ke domain-name yang lain (official / canonical domain-name).

Suatu domain adalah sebuah cabang (subtree) dalam domain name-space. Dan suatu

subdomain adalah cabang dari cabang diatasnya, begitu seterusnya. Host adalah domain-

name yang menunjuk pada informasi host individual. Sehingga, suatu domain akan terdiri

dari semua host yang mempunyai domain-name didalam domain tersebut. Host-host ini

dihubungkan secara logik, sering secara geografis atau afiliasi organisasional, dan tidak perlu

secara network, address atau tipe perangkat keras. Kita boleh saja, misalnya, mempunyai

sepuluh host berbeda yang masing-masing terhubung ke network yang berbeda dan mungkin

berada pada wilayah geografis yang berbeda pula, tapi semuanya mempunyai domain yang

sama. Domain pada ujung inverted-tree merepresentasikan host individual. Domain-name pada

kondisi tersebut, bisa menunjuk kepada network-address, informasi perangkat keras, atau

informasi mail-routing. Domain yang berada didalam inverted-tree, bisa merupakan name suatu

host dan bisa pula menunjuk pada informasi struktural domain dibawahnya (subdomain)

sekaligus. Misalnya, MIT.edu. adalah domain-name untuk MIT juga bisa sekaligus nama

sebuah host yang memforward mail antara MIT dan Internet. Tipe informasi—struktural

atau host individual—yang diberikan sebagai respons dari query tergantung dari konteks

penggunaan domain-name tersebut (aplikasi). Misalnya jika menggunakan aplikasi telnet

tentu akan direspons dengan informasi host, sebaliknya jika pencarian dimaksudkan untuk

informasi children-node, maka respons yang didapatkan adalah informasi struktural.

Top Level Domain dan Pendelegasian

Pada awalnya TLD untuk domain name-space Internet dibagi berdasarkan afiliasi

organisasional, dan telah ditetapkan tujuh jenis TLD: com untuk organisasi komersial

(hp.com, sun.com, ibm.com), edu untuk institusi pendidikan (berkeley.edu,

purdue.edu, mit.edu), gov untuk lembaga pemerintahan (nasa.gov, nsf.gov),

mil untuk badan kemiliteran (army.mil, navi.mil), net untuk network-provider

Page 134: OSI Layer

134

(nsf.net), org untuk institusi non komersial (ieee.org, eff.org), dan int untuk

organisasi internasional (nato.int). Hingga saat ini sistem pembagian organisasional

seperti ini masih berlaku di Amerika.

Gambar 2

TLD, Domain Interior dan Eksterior (leaves)

Dengan semakin banyaknya negara-negara yang terhubung ke Internet, kemudian diputuskan

untuk menggunakan standard pembagian geografis yang ditetapkan dalam ISO 3166.

Berdasarkan konvensi tersebut, TLD dialokasikan sebagai pengenal geografis (negara) dan

terdiri dari dua huruf unik. Misalnya id untuk Indonesia, uk untuk Inggris, au untuk

Australia dll. Pada umumnya pembagian TLD secara geografis kemudian diikuti dengan

pembagian berdasarkan afiliasi organisasional bagi level domain dibawahnya. Ada yang

mengadopsi sistem pembagian di Amerika, seperti edu.au atau com.au, ada juga yang

mengikuti sistem pembagian yang dipelopori Inggris, seperti co.uk (corporation), atau

ac.uk (academic). Berbeda untuk TLD us (Amerika), karena sebelumnya telah mempunyai

sistem pembagian organisasional, maka pembagian level domain dibawahnya juga dilakukan

berdasarkan geografis, misalnya untuk SLD digunakan dua huruf pengenal/ kode

kelimapuluh negara bagian. Kemudian subdomain dari domain tiap negara bagian ini adalah

pengenal kota, dst.

“ ”

idedu

MIT purdue

ucsc

rtfm

cartfm.MIT.edu.

Page 135: OSI Layer

!

135

Konvensi pembagian nama domain di Indonesia ditetapkan sampai level kedua (SLD) dan

mengadopsi sistem Inggris:

Untuk level tiga dan seterusnya, diserahkan sepenuhnya kepada pengelola jaringan yang

bersangkutan. Misalnya Universitas Brawijaya, dapat menggunakan domain

unbraw.ac.id, unibraw.ac.id, brawijaya.ac.id dsb. Yang perlu

diperhatikan adalah konsistensi dari pengambilan konvensi penamaan tersebut. Perubahan

identitas yang dilakukan memerlukan koordinasi dan updating di seluruh jaringan. Bila pada

saatnya mesin-mesin di jaringan yang dikelola bertambah besar, dapat dilakukan perluasan

domain (domain expanding), atau pendelegasian subdomain ke institusi dibawah domain

tersebut. Misalnya subdomain paume.itb.ac.id untuk mengakomodasi semua mesin

di lingkungan Pusat Antar Universitas ITB, ee.itb.ac.id digunakan untuk

mengidentifikasi mesin-mesin dilingkungan Jurusan Teknik Elektro ITB, dll. Pendelegasian

berarti bahwa institusi yang ditunjuk bertanggung-jawab melakukan tugas administrasi semua

data dalam subdomain yang didelegasikan. Institusi tersebut berhak mengubah data,

menambahkan atau membagi subdomainnya kedalam subdomain yang lebih kecil dan

mendelegasikannya. Dalam hal ini, domain induk hanya berisi pointer ke sumber data

subdomain, sehingga dapat mengalihkan (refferal) query ke subdomain yang bersangkutan.

Yang patut diingat adalah bahwa tidak semua organisasi mendelegasikan semua domain

dibawah otoritasnya. Sebuah domain biasanya mempunyai beberapa subdomain dan juga

host-host yang tidak terkategorikan kedalam subdomain.

go.id subdomain lembaga pemerintah co.id subdomain untuk lembaga komersial ac.id institusi akademik net.id network provider or.id LSM dan lembaga non komersial

Page 136: OSI Layer

136

Name-Server

Program yang menyimpan informasi domain name space disebut sebagai name-server. Pada

umumnya name-server mempunyai informasi lengkap untuk suatu bagian dari domain name-

space yang disebut zone, sehingga dikatakan name-server ini authoritative untuk zone tersebut.

Sebuah name-server bisa authoritative untuk multi (lebih dari satu) zone. Suatu zone terdiri

dari beberapa domain-name berikut data dalam domain ybs, kecuali untuk domain-name dan

data yang didelegasikan kepada institusi lain. Tapi jika suatu domain dibagi kedalam

subdomain-subdomain yang tidak (belum) didelegasikan, maka domain-name dan data dalam

subdomain tersebut termasuk dalam zone.

Pendelegasian suatu subdomain, berarti pelimpahan tanggung-jawab sebagian domain kita

kepada sebuah institusi, yang berarti melimpahkan otoritas (authority) bagi subdomain

tersebut ke sejumlah name-server lain. Sehingga data pada domain induk hanya berisi pointer

kepada sejumlah name-server yang authoritative untuk subdomain ini, dan bukan berisi data

/ informasi dari domain yang didelegasikan. Dengan demikian, bila suatu saat terdapat query

terhadap data-data subdomain tersebut, server dapat menjawab dengan sejumlah pointer/

daftar name-server yang dapat dan “lebih patut” ditanyai.

Spesifikasi DNS mendefinisikan duat tipe name-server, primary server (primary master) dan

secondary server (secondary master). Primary server membaca data untuk zone dibawah

otoritasnya dari file didalam host dimana ia dijalankan. Secondary server memperoleh data

zone dari name-server lain yang authoritative untuk zone ybs. Proses pembacaan/ updating

data dari primary server ke secondary server disebut sebagai zone transfer (name-Xfer) dan

berlangsung secara periodik atau ketika secondary server pertama kali dijalankan sehingga

data pada secondary senantiasa tetap up-to-date sesuai perubahan yang dilakukan dalam

primary server. Dengan mekanisme ini, kita bisa mempunyai lebih dari satu name-server

untuk zone tertentu dengan cara yang mudah. Selain untuk rendundansi, hal ini juga berarti

load-balancing dan reliability karena query-query dapat mencari/ dialihkan pada name-server

terdekat. Sebelumnya telah disinggung bahwa sebuah name-server bisa authoritative bagi

beberapa zone. Demikian pula suatu name-server bisa menjadi primary server bagi suatu

Page 137: OSI Layer

!

137

zone sekaligus menjadi secondary bagi zone yang lain. Primary server membaca data untuk

zone otoritasnya dari dalam file yang disebut zone file, atau db file (database file). Secondary juga

dapat dikonfigurasi untuk melakukan back-up zone yang diperoleh dari primary kedalam db

file. Sedemikian jika secondary-server pertama kali dijalankan ia akan membaca data pada file

backup ini, kemudian baru memeriksa kevalidannya. File data ini berisi RR (resource record)

yang mendeskripsikan zone yang bersangkutan serta menandai setiap pendelegasian

subdomain.

Resolver & Resolution

Bagian client DNS, seperti telah disinggung sebelumnya, disebut resolver. Program (aplikasi)

yang memerlukan informasi domain name-space, harus menggunakan resolver untuk

menjamin mekanisme itu dapat berlangsung. Resolver pada intinya berfungsi untuk:

• Meng-query name server

• Menginterpretasikan respons (bisa berupa RR atau pesan kesalahan)

• Memberikan informasi pada program (aplikasi) yang me-request-nya.

Didalam BIND, resolver hanya berupa rutin library yang dikompilasi bersama-sama dengan

program seperti telnet atau ftp. Sehingga bukan benar-benar proses yang terpisah.

Proses query, mengirimkannya ke jaringan, menunggu jawaban, atau mengirim ulang query

bila melewati batas time-out, dilakukan oleh resolver didalam tiap aplikasi ini. Jenis resolver

seperti ini dikenal sebagi stub resolver. Beberapa implementasi DNS lain mempunyai resolver

yang lebih “cerdas” seperti resolver yang dapat membuat cache informasi yang telah

diterimannya dari name-server.

Salah satu nilai lebih DNS, adalah bahwa name-server tidak hanya dapat memberikan data/

informasi untuk zone authoritativenya, tapi juga dapat melakukan pencarian dalam domain

name-space untuk menemukan data yang diluar otoritasnya. Proses ini disebut name-resolution.

Hal ini dimungkinkan karena struktur inverted-tree name-space. Apa yang perlu dilakukan oleh

name-server non-authoritative adalah menghubungi/ melakukan query kepada root-name-

Page 138: OSI Layer

138

server. Yang pada gilirannya akan menelusuri pointer-pointer terdekat untuk menemukan

jawaban query tersebut.

Gambar 3

Resolusi students.ITB.ac.id. di Internet

Resolution dapat dilakukan dengan dua cara, recursion (recursive resolution) dan iteration

(iterative resolution). Recursion adalah proses resolusi yang dilakukan oleh name-server jika ia

menerima recursive-query, sedangkan iteration adalah proses resolusi yang dilakukan oleh

name-server jika ia menerima iterative-query. Jika suatu name-server menerima recursive-query,

maka ia “dipaksa” untuk memberikan data yang diminta, atau dengan pesan kesalahan bahwa

data yang diminta tidak ada atau domain-name yang dispesifikasikan tidak ada. Dalam hal ini

name-server tidak dapat secara langsung mengalihkan querier kepada name-server yang lain,

karena sifat query yang rekursif. Sebaliknya jika suatu server menerima iterative-query, maka

reso

lver

que

ry

resolver

nameserver

“.”name-server

id name-server

ac.id name-server

ITB.ac.idname-server

“.”

id au sg

ac net

ui ITB

answ

er

query addressstudents.ITB.ac.id.

referral ke NS id

query addressstudents.ITB.ac.id.

referral ke NSac. id

referral ke NSITB.ac. id

addressstudents.ITB.ac. id

query addressstudents.ITB.ac.id.

Page 139: OSI Layer

!

139

ia akan memberikan jawaban/ penunjuk ke name-server lain yang lebih “dekat” untuk

domain-name yang dicari.

Salah satu mekanisme yang mendukung proses resolution, dan juga merupakan salah satu

fasilitas yang disediakan dalam spesifikasi DNS, adalah reverse- mapping dari IP address ke

domain-name. Reverse-mapping juga digunakan untuk menghasilkan keluaran yang lebih

manusiawi, mudah dibaca dan diinterpretasikan, misalnya untuk pembacaan log-file.

Gambar 4

Reverse Mapping

Waktu yang diperlukan bagi proses resolusi, relatif lebih lama dibandingkan penggunaan

host-table tradisional. Untuk mempercepat proses ini, dilakukan satu mekanisme yang

dikenal sebagai caching. Ketika suatu name-server melakukan proses resolution, dari referal ke

referal, hingga menemukan jawaban untuk query yang diminta, ia “mempelajari” korelasi

antara alamat-alamat server yang pernah dihubunginya yang kemudian disimpan untuk

digunakan kembali jika diperlukan (dengan batas waktu tertentu—Time To Live TTl). Dengan

mengingat data tersebut, name-server dapat mempercepat proses untuk query berurut, baik

arpa

....

.......

...........

....

.... ...........

.......

“ “

in-addr

205

.......0

0

167255

255

022

255

2550 123

students.ITB.ac.id.(167.205.22.123)

Page 140: OSI Layer

140

pada domain-name yang sama atau domain-name yang berkorelasi dengan sebelumnya.

Misalnya name-server kita pernah melakukan resolusi address eecs.berkeley.edu,

dan dalam proses tersebut name-server meng-cache address name-server

eecs.berkeley.edu dan berkeley edu. Sekarang jika kita meng-query untuk

baobab.cs.berkeley.edu, name-server kita akan mem-bypass query ke root name-

server, karena ia telah mengenali bahwa berkeley.edu yang telah ia ketahui berkorelasi

penuh dengan data yang diminta. Sehingga name-server akan memulai resolution dengan

query pada name-server berkeley.edu. Dengan demikian waktu resolution telah

direduksi dan aplikasi bisa berjalan lebih cepat.

Konfigurasi DNS

Untuk menjalankan DNS server pada suatu host, diperlukan file-file berikut:

• /etc/named (dibaca: name-d—executable file)

• /etc/named.boot (file-script)

• zone file

Konfigurasi boot-script DNS server

Pada saat named dijalankan, ia akan membaca sebuah file konfigurasi (file script) yang berisi

tentang informasi domain yang ditangani oleh DNS server tersebut. File script default yang

digunakan adalah /etc/named.boot.Field-field yang digunakan dalam file

named.boot ini adalah:

directory mendefinisikan directory tempat penyimpanan zone file primary mendeklarasikan name-server sebagai primary domain tertentu secondary mendeklarasikan name-server sebagai secondary domain tertentu cache mendefinisikan cache file forwarders mendefinisikan daftar server untuk meneruskan query client slave memfungsikan name-server hanya sebagai forwarder

Page 141: OSI Layer

!

141

Konfigurasi caching-only DNS server

Menjalankan DNS server yang tidak mempunyai otoritas terhadap domain tertentu, tapi

harnya berperan sebagai name-server lokal untuk meneruskan query client, disebut sebagai

caching-only name server—hanya melakukan proses resolution. Normalnya, setiap query yang

datang dari client akan diteruskan ke name-server root-domain yang dapat diakses oleh

name-server tersebut. Daftar server untuk root domain disimpan dalam suatu file: Perlu

diingat bahwa setiap name-server harus merupakan primary server bagi loopback domain.

Boot script untuk name-server dengan konfigurasi minimal adalah:

;

; Caching only DNS server

;

directory /etc/named.data

primary 0.0.127.IN-ADDR.ARPA db.local

cache . db.cache

; end of named.boot

Keterangan:

• Komentar diawali dengan karakter “;”

• Dengan perintah directory /etc/named.data, berarti direktori

/etc/named.data digunakan untuk menyimpan zone file. Direktori ini harus

ada sebelumnya dan seluruh zone file disimpan dalam direktori tersebut

• Dengan perintah primary 0.0.127.IN-ADDR.ARPA db.local, berarti

bahwa DNS server merupakan primary bagi loopback domain. Zone file untuk

loopback domain adalah /etc/named.data/ db.local. Zone file dapat

diberi nama sesuai dengan keinginan administrator. Yang penting nama tersebut

mewakili zone tertentu

• Baris berikutnya, cache . db.cache, berarti bahwa file

/etc/named.data/db.cache digunakan untuk menyimpan informasi cache

hasil resolution yang masih valid

Page 142: OSI Layer

142

Konfigurasi Primary dan Secondary server

Definisi dan penjelasan primary server dan secondary server telah dibahas sebelumnya.

Sebuah DNS server dapat merupakan primary dari beberapa zone serta sekaligus menjadi

secondary bagi beberapa domain yang lain. Berikut ini adalah contoh file konfigurasi untuk

name-server yang merupakan primary dan secondary bersama-sama:

;

; boot file for primary & secondary name-server

;

directory /etc/named.data

primary 0.0.127.IN-ADDR.ARPA db.local

cache . db.cache

; primary domain

primary paume.itb.ac.id db.paume

primary itb.ac.id db.itb

primary co.id db.co.id

; secondary domain

secondary ee.itb.ac.id 167.205.31.132 db.ee.bak

secondary telkom.go.id 167.205.136.6 db.tk.bak

; end of named.boot

Keterangan:

• Tiga baris sebelumnya sama dengan contoh untuk konfigurasi minimal, yaitu

menggunakan direktori /etc/named.data untuk menyimpan zone file,

bertindak sebagai primary bagi loopback domain dengan zone file

/etc/named.data/db.local, dan /etc/named.data/ db.cache

digunakan untuk menyimpan informasi cache.

• Name-server kita, authoritative untuk tiga zone, yaitu untuk paume.itb.ac.id,

itb.ac.id, serta co.id. Zone file untuk masing-masing entri tersebut adalah

/etc/named.data/db.paume /etc/named.data/db.itb, dan

/etc/named.data/db.co.id.

• Baris berikutnya menunjukan bahwa name-server kita juga merupakan server

(secondary) dari domain ee.itb.ac.id, dan telkom.go.id. Primary server

Page 143: OSI Layer

!

143

untuk ee.itb.ac.id adalah mesin dengan IP address 167.205.31.32

sedangkan primary untuk telkom.go.id adalah mesin dengan IP address

167.205.136.6. Zone file yang diperoleh dari proses zone-transfer disimpan

masing-masing dalam db.ee.bak dan db.tk.bak. Database file untuk

secondary dibuat oleh sistem setelah melakukan zone-transfer, dan akan diperbaharui

secara periodik.

Konfigurasi Primary dan Secondary server

untuk Reverse Domain

Dalam perbincangan kita tentang name-server, telah dibahas perlunya fungsi serta bagaimana

proses reverse-mapping. Berikut ini adalah contoh file konfigurasi untuk name-server yang

melakukan tugas demikian.

;

; boot file for primary & secondary name-server(including reverse)

;

directory /etc/named.data

primary 0.0.127.IN-ADDR.ARPA db.local

cache . db.cache

; primary domain

primary paume.itb.ac.id db.paume

primary itb.ac.id db.itb

primary co.id db.co.id

; secondary domain

secondary ee.itb.ac.id 167.205.31.132 db.ee.bak

secondary telkom.go.id 167.205.136.6 db.tk.bak

; primary reverse-domain

primary 21.205.167.IN-ADDR.ARPA db.167.205.21

primary 22.205.167.IN-ADDR.ARPA db.167.205.22

primary 128.205.167.IN-ADDR.ARPA db.167.205.128

; secondary reverse-domain

secondary 1.46.202.IN-ADDR.ARPA 202.46.1.2 db.202.46.1.bak

secondary 2.46.202.IN-ADDR.ARPA 202.46.1.2 db.202.46.2.bak

; end of named.boot

Page 144: OSI Layer

144

Keterangan:

• Name-server kita, authoritative untuk tiga reverse-domain, yaitu untuk

21.205.167.IN-ADDR.ARPA, 22.205.167.IN-ADDR.ARPA serta

128.205.167.IN-ADDR.ARPA. Zone file untuk masing-masing entri tersebut

adalah /etc/named.data/db.167.205.21, /etc/

named.data/db.167.205.22, dan /etc/named.data/

db.167.205.128.

• Baris berikutnya menunjukan bahwa name-server kita juga merupakan server

(secondary) dari domain 1.46.202.IN-ADDR.ARPA, dan 2.46.202.IN-

ADDR.ARPA. Primary server untuk kedua reverse domain adalah mesin dengan IP

address 1202.46.1.2. Zone file yang diperoleh dari proses zone-transfer

disimpan masing-masing dalam db.202.46.1.bak dan db.202.46.2.bak.

Database file untuk secondary dibuat oleh sistem setelah melakukan zone-transfer,

dan akan diperbaharui secara periodik.

Konfigurasi Zone-File

Zone file mengikuti suatu standard penulisan yang mendeskripsikan suatu domain. Standard

resource record yang digunakan adalah sebagai berikut:

Start of Authority (SOA)

Fungsi Mendefinisikan hostname yang merupakan awal dari suatu zone. Untuk

setiap zone hanya mempunyai sebuah SOA. SOA dideklarasikan pada awal

zone file.

Page 145: OSI Layer

!

145

Format [zone] IN SOA origin contact (

serial_number

refresh_number

retry_number

expire_number

minimum_number

)

Komponen SOA record:

zone Mendefinisikan zone yang menjadi otoritas name-server. Bisa langsung

mencantumkan domain name absolut, atau menggunakan karakter “@” bila

zone yang tunjuk sama dengan current-zone pada deklarasi primary dalam boot-

script.

origin Mendeklarasikan hostname yang merupakan primary master untuk domain/

zone sebelumnya. Hostname ditulis secara FQDN (dengan trailing dot),

misalnya ns1.itb.ac.id.

contact Mendeklarasikan email address yang dimodifikasi bagi administrator

(responsible person) yang mengelola domain ybs. Modifikasi yang dimaksud

adalah mengganti karakter at-sing “@” pada standard email address dengan

titik. Misalnya bila email addressnya [email protected]., maka

ditulis postmaster.itb. ac.id.

serial Nomor seri (identifikasi) zone file. Serial number ini harus bertambah setiap

ada perubahan data pada zone file. Serial number juga digunakan oleh

secondary server untuk memeriksa ada-tidaknya perubahan dalam zone file

primary server. Jika dalam pemeriksaan serial number telah bertambah besar

maka, secondary akan melakukan zone-transfer untuk memperbaharui data

yang pernah diperolehnya. Sebaliknya jika tidak ada perubahan, secondary

menganggap bahwa data sebelumnya masih valid, karena tidak menditeksi

adanya perubahan dalam primary server.

refresh Mendeklarasikan interval (dalam detik) yang diperlukan oleh secondary server

untuk melakukan pemeriksaan terhadap perubahan zone file pada primary

Page 146: OSI Layer

146

server. Setiap interval yang telah ditentukan , secondary akan melakukan

pemeriksaan terhadap serial number untuk mengetahui ada tidaknya

perubahan dalam zone file. Interval ini dipilih berdasarkan dinamika

perubahan zone file antar DNS server. Biasanya perubahan zone file hanya

bersifat harian, sehingga sebaiknya selang waktu dipilih 1 hari (24x3600

detik)..

retry Menentukan berapa lama waktu (dalam detik) tunggu secondary server untuk

melakukan pemeriksaan ulang terhadap primary server bila primary server

tidak memberikan respons pada saat refresh. Karena adanya kemungkinan

primary server down, maka sebaiknya diberikan angka retry yang tidak terlalu

singkat, biasanya lebih dari 1 jam (3600 det)..

expire Menentukan berapa lama (dalam detik) zone file dipertahankan pada

secondary server jika secondary ini tidak dapat melakukan zone-refresh.

Setelah interval ini, maka secondary akan menghapus zone file ybs.

Sebaiknya digunakan nilai yang cukup besar (lebih dari 30 hari) dan untuk

link yang kuran reliable (sering down) sebaiknya sekitar 6 bulan atau 1 tahun.

minimum Menentukan nilai default TTL (time to live—dalam detik), yaitu interval waktu

yang diperbolehkan bagi sembarang name-server meng-cache data. Setelah

interval ini terlewati, name-server harus menghapus data-cache dan

mengambil data yang baru dari name-server authoritative..

Contoh : ; domain itb.ac.id.

@ IN SOA maingtw.paume.ITB.ac.id. cnrg.ITB.ac.id. (

1996100202 ;serial

86400 ;refresh every 12 hours

10800 ;retry every 3 hours

6048000 ;expire after 10 week

8640000 ;minimum TTL of 100 day

)

Name-Server (NS)

Page 147: OSI Layer

!

147

Fungsi Merupakan identifikasi authoritative server untuk suatu zone. Authoritative

zerver untuk suatu zone sebaiknya lebih dari satu sebagai tindakan preventif

apabila primary master tidak dapat diakses oleh secondary.

Format [domain] IN NS server

Komponen NS record:

domain adalah domain-name yang di-otorisasi oleh server.

server Hostname kompute ryang merupakan authoritative server untuk domain-name

yang disebutkan sebelumnya. Komponen ini ditulis secara FQDN.

Contoh : ; domain itb.ac.id.

@ IN SOA maingtw.paume.ITB.ac.id. cnrg.ITB.ac.id. (

1996100202 ;serial

86400 ;refresh every 12 hours

10800 ;retry every 3 hours

6048000 ;expire after 10 week

8640000 ;minimum TTL of 100 day

)

IN NS maingtw.paume.ITB.ac.id.

IN NS dns.paume.ITB.ac.id.

IN NS gopher.EE.ITB.ac.id.

Page 148: OSI Layer

148

Address (A)

Fungsi Untuk memetakan hostname ke IP address.

Format

[host] IN A address

Komponen A record:

host nama simbolik yang akan diassosiasikan dengan mesin yang mempunyai address

yang disebutkan setelahnya.

address IP address mesin yang ditulis secara dotted-decimal.

Catatan Suatu host bisa bersifat multi-homing, yaitu terhubung kepada beberapa network

dengan menggunakan lebih dari satu network interface, sehingga record address

host tersebut bisa lebih dari satu.

Contoh : ; domain itb.ac.id.

@ IN SOA maingtw.paume.ITB.ac.id. cnrg.ITB.ac.id. (

1996100202 ;serial

86400 ;refresh every 12 hours

10800 ;retry every 3 hours

6048000 ;expire after 10 week

8640000 ;minimum TTL of 100 day

)

IN NS maingtw.paume.ITB.ac.id.

IN NS dns.paume.ITB.ac.id.

IN NS gopher.EE.ITB.ac.id.

; Address record

ns1 IN A 167.205.22.34

IN A 167.205.23.7

gerbang IN A 167.205.23.1

;

Page 149: OSI Layer

!

149

Mail eXchanger (MX)

Fungsi Digunakan untuk me-redirect mail untuk host ataupun suatu domain ke host

yang berfungsi sebagai mail server. MX record sangat berguna untuk domain

yang tidak menjalankan mail software. Mail yang ditujukan untuk host-host

yang terdapat pada domain ini akan dialihkan ke host yang menjalankan mail

software.

Format

[name] IN MX preference host

Komponen MX record:

name Berupa hostname atau domain tujuan pengiriman mail. Bila tujuan pengiriman

adalah suatu domain pada suatu zone file, maka bagian ini dapat dikosongkan.

preference Menentukan prioritas mail server yang akan digunakan untuk me-redirect mail

ke name. Sebuah host ataupun suatu domain bisa mempunyai beberapa mail

server dan mail server yang digunakan pertama kali adalah mail server dengan

prioritas tertinggi kecuali bila proses menghubungi host tersebut gagal maka

digunakan host dengan prioritas berikutnya.

host Adalah hostname dari mail server yang digunakan untuk me-redirect mail ke

host, ataupun domain yang didefinisikan pada field name.

Contoh : ; domain itb.ac.id.

@ IN SOA maingtw.paume.ITB.ac.id. cnrg.ITB.ac.id. (

1996100202 ;serial

86400 ;refresh every 12 hours

10800 ;retry every 3 hours

6048000 ;expire after 10 week

8640000 ;minimum TTL of 100 day

)

IN NS maingtw.paume.ITB.ac.id.

IN NS dns.paume.ITB.ac.id.

IN NS gopher.EE.ITB.ac.id.

Page 150: OSI Layer

150

IN MX 40 maingtw.paume.itb.ac.id.

; Address record

ns1 IN A 167.205.22.34

IN A 167.205.23.7

IN MX 10 ns1.ITB.ac.id.

gerbang IN A 167.205.23.1

IN MX 10 gerbang.ITB.ac.id.

;

Bila suatu host akan mengirimkan mail ke mesin lain, maka

host tersebut akan mencari nilai preference terendah (prioritas

tertinggi). Apabila host dengan prioritas tertinggi tidak

memberikan respon, maka host tersebut akan berusaha mengirim mail ke server

dengan prioritas kedua. Apabila proses ini masih gagal juga, maka host ybs, akan

mencari semua mail server yang ada pada MX record untuk host tersebut. Apabila

suatu host tidak mempunyai MX record, maka host akan berusaha mengirimkan mail

langsung ke host tujuan. Kondisi tanpa MX record ini sangat beresiko, karena tidak

jarang link terputus atau jaringan sedang down, sehingga mail tersebut mental.

Sebaiknya semua host mempunyai MX record. Karena remote-host akan mencoba

mengirimkan mail langsung ke MX record prioritas tertinggi, maka biasanya MX

record prioritas tertinggi diberikan pada host itu sendiri. Sehingga dapat dihindari

proses pengiriman yang lama dari satu host ke host yang lain. Berikut adalah contoh

MX record bagi suatu host dengan beberapa mail server (mail forwarder): system IN A 167.205.22.98

IN MX 40 mail.bppt.go.id.

IN MX 30 maingtw.paume.itb.ac.id.

IN MX 10 system.paume.itb.ac.id.

Selang pemilihan preference MX record biasanya dibuat kelipatan 10, hanya untuk

mempermudah penyisipan terhadap MX record sebelumnya. MX record juga

digunakan untuk penyederhanaan pengiriman mail. Pengirim dapat mengirimkan

mail kepada user yang ada pada suatu domain tanpa harus mengetahui hostname

tempat user beraada. Misalkan ada user yang akan mengirimkan mail ke PresDir

Intel Corp., maka pengirim tersebut dapat mengirimkan mailyang ditujukan kepada

[email protected]. Apabila pada zone file terdapat MX record untuk domain

intel.com, maka mail tersbut akan dikirimkan ke mail server untuk domain tersebut.

Mail server aka nmendistribusikan mail tersebut ke tujuan sebenarnya.

No t e

Page 151: OSI Layer

!

151

Canonical NAME (CNAME)

Fungsi Mendefinisikan alias name atau nickname untuk suatu host.

Format [nickname] IN CNAME host

Komponen CNAME record:

nickname Adalah alias name untuk host yang tercantum pada host.

host Hostname yang alias name-nya tercantum pada nickname. Hostname harus

ditulis secara FQDN dan tidak dianjurkan berupa alias name (looping).

Host INFOrmation (HINFO)

Fungsi Mendeklarasikan informasi singkat tentang perangkat keras dan sistem

operasi yang digunakan pada suatu hostname.

Format

[host] IN HINFO hardware software

Catatan Tidak dianjurkan, konsekuensi pada aspek security.

Komponen CNAME record:

host Hostname dari mesin yang dimaksud.

hardware Field yang mengidentifikasi perangkat keras yang digunakan host. Biasanya

berisi nama mesin yang digunakan.

software Mengidentifikasi sistem operasi yang digunakan oleh host.

Page 152: OSI Layer

152

Well Known Services (WKS)

Fungsi Memberikan informasi tentang layanan-layanan yang disediakan oleh tiap-tiap

host.

Format

[host] IN WKS address protocol services

Catatan Tidak dianjurkan, konsekuensi pada aspek security.

Komponen WKS record:

host Hostname dari mesin yang dimaksud.

address IP address mesin.

protocol Transport protocol yang digunakan oleh services baik TCP ataupun UDP.

services Daftar service yang digunakan oleh host.

Contoh : ; contoh CNAME, HINFO, WKS record

@ IN SOA dns.paume.ITB.ac.id. cnrg.ITB.ac.id. (

95106271135 ;serial

86400 ;refresh every 12 hours

10800 ;retry every 3 hours

6048000 ;expire after 10 week

8640000 ;minimum TTL of 100 day

)

IN NS dns.paume.ITB.ac.id.

;

system IN A 167.205.22.98

IN HINFO PC-486/DX Novell3.12

dns IN A 167.205.22.120

IN HINFO HP9000/300 HP-UX-7.0

IN WKS TCP telnet smtp ftp

domain IN CNAME dns.paume.ITB.ac.id.

;

Konfigurasi Zone-File untuk Reverse-Domain

Page 153: OSI Layer

!

153

Untuk reverse-domain, digunakan PTR (pointer) record untuk memetakan IP address ke

domain-name, jadi kebalikan dari A (adress) record. Berikut contoh pemakaian PTR record: ; contoh PTR record

@ IN SOA dns.paume.ITB.ac.id. cnrg.ITB.ac.id. (

95106190900 ;serial

86400 ;refresh every 12 hours

10800 ;retry every 3 hours

6048000 ;expire after 10 week

8640000 ;minimum TTL of 100 day

)

IN NS dns.paume.ITB.ac.id.

IN NS maingtw.paume.ITB.ac.id.

IN NS gopher.ee.ITB.ac.id.

;

1 IN PTR maingtw.paume.itb.ac.id.

33 IN PTR maingtw.paume.itb.ac.id.

97 IN PTR travellers.paume.itb.ac.id.

98 IN PTR system.paume.itb.ac.id.

99 IN PTR nmi.paume.itb.ac.id.

100 IN PTR design.paume.itb.ac.id.

101 IN PTR itbgtw.itb.ac.id.

102 IN PTR gw-paume.itb.ac.id.

;

Konfigurasi Cache-File

Cache-file berisi informasi yang berhubungan name-server root-domain yang penting untuk

proses resolution. Berikut contoh file db.cache yang terakhir di-update tanggal 1

September 1995. ;

; contoh db.cache

; named.root 1 Sep 1995

;

. 3600000 IN NS A.ROOT-SERVERS.NET.

. 3600000 IN NS B.ROOT-SERVERS.NET.

. 3600000 IN NS C.ROOT-SERVERS.NET.

. 3600000 IN NS D.ROOT-SERVERS.NET.

. 3600000 IN NS E.ROOT-SERVERS.NET.

Page 154: OSI Layer

154

. 3600000 IN NS F.ROOT-SERVERS.NET.

. 3600000 IN NS G.ROOT-SERVERS.NET.

. 3600000 IN NS H.ROOT-SERVERS.NET.

. 3600000 IN NS I.ROOT-SERVERS.NET.

A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4

B.ROOT-SERVERS.NET. 3600000 IN A 128.9.0.107

C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12

D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90

E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10

F.ROOT-SERVERS.NET. 3600000 IN A 39.12.229.241

G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4

H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53

I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17

Keterangan:

• domain “.” melambangkan root-domain.

• 3600000 berarti TTL untuk masing-masing domain dan masing masing server. Angka

yang besar ini mengindikasikan bahwa record-record ini dipertahankan dalam waktu

yang lama.

Page 155: OSI Layer

!

155

Menjalankan DNS server

Setelah menyiapkan file konfigurasi (/etc/named.boot) dan zone file, maka tahap

selanjutnya adalah menjalankan DNS server tersebut. Implementasi BIND menggunakan

name-server daemon yand disebut named (dibaca name-d). Sintaks untuk menjalankan

daemon tersebut adalah sebagai berikut.

named [-d level] [-p port] [-b bootfile]

dengan:

-d level Digunakan untuk menentukan level penyimpanan informasi log

debugging dalam file /usr/tmp/named.run. Argument dari level

adalah bilangan dari 1 hingga 9. Semakin tinggi level penyimpanan,

maka semakin detil informasi yang disimpan dalam file

/usr/tmp/name.run dan file tersebut akan membesar dalam

waktu singkat

-p port Menentukan port UDP/TCP yang digunakan oleh named. Nilai

defaultnya adalah 53. Bila digunakan port lain ada kemungkinan

aplikasi standard tidak bisa mengakses named.

-b bootfile Menentukan bootscript yang digunakan saat menjalankan named. File

defaultnya adalah /etc/named.boot.

Perintah berikut akan menjalankan named dengan menggunakan nilai default:

#/etc/named

Bila digunakan bootscript selain named.boot (atau jika direktori yang digunakan berbeda), dapat digunakan:

#/etc/named -b bootfile

Konfigurasi Resolver

Page 156: OSI Layer

156

Dalam BIND, resolver biasanya berupa rutin-library yang dikompilasi bersama-sama

program. Rutin ini akan membaca satu file konfigurasi /etc/resolv.conf yang berisi

informasi tentang domain dan DNS server untuk domain tersebut. Berikut adalah contoh file

/etc/resolv.conf: ;

; contoh file /etc/resolv.conf

;

domain ITB.ac.id

server 167.205.22.120

domain paume.ITB.ac.id

server 167.205.22.120

domain ee.ITB.ac.id

server 167.205.31.132

domain telkom.go.id

server 167.205.136.5

domain inkom.lipi.go.id

server 167.205.240.100

;

Keterangan:

• Untuk domain ITB.ac.id DNS servernya adalah mesin dengan IP address

167.205.22.120

• Untuk domain ee.ITB.ac.id DNS servernya adalah mesin dengan IP address

167.205.31.132

• Untuk sebuah domain bisa menggunakan lebih dari satu DNS server.

Utility nslookup

nslookup adalah aplikasi yang dapat digunakan untuk debugging instalasi name-server.

Software ini bagian dari paket BIND. Dengan menggunakan nslookup, user dapat

mengirim query ke berbagai name-server dan meminta informasi yang diinginkan. Sehingga

kita akan dapat mengetahui apakah DNS server yang telah kita pasang, berfungsi dengan

baik atau tidak. nslookup dapat dijalankan dalam dua mode, mode langsung dari

command line atau mode interaktif. Berikut adalah contoh penggunaan secara langsung dari

command line.

Page 157: OSI Layer

!

157

maingtw# nslookup cnrg.itb.ac.id.

Server: maingtw.paume.itb.ac.id

Address: 0.0.0.0

Name: cnrg.itb.ac.id.

Addresses: 167.205.22.117

Keterangan:

Informasi host yang diinginkan adalah host cnrg.itb.ac.id. Hasil query ke

DNS server (maingtw.paume.itb.ac.id.) memeriksa apakah domain-name

yang dicari oleh user adalah bagian dari otoritasnya. Kemudian setelah berhasil

mengidentifikasi itu, ia mencari data untuk host yang bersangkutan. Akhirnya DNS-

server memberikan jawaban final berupa sebuah IP address untuk

cnrg.itb.ac.id.

Berikut penggunaan nslookup secara interaktif: maingtw# nslookup Server: maingtw.paume.itb.ac.id Address: 0.0.0.0 > ? Commands: (identifiers are shown in uppercase, []means optional) NAME - print info about the host/domain NAME using default server NAME1,NAME2 - as above, but use NAME2 as server help or ? - print info on common commands; see nslookup(1) for details set OPTION - set an option all - print options, current server and host [no]debug - print debugging information

[no]d2 - print exhaustive debugging information [no]defname - append domain name to each query [no]recuse - ask for recursive answer to query [no[vc - always use a virtual circuit domain=NAME - set default domain name to NAME srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2,etc. root=NAMe - set root server to NAME retry=X - set number of retries to X timeout=X - set initial time-out interval to X seconds querytype=X - set query type, e.g., A,ANY,CNAME,HINFO,MX,NS,PTR,SOA,TXT,WKS type=X - synonym for querytype class=X - set query class to one of IN (Internet), CHAOS HESIOD or ANY

server NAME - set default server to NAME, using current default server lserver NAME - set default server to NAME, using initial server

Page 158: OSI Layer

158

finger [USER] - finger the optional NAME at the current default host root - set current default server to the root ls [opt] DOMAIN [>FILE] - list addresses in DOMAIN (optional: output to FILE) -a - list canonical names and aliases -h - list HINFO (CPU type and operating system) -s - list well-known services -d - list all records -t TYPE - list records of the given type (e.g.,A,CNAME,MX,etc) view FILE - sort an ‘ls’ output file and view it with more exit - exit the program, ^D also exits >

Berikut beberapa perintah yang dapat digunakan pada prompt > nslookup:

1. Mencari IP address dari suatu host > gopher.ee.itb.ac.id.

Server: maingtw.paume.itb.ac.id

Address: 0.0.0.0

Name: gopher.ee.itb.ac.id.

Addresses: 167.205.31.132

2. Mencari informasi lengkap tentang suatu host

> set type=any

> gopher.ee.itb.ac.id.

Server: maingtw.paume.itb.ac.id

Address: 0.0.0.0

gopher.ee.itb.ac.id. internet address = 167.205.31.132

gopher.ee.itb.ac.id. internet address = 167.205.8.80

gopher.ee.itb.ac.id. internet address = 167.205.8.101

ee.itb.ac.id nameserver = gopher.ee.itb.ac.id

ee.itb.ac.id nameserver = maingtw.paume.itb.ac.id

ee.itb.ac.id nameserver = dns.paume.itb.ac.id

gopher.ee.itb.ac.id. internet address = 167.205.8.80

gopher.ee.itb.ac.id. internet address = 167.205.31.132

gopher.ee.itb.ac.id. internet address = 167.205.8.101

maingtw.paume.itb.ac.id internet address = 167.205.31.131

maingtw.paume.itb.ac.id internet address = 167.205.22.1

maingtw.paume.itb.ac.id internet address = 167.205.22.33

maingtw.paume.itb.ac.id internet address = 167.205.22.123

Page 159: OSI Layer

!

159

dns.paume.itb.ac.id internet address = 167.205.22.120

>

3. Mencari MX record untuk suatu host

> set type=MX

> system

Server: maingtw.paume.itb.ac.id

Address: 0.0.0.0

system.paume.itb.ac.id. preference = 30, mail exchanger =

mail.iptek.net.id

system.paume.itb.ac.id. preference = 20, mail exchanger =

maingtw.paume.itb.ac.id

system.paume.itb.ac.id. preference = 10, mail exchanger =

system.paume.itb.ac.id

paume.itb.ac.id nameserver = gopher.ee.itb.ac.id

paume.itb.ac.id nameserver = maingtw.paume.itb.ac.id

paume.itb.ac.id nameserver = dns.paume.itb.ac.id

maingtw.paume.itb.ac.id internet address = 167.205.31.131

maingtw.paume.itb.ac.id internet address = 167.205.22.1

maingtw.paume.itb.ac.id internet address = 167.205.22.33

maingtw.paume.itb.ac.id internet address = 167.205.22.123

system.paume.itb.ac.id. internet address = 167.205.22.98

dns.paume.itb.ac.id internet address = 167.205.22.120

gopher.ee.itb.ac.id. internet address = 167.205.31.132

gopher.ee.itb.ac.id. internet address = 167.205.8.101

gopher.ee.itb.ac.id. internet address = 167.205.8.80

>

4. Pindah ke DNS server yang lain dan mencari informasi tentang domain co.id.

> server gopher.ee.itb.ac.id.

Default Server: gopher.ee.itb.ac.id.

Addresses: 167.205.31.132, 167.205.8.80, 167.205.8.101

> ls -t A co.id

[gopher.ee.itb.ac.id]

co.id. server = dns.paume.itb.ac.id.

Page 160: OSI Layer

160

gw.next 167.205.128.168

flight.atw 167.205.232.11

c0met.atw 167.205.232.3

t1ger.atw 167.205.128.164

w0ody.atw 167.205.232.10

Page 161: OSI Layer

!

161

7

Sendmail : Instalasi dan Cara Pengoperasian

Konfigurasi sendmail bisa jadi menakutkan bagi

pemula. Dunia ini kompleks, dan konfigurasi mail

merefleksikannya ☺

Meski demikian, dalam bab ini kita akan mempelajari

bagaimana cara menginstall dan memaintenance

sendmail, yang ternyata tidak terlalu kompleks.

Page 162: OSI Layer

162

Pendahuluan

Sendmail menerapkan fasilitas routing mail antar jaringan di bawah sistem operasi UNIX. Ia

tidak terikat pada salah satu protokol transport. Fungsinya kira-kira seperti switch crossbar,

meneruskan pesan dari satu domain ke domain yang lain. Dalam prosesnya, ia dapat

melakukan editing pada header pesan untuk menempatkan pesan sesuai dengan format yang

cocok dengan domain penerima. Semua fungsi ini dilakukan di bawah kontrol file

konfigurasi.

Karena persyaratan fleksibilitas sendmail, file konfigurasi tampak seperti sesuatu yang tak

tersentuh oleh manusia dan kompleks. Meski demikian, hanya ada sedikit konfigurasi dasar

yang perlu dibuat sesuai dengan tempat dijalankannya sendmail. Sedangkan, file konfigurasi

standar sudah dibuat. Konfigurasi yang lain dapat dibuat dengan menyesuaikan dari

konfigurasi yang ada.

Sendmail dibuat berdasarkan RFC1822 (Internet Mail Format Protocol), RFC821 (Simple Mail

Transport Protocol), RFC1123 (Internet Host Requirements), dan RFC1425 (SMTP Service

extensions).

Bagian pertama dari bab ini menggambarkan bagaimana melakukan instalasi dasar sendmail.

Bagian kedua menerangkan informasi tiap hari yang sebaiknya diketahui oleh administrator

untuk mengatur sistem mailnya. Bagian ketiga menjelaskan beberapa parameter yang perlu

diatur. Bagian empat mengandung informasi yang berhubungan dengan argument pada

command line. Bagian lima berisi informasi lebih detail mengenai file konfigurasi. Bagian ini

diperuntukkan bagi orang yang suka menderita dan harus menulis file konfigurasinya sendiri.

Bagian enam menjelaskan konfigurasi yang dapat dilakukan pada saat mengkompile

sendmail.

1 RFC = Request For Comments

Page 163: OSI Layer

!

163

Instalasi Dasar

Ada dua langkah dasar untuk menginstal sendmail. Bagian terberat adalah membuat tabel

konfigurasi. Ini adalah sebuah file yang akan dibaca sendmail ketika pertama kali dijalankan

(start up). File ini menjelaskan kepada mailer bagaimana menguraikan alamat (address),

bagaimana menulis-ulang (rewrite) header pesan, dan setting berbagai option. Meskipun tabel

konfigurasi cukup kompleks, sebuah konfigurasi biasanya dapat dibuat dengan melakukan

penyesuaian atas konfigurasi yang telah ada. Jadi tidak lagi berat bagi kita.

Bagian kedua adalah melakukan instalasi itu sendiri, seperti membuat file-file yang

dibutuhkan, dan sebagainya.

Mengkompile Sendmail

Bagian ini tidak akan dijelaskan secara detail, hanya pengenalan. Semua source code sendmail

ada dalam subdirektori src. Jika Anda menjalankan sistem 4.4BSD, Anda dapat mengkompile

dengan mengetik “make”. Pada sistem yang lain, barangkali Anda perlu melakukan sedikit

penyesuaian.

make versi lama

Jika Anda belum memiliki make versi terbaru, Anda perlu memakai ini: # make -f Makefile.dist

Compilation flags

Sendmail mendukung dua format yang berbeda untuk database alias. Kedua format ini yaitu:

• NDBM, format New DBM, terdapat hampir di semua sistem saat ini. Format ini

memungkinkan dilakukannya pekerjaan yang kompleks, seperti multiple database,

menutup database yang terbuka saat tertentu.

• NEWDB, paket new database dari Berkeley. Jika Anda memiliki ini,

gunakanlah. Format ini dapat menangani catatan (record) yang panjang, multiple

open database, caching real in-memory, dan seterusnya.

Page 164: OSI Layer

164

Jika tak satu pun ada, sendmail akan membaca file alias ke dalam memory pada setiap kali

dipanggil. Ini akan memperlambat dan seharusnya dihindari.

Kompilasi dan Instalasi

Setelah melakukan konfigurasi sistem lokal di atas, Anda selanjutnya bisa mengompile dan

menginstal sistem. Kompilasi dapat dilakukan dengan perintah make yang ada di direktory

sendmail/src. Anda dapat menginstal menggunakan: # make install

Perintah ini akan menginstal file biner di /usr/sbin dan membuat link dari /usr/bin/newaliases

dan /usr/bin/mailq ke /usr/sbin/sendmail. Juga akan otomatis diinstal halaman-halaman

manual.

File Konfigurasi

Sendmail tidak dapat bekerja tanpa file konfigurasi. Konfigurasi ini mendefinisikan sistem

mail yang dipakai di tempat ini (tempat disetupnya sendmail), bagaimana mengaksesnya,

bagaimana menyebarkan (forward) email ke remote mail system, dan sejumlah parameter tuning.

File konfigurasi ini akan dijelaskan lebih detail pada bagian lain bab ini.

Konfigurasi sendmail bisa jadi menakutkan bagi pemula. Dunia ini kompleks, dan

konfigurasi mail merefleksikannya ☺

Detail File-file untuk Instalasi

Ketika sendmail mulai dijalankan, pertama kali dia membaca file konfigurasinya yaitu

/etc/sendmail.cf. Beberapa item yang terdapat dalam file tersebut diantaranya adalah lokasi file-

file dan direktori lain yang dibutuhkan oleh sendmail. Lihat gambar dibawah ini.

Page 165: OSI Layer

!

165

Sendmail

file sendmail.cf

aliases sendmail.st sendmail.hf queue.dir

include file

pipe throughprogram

qf file

df file

Gambar 7.1:

Struktur sendmail

Biasanya lokasi di file konfigurasi ditulis secara full-pathname, misal /var/spool/mqueue

dibandingkan mqueue. Selanjutnya, kita akan mengadakan perjalanan (tour) menjelajah file

konfigurasi ini. Dan sebagai langkah pertama, jalankan perintah berikut:

# grep “/[^0-9].*/” /etc/sendmail.cf

Output yang dihasilkan oleh perintah grep di atas kira-kira seperti ini: OA/etc/aliases

OQ/var/spool/mqueue

OS/etc/sendmail.st

OH/usr/lib/sendmail.hf

Mlocal, P=/bin/mail,F=rlsDFMmnP, S=10, R=20, A=mail -d $u

Mprog, P=/bin/sh, F=lsDFeuP, S=10, R=20, A=sh -c $u

Muucp, P=/bin/uux, F=msDFMhuU, S=13, R=23,

Perhatikan, bahwa beberapa baris dimulai dengan huruf O, dan yang lain dengan huruf M.

Huruf O menandai sebuah baris sebagai baris Option konfigurasi. Option yang mengikutinya

Page 166: OSI Layer

166

menjelaskan lokasi file-file yang dipakai sendmail. Huruf yang mengikuti O adalah nama

Option. A, misalnya, mendefinisikan lokasi file aliases, dan seterusnya. Sedangkan baris yang

dimulai dengan M mendefinisikan delivery agents, yaitu sebuah program yang menangani

pengiriman ke mailbox pemakai lokal (Mlocal), menangani pengiriman melalui program

(Mprog), atau menforward melalui hubungan UUCP (Muucp).

Selanjutnya kita akan mempelajari file-file dibelakang option O dan M. Setelah itu, kita akan

melakukan modifikasi yang diperlukan sesuai dengan sistem yang akan kita buat, dan

melakukan beberapa pengujian. Subbab ini menjelaskan file-file yang dibutuhkan untuk

instalasi sendmail.

/usr/sbin/sendmail

File biner (yang bisa dijalankan langsung) sendmail berada di direktori /usr/sbin untuk sistem

4.4BSD atau ditempat lain untuk sistem lain (/usr/lib, /usr/ucblib). Setuid harus dimiliki oleh

root. Untuk alasan keamanan (security), /, /usr, dan /usr/sbin sebaiknya dimiliki oleh root,

mode 7553.

/etc/sendmail.cf

Ini adalah file konfigurasi sendmail. Sistem 4.4BSD, FreeBSD menempatkan file ini di

direktori /etc seperti di atas, dan sistem lain ada yang menempatkannya seperti

/usr/lib/sendmail.cf. File inilah yang seperti dikatakan sebelumnya, cukup kompleks dan bisa

jadi menakutkan. Ini disebabkan karena begitu simplenya sintaks yang dipakai. Tetapi yang

simple inilah yang menjadi tidak sederhana.

/usr/bin/newaliases

Perintah newaliases hanyalah merupakan link ke sendmail. # ln -s /usr/sbin/sendmail /usr/bin/newaliases

Jika sendmail dijalankan sebagai newaliases, dia akan menggunakan flag -bi yang akan

memperbaharui database alias berdasarkan file aliases yang dibuat.

Page 167: OSI Layer

!

167

/var/spool/mqueue

Direktori /var/spool/mqueue harus dibuat untuk menyimpan antrian mail yang belum/akan

dikirim. Direktori ini harus dimiliki oleh root dengan mode 700. PATH sesungguhnya (sesuai

dengan keperluan lokal) dari direktori ini didefinisikan oleh option Q dalam file sendmail.cf.

/etc/aliases*

Alias sistem ditempatkan di /etc/aliases. Contoh alias ini biasanya ditaruh di lib/aliases yang

mengandung beberapa alias yang harus didefinisikan. Untuk pertamakali setup alias, conton

tersebut bisa dicopy: # cp lib/aliases /etc/aliases

# vi /etc/aliases

Alias di atas perlu diedit sesuai dengan keperluan sistem Anda.

Normalnya, sendmail melihat versi file ini yang dibuat oleh rutin dbm(3) atau db(3). Database

tersebut disimpan di /etc/aliases.dir dan /etc/aliases.pag atau /etc/aliases/db tergantung dari

paket database yang Anda pakai. File ini dapat dibuat pertamakali sebagai file yang kosong

dengan mode 644: # cp /dev/null /etc/aliases.dir

# cp /dev/null /etc/aliases.pag

# chmod 644 /etc/aliases.*

# newaliases

PATH sebenarnya dari file ini didefinisikan oleh option A dalam file sendmail.cf.

/etc/rc

Perlu untuk menjalankan sendmail sebagai daemon pada saat sistem sedang reboot. Daemon ini

menjalankan dua fungsi: mendengarkan soket SMTP untuk terjadinya koneksi (menerima

mail dari sistem lain) dan memproses antrian secara periodik untuk memastikan bahwa mail

bisa dikirimkan ketika host dapat dihubungi.

Untuk itu, tambahkan baris-baris perintah berikut dalam file /etc/rc (atau /etc/rc.local

tergantung sistem yang dipakai) pada blok dimana daemon dijalankan: if [ -f /usr/sbin/sendmail -a -f /etc/sendmail.cf ]; then

Page 168: OSI Layer

168

(cd /var/spool/mqueue; rm -f [lnx]f*)

/usr/sbin/sendmail -bd -q30m &

echo -n ' sendmail' >/dev/console

fi

Perintah cd dan rm memastikan bahwa semua file lock telah dihapuskan. Lock file ini

tertinggal ketika sistem down ditengah pemrosesan mail. Baris yang sebenarnya menjalankan

sendmail memiliki dua flag: -bd yang membuat sendmail mendengarkan port SMTP, dan –

q30m yang menyebabkan sendmail memproses antrian tiap 30 menit.

Beberapa orang menggunakan script untuk sartup yang lebih komplek, seperti untuk

menghapus file qf dan df yang kosong. Contohnya: # remove zero length qf files

for qffile in qf*

do

if [ -r $qffile ]

then

if [ ! -s $qffile ]

then

echo -n " <zero: $qffile>" > /dev/console

rm -f $qffile

fi

fi

done

# rename tf files to be qf if the qf does not exist

for tffile in tf*

do

qffile=`echo $tffile | sed 's/t/q/'`

if [ -r $tffile -a ! -f $qffile ]

then

echo -n " <recovering: $tffile>" > /dev/console

mv $tffile $qffile

else

echo -n " <extra: $tffile>" > /dev/console

rm -f $tffile

fi

done

# remove df files with no corresponding qf files

for dffile in df*

do

Page 169: OSI Layer

!

169

qffile=`echo $dffile | sed 's/d/q/'`

if [ -r $dffile -a ! -f $qffile ]

then

echo -n " <incomplete: $dffile>" > /dev/console

mv $dffile `echo $dffile | sed 's/d/D/'`

fi

done

# announce files that have been saved during disaster recovery

for xffile in [A-Z]f*

do

echo -n " <panic: $xffile>" > /dev/console

done

Jika Anda menjalankan versi UNIX yang tidak mendukung Berkeley TCP/IP, jangan

memasukkan flag -bd.

/usr/lib/sendmail.hf

File ini merupakan file help yang digunakan oleh perintah SMTP HELP. File ini dapat dicopy

dari lib/sendmail.hf. # cp lib/sendmail.hf /usr/lib

PATH yang sebenarnya didefinisikan oleh option H dalam file sendmail.cf.

/etc/sendmail.st

Jika Anda ingin mengumpulkan statistik mengenai trafik mail, Anda perlu membuat file

/etc/sendmail.st # cp /dev/null /etc/sendmail.st

# chmod 666 /etc/sendmail.st

File ini dibuat oleh program mailstats/mailstats.c. PATH sebenarnya dari file ini didefinisikan

oleh option S dalam file sendmail.cf.

/usr/bin/mailq

Jika sendmail dijalankan sebagai mailq, ia akan menjalankan flag -bp yang akan menampilkan

daftar antrian mail. Ini merupakan link ke /usr/sbin/sendmail.

Page 170: OSI Layer

170

Operasi Normal

Log Sistem

Log sistem didukung oleh program syslogd(8). Semua pesan dari sendmail dibawah fasilitas

LOG_MAIL.

Format

Setiap baris dari log sistem terdiri atas waktu, nama mesin yang membuat, kata “sendmail”,

dan pesan.

Level

Jika Anda memiliki syslogd(8) atau ekivalensinya, Anda bisa melakukan logging. Ada banyak

informasi yang bisa dicatat. Log disusun berdasarkan level yang meningkat. Pada level

terbawah, hanya situasi yang paling aneh yang akan dicatat. Pada level tertinggi, event yang

tidak penting pun akan dicatat. Berdasarkan konvensi, level log dibawah 10 dianggap cukup

berguna, level diatas 64 dipakai untuk proses debugging. Level dari 11-64 dicadangkan untuk

mode verbose yang mungkin diinginkan untuk beberapa tempat tertntu.

Level logging dapat diset untuk sendmail. Devaultnya adalah level 9. Level-level untuk log

adalah sebagai berikut: 0 No logging.

1 Serious system failures and potential security

problems.

2 Lost communications (network problems) and proto-

col failures.

3 Other serious failures.

4 Minor failures.

5 Message collection statistics.

6 Creation of error messages, VRFY and EXPN com-

mands.

7 Delivery failures (host or user unknown, etc.).

8 Successful deliveries.

9 Messages being deferred (due to a host being

Page 171: OSI Layer

!

171

down, etc.).

10 Database expansion (alias, forward, and userdb

lookups).

15 Automatic alias database rebuilds.

20 Logs attempts to run locked queue files. These

are not errors, but can be useful to note if your

queue appears to be clogged.

30 Lost locks (only if using lockf instead of

flock).

Antrian (The Mail Queue)

Antrian mail, harus diproses secara transparan. Bagaimanapun, Anda mungkin menjumpai

bahwa intervensi secara manual kadang-kadang dibutuhkan. Misalnya, jika host (atau

gateway) yang akan dihubungi sedang down untuk jangka waktu tertentu, antrian bisa semakin

panjang. Meskipun sendmail akan menangani kembali ketika host up, Anda bisa jadi

menjumpai performance yang buruk saat itu.

Menampilkan antrian

Daftar antrian dapat ditampilkan menggunakan perintah mailq (atau dengan memberikan flag

-bp pada sendmail): # mailq

Perintah ini akan menghasilkan daftar ID antrian, ukuran pesan, tanggal pesan memasuki

antrian, pengirim dan penerima.

Page 172: OSI Layer

172

Memaksa antrian

Sendmail akan menjalankan antrian secara otomatis pada interval tertentu. Algoritmanya

adalah sendmail membaca dan mengurutkan antrian, kemudian berusaha memproses semua

job berdasarkan urutan. Ketika berusaha menjalankan job, sendmail pertama kali mengecek

apakah job terkunci (locked). Jika benar, sendmail mengabaikan job tersebut.

Tidak ada cara untuk memastikan bahwa hanya ada satu prosesor antrian pada satu saat,

karena tidak ada jaminan bahwa sebuah job tidak dapat terus-menerus diproses

(bagaimanapun, sendmail memasukkan sebua heuristik yang mencoba membatalkan job yang

menghabiskan waktu secara absurd). Karena algoritma penguncian (locking) ini, tidak

mungkin bagi satu job menyelesaikan seluruh antrian.

Bagaimanapun, sebuah host penerima yang tidak bisa diajak kerjasama atau penerima yang

tidak pernah bisa dihubungi, akan mengakumulasikan banyak proses dalam sistem Anda.

Celakanya, tidak ada cara umum yang sepenuhnya bsia memecahkan hal ini.

Dalam beberapa kasus, Anda mungkin menjumpai bahwa ketika sebagian besar host down

untuk beberapa hari bisa menghasilkan antrian besar yang tak terkirim. Hal ini akan

menyebabkan sendmail menghabiskan banyak waktu hanya untuk mensortir antrian. Situasi

ini dapat dipecahkan dengan memindahkan antrian ke sebuah tempat temporer dan

membuat sebuah antrian baru. Antrian yang lama dapat dijalankan kemudian ketika host

pengacau kembali aktif dengan baik.

Hal ini dapat dilakukan dengan memindahkan seluruh direktori antrian ke direktori

temporer: # cd /var/spool

# mv mqueue omqueue; mkdir mqueue; chmod 700 mqueue

Anda kemudian harus menghentikan (kill) daemon yang sedang aktif (karena ia akan tetap

memproses direktori antrian yang lama) dan membuat daemon yang baru.

Untuk menjalankan antrian mail yang lama, gunakan perintah:

# /usr/sbin/sendmail -oQ/var/spool/omqueue -q

Page 173: OSI Layer

!

173

Flag -oQ menyatakan direktory antrian alternatif dan flag -q memberitahu sendmail agar

menjalankan tiap job dalam antrain saja. Anda bisa menambahkan flag -v untuk melihat apa

yang sedang terjadi.

Ketika antrian sudah habis sama sekali, Anda dapat menghapus direktori: # rmdir /var/spool/omqueue

Datebase Alias

Database alias ada dalam dua bentuk. Pertama dalam bentuk teks, yang dibuat dalam file

/etc/aliases. Format alias ini adalah: nama: nama1, nama2, ...

Hanya nama lokal yang bisa dimasukkan alias. Contoh dibawah ini:

Mail aliases dapat memberikan :

• Nama altenatif (nickname) untuk tiap individual user.

• Forwarding mail ke host lain

• mailing lists

Mail alias dari sendmail di definisikan di file /etc/aliases (di beberapa di system di file

etc/usr/lib/aliases ). Format dari pengisian entry di file aliases sebagai berikut: alias: recipient[, recipient, ...]

alisas : nama alias atau alamat dari mail, dan recipient : nama/alamat kemana mail akan

di kirimkan, dapat berupa user name, nama alias lain, atau address lengkap dari mail lengkap

dengan nama user dan host name-nya, termasuk nama remote host untuk forwarding mail.

Dapat juga di gunakan untuk mengirimkan ke multiple recipient dari single alias atau lazim di

sebut dengan mailing list.

Alias dengan nickname dapat di gunakan untuk mencegah/menanggulangi pengejaan nama

yang sering salah dari tiap user. Kita juga dapat menggunakan alias untuk mengirimkan mail

dengan address yang spesifik misalnya : postmaster, sysadmin/root, hostmaster, dll ke user

yang sebenarnya yang bertanggung jawab dengan pekerjaan tersebut. Selain itu aliases dapat

juga untuk di gunakan menyederhanakan peng-address-an mail khususnya dalam

hubungannya dengan MX record (akan di bahas di routing).

Page 174: OSI Layer

174

contoh file aliases untuk mesin ns1.itb.ac.id: #

# @(#)aliases 5.3 (Berkeley) 5/24/90 #

# Aliases in this file will NOT be expanded in the header from

# Mail, but WILL be visible over networks or from /bin/mail. #

# >>>>>>>>>> The program "newaliases" must be run after

# >> NOTE >> this file is updated for any changes to

# >>>>>>>>>> show through to sendmail. #

# Basic system aliases -- these MUST be present

MAILER-DAEMON: postmaster

postmaster: root

# General redirections for pseudo accounts

bin: root

daemon: root

games: root

ingres: root

nobody: root

system: root

toor: root

uucp: root

# Well-known aliases -- these should be filled in!

# Special names

root: admin

manager: [email protected]

dumper: [email protected]

operator: [email protected]

postmaster: admin

Baris kosong dan baris yang diawali dengan tanda sharp “#” adalah komentar.

Bentuk kedua adalah yang diproses oleh program dbm(3) atau db(3). Format ini disimpan

dalam file /etc/aliases.dir dan /etc/aliases.pag. Ini adalah format yang sesungguhnya dipakai

oleh sendmail untuk memecahkan alias. Teknik ini dipakai untuk meningkatkan

performance.

Page 175: OSI Layer

!

175

Memperbaharui database alias

Versi database DB atau DBM akan memperbaharui database alias dengan memberi perintah: # newaliases

Perintah ini sama dengan memberi flag -bi pada sendmail: # /usr/sbin/sendmail -bi

Masalah yang potential terjadi

Ada sejumlah masalah yang dapat terjadi dengan database alias. Semuanya muncul dari

proses sendmail ketika mengakses versi DBM yang tidak lengkap (partially built). Ini dapat

terjadi dibawah dua kondisi: sebuah proses mengakses database ketika proses yang lain

sedang memperbaharuinya, atau proses yang memperbaharui database berhenti di tengah

jalan sebelum selesai, misal karena sistem crash atau proses dikill .

Sendmail memiliki dua teknik untuk menghadapi masalah ini. Pertama, ia mengabaikan

interupt ketika sedang melakukan pembaruan database. Kedua, pada akhir proses

pembaruan, ia menambahkan sebuah alias dengan bentuk: @: @

yang secara normal tidak sah. Sebelum sendmail mengakses database, dia akan mengecek

apakah entri terakhir itu ada.

List owners

Jika kesalahan terjadi pada saat pengiriman ke alamat tertentu, katakan “x”, sendmail akan

melihat alias untuk ”owner-x” yang akan menerima kesalahan. Ini bermanfaat untuk sebuah

mailing list dimana anggota list tersebut tidak punya kontrol atas penanganan list itu sendiri;

dalam kasus ini, daftar maintener adalah pemilik list itu sendiri. Contoh: # Mailing List

listproc: [email protected]

herc: [email protected]

sysop-l: [email protected]

itbnet-l: [email protected]

itbnet-in: [email protected]

icme96: [email protected]

Page 176: OSI Layer

176

cnrg:

[email protected],[email protected],[email protected],

arman, [email protected], ismail

sysadmin: admin, yc1dav

#initial name

yc1dav: onno

aulia: [email protected]

#

#owner:

owner-cnrg: [email protected]

#

Pada contoh di atas, [email protected] akan menerima pesan kesalahan yang terjadi karena

user ismail tidak ada dalam mesin lokal.

Isi alias owner dapat berupa pemakai tunggal (single user), atau sebuah alias. Contoh: list: some, set, of, addresses

list-request: list-admin-1, list-admin-2, ...

owner-list: list-request

Per-User Forwarding (file .forward)

Sebagai alternatif bagi database alias, setiap user dapat membuat file dengan nama .forward

dalam home direktorinya. Jika file ini ada, sendmail akan meneruskan (redirect) mail untuk

user tersebut ke daftar alamat yang terdapat dalam file .forward. Contoh, jika dalam home

direktori ismail ada file .forward yang berisi: [email protected].

[email protected].

maka setiap mail yang datang untuk ismail akan dikirim kembali ke kedua alamat tersebut.

Page 177: OSI Layer

!

177

Argument

Beberapa argument penting sendmail dijelaskan berikut ini:

Queue Interval ( -q )

Lamanya waktu antara dilahirkannya sebuah proses untuk menjalankan antrian didefinisikan

oleh flag -q. Contoh: # /usr/sbin/sendmail -q30m

Mode ini mengatur berapa lama sebuah pesan maksimum boleh berada dalam antrian. RFC

1123 seksi 5.3.1.1 menyatakan bahwa nilai ini setidaknya 30 menit minimal.

Daemon Mode

Jika Anda membolehkan mail masuk melalui koneksi IPC, Anda harus menjalankan daemon.

Ini dapat diset pada file /etc/rc dengan menambah flag -bd. Flag -bd dan -q dapat

dikombinasikan menjadi: # /usr/sbin/sendmail -bd -q30m

Memaksa Antrian

Dalam beberapa kasus, Anda mungkin menjumpai antrian jadi macet karena alasan tertentu.

Anda dapat memaksa antrian berjalan dengan menggunakan flag -q (tanpa diikuti angka).

Akan lebih mengasikkan jika ditambahkan flag -v (verbose) untuk mengetahui apa yang

terjadi: # /usr/sbin/sendmail -q -v

Anda juga bisa membatasi job hanya untuk antrian dengan ID tertentu, pengirim, dan

penerima, menggunakan salah satu modifier antrian. Contoh, # /usr/sbin/sendmail -qRcnrg

membatasi job hanya untuk antrian yang mengandung string cnrg pada alamat penerima.

Demikian juga, -qSstring untuk pengirim (sender), -qIstring untuk identifier.

Page 178: OSI Layer

178

Debugging

Ada sejumlah besar flag untuk debug. Setiap flag debug memiliki sebuah bilangan dan

sebuah level, dimana semakin tinggi level berarti akan ditampilkan semakin banyak

informasi. Berdasarkan konvensi, level lebih besar dari 9 adalah absurd, artinya akan

ditampilkan begitu banyak informasi yang mungkin tidak Anda perlukan, kecuali untuk

keperluan debugging kode tertentu. Flag debug diset menggunakan option -d, dan sintaksnya

sebagai berikut: debug-flag: -d debug-list

debug-list: debug-option [, debug-option ]

debug-option: debug-range [ . debug-level ]

debug-range: integer | integer - integer

debug-level: integer

dimana spasi hanya untuk kemudahan dalam membaca saja. Contoh: -d12 Set flag 12 ke level 1

-d12.3 Set flag 12 ke level 3

-d3-17 Set flags 3 sampai 17 ke level 1

-d3-17.4 Set flags 3 sampai 17 ke level 4

Menggunakan File Configuration yang

Berbeda

File konfigurasi alternatif dapat ditentukan menggunakan flag -C, contoh: # /usr/sbin/sendmail -Ctest.cf

menggunakan file konfigurasi test.cf sebagai ganti dari default /etc/sendmail.cf. Jika flag -C tidak

memiliki harga, ia akan diset sesuai default yaitu sendmail.cf dalam current directory.

Mengubah Harga Option

Option dapat ditimpa menggunakan flag -o. Contoh: # /usr/sbin/sendmail -oT2m

mengatur option T (timeout) menjadi dua menit.

Page 179: OSI Layer

!

179

Logging Traffic

Banyak implementasi SMTP yang tidak menerapkan protokol secara penuh. Contoh,

beberapa SMTP berbasis PC tidak memahami baris continuation pada kode reply. Ini akan sulit

untuk dilacak. Jika Anda mencurigai masalah seperti ini, Anda dapat mengatur logging trafik

menggunakan flag -X. Contoh: # /usr/sbin/sendmail -X /tmp/traffic -bd

akan mencatat semua trafik ke file /tmp/traffic.

Ini akan mencatat banyak data dengan cepat dan sebaiknya tidak dijalankan dalam operasi

normal. Semua trafik pesan baik yang masuk maupun keluar sendmail termasuk trafik SMTP

masuk, akan dicatat di file ini.

File sendmail.cf

File konfigurasi sendmail berada di /etc/sendmail.cf ( atau di system lain berada di

/usr/lib/sendmail.cf ). Di dalamnya berisi hampir seluruh konfigurasi dari sendmail

termasuk di dalamnya informasi yang di perlukan untuk route mail antara program mail user

dengan program pengirim mail (delivery mail program). File sendmail.cf mempunyai tiga

fungsi utama :

• Mendefinisikan lingkungan (environment) sendmail.

• Rewrite address ke dalam bentuk (form) syntak dari program penerima mail.

• map address ke dalam bentuk instruksi yang diperlukan untuk mengirimkan mail.

Bebarapa command diperlukan untuk memenuhi semua fungsi di atas. definisi makro dan

option command mendefinisikan lingkungan-nya. Rewrite rules akan merewrite address e-

mail. Karena banyak sekali Command dengan sintak pendek di dalam file sendmail.cf maka

jarang sekali system adminstrator membacanya, hanya sekali mengeditnya dan ternyata kita

bisa menghindarkan untuk mengedit file sendmail.cf anda dan mari kita lihat.

Page 180: OSI Layer

180

Lokasi contoh file sendmail.cf

Kita dapat mencari file contoh konfigurasi sendmail.cf yang cocok atau mendekati dengan

system kita dan menempatkan file tersebut ke /etc/sendmail.cf. Contoh konfigurasi

sendmail.cf biasanya sudah datang dalam system kita atau kita dapat download file

sendmail.tar dari tempat lain via anonymous ftp misalnya ke ftp.uu.net (versi terakhir dari

UC Berkeley terdapat di ftp.cs.berkeley.edu/ucb/sendmail), di file

mail/sendmail/sendmail.5.66.tar.Z. (IDA sendmail) di dalam file ini

terdapat beberapa contoh konfigurasi dengan lingkungan yang berbeda dan dapat di

temukan di direktory sendmail.5.66.cf.cf tiga contoh prototype ini di desain untuk

memudahkan memodifikasi dan di terapkan pada lingkungan jaringan yang berbeda. Tiga file

prototype tersebut adalah:

• tcpuucpproto.cf : untuk system yang menggunakan TCP/IP dan UUCP

• tcpproto.cf : untuk system yang menggunakan TCP/IP

• uucpproto.cf : untuk system yang menggunakan UUCP

Ketiga file di atas hampir identik, berbedaanya biasanya ada di bagian awal dan di akhir file,

kita dapat mengabaikan bagian lainnya dan lebih konsentrasi untuk sedikit melakukan

customized sesuai yang diperlukan.

Struktur sendmail.cf

Banyak file sendmail.cf mempunyai struktur yang sama karena kebanyakan di turunkan dari file

aslinya yang tidak begitu banyak. Maka dari itu system anda mungkin bisa sama dengan file

salah satu contoh di sini. Pada setiap system mempunyai struktur berbeda, tetapi fungsi dari

tiap bagian dapat anda temukan di lokasi berbeda dalam file sendmail.cf Di bawah ini akan kita

lihat struktur dari file sendmail.cf yang saya ambil dari protype file tcpuucpproto.cf di mana

dapat mewakili lingkungan jaringan dengan koneksi TCP/IP dan UUCP. Keterangan lebih

detail dari tiap bagian akan dibahas dalam sub-bab “modifikasi sendmail.cf”. Strukutur file

sendmail.cf sebagai berikut :

• Local Information

Page 181: OSI Layer

!

181

Definisi informasi mengenai internet host name, UUCP host name, dan lokal UUCP

connection, yang spesifik untuk tiap host. bagian ini harus di customized saat konfigurasi.

• General Macros

Definisi informasi mengenai domain name, “official hostname (hostname secara lengkap

termasuk domainnya), dan mail relay hosts. Informasi di sini spesifik untuk tiap lokal

jaringan, untuk itu bagian ini harus di customized saat konfigurasi.

• Classes

Definisi groups dana host name atau domain name di gunakan khusus untuk routing mail.

Biasanya tidak perlu dilakukan modifikasi .

• Version Number

Identifikasi versi sendmail.cf. Naikkan versi-nya tiap anda melakukan modifikasi konfigurasi-

nya.

• Special Macros

Definisi beberapa macro khusus yang digunakan oleh sendmail, berisi hal-hal yang berkaitan

dengan sendmail untuk identifikasi jika ada return error message, dan message sendmail

displai saat SMTP login. bagian ini tidak perlu di modifikasi.

• Options

Definisi option sendmail. bagian ini tidak perlu di modifikasi.

• Message procedure

Definisi macam-macam nilai awal message yang di gunakan oleh sendmail. Bagian ini tidak

perlu di modifikasi.

• Trusted Users

Page 182: OSI Layer

182

Definisi user yang mempunyai hak untuk menimpa address pengirim saat dia mengirimkan

mail. Bagian ini tidak perlu di modifikasi. Menambahkan user dalam daftar ini dapat

menjadi potensil masalah security.

• Format of headers

Definisi format dari header di mana sendmail akan menyisipkan ke dalam mail. Bagian ini

tidak perlu di modifikasi.

• Rewriting rules

Definisi aturan (rules) yang di gunakan untuk rewrite mail address. Rewrite Rules berisi

aturan umum yang dipakai oleh sendmail atau rewrite rules lain. Bagian ini tidak perlu di

modifikasi selama initialiasasi configurasi sendmail. Bagian ini perlu di modifikasi jika kita

akan menambahkan services baru atau memperbaiki masalah yang timbul.

• Mailers

Definisi instruksi yang digunakan oleh sendmail untuk memerintahkan program pengirim

mail. Spesifik rewrite rules yang berhubungan dengan setiap individual mailer juga di

definisikan di sini. bagian ini biasanya tidak perlu di modifikasi.

• Rule set Zero

Definisi spesial rewrite rule set, yang disebut rule set zero, yang di aplikasikan untuk

pengiriman address. Bagian ini tidak perlu di modifikasi,

• Machine-dependent Part of Rule Set Zero

Definisi dari bagian rule set zero yang spesifik untuk konfigurasi ini. Konfigurasi ini sesuai

dengan konfigurasi dari mailer system, artinya apakah system dapat mengirimkan

langsung UUCP atau SMTP mail dimana keduanya mempunyai rules rewrite yang

berbeda. atau system hanya bisa mengirimkan lewat UUCP. Anda biasanya tidak perlu

memodifikasi bagian ini.

Bagian-bagian diatas mungkin berbeda dengan file contoh yang ada dalam system anda,

namun demikian strukturnya kemungkinannya sama yaitu :

Page 183: OSI Layer

!

183

• Informasi yang berkenaan dengan customisasi host biasanya ada di awal file.

• Type-type command yang mirip, misalnya option command, header command, dll

biasanya dikelompokan.

• Sebagian besar isi file ini berisi rewrite rules

• Di akhir file ini biasanya berisi definisi campuran mailer dengan rewrite rules yang

berhubungan dengan individual mailers.

Sangat penting untuk di sadari bahwa sedikit sekali yang perlu di modifikasi dalam file

sendmail.cf, jika anda mendapatkan sample konfigurasi sendmail.cf yang cocok anda mungkin

hanya perlu memodifikasi beberapa baris di awal file.

Konfigurasi sendmail.cf

Setiap start-up. sendmail selalu membaca sendmail.cf. Karena alasan inilah mengapa syntak dari

perintah-perintah sendmail.cf di desain untuk mudah di parsing oleh sendmail, bukan oleh

manusia, sebagai konsekuensi-nya perintah-perintah dalam sendmail.cf sangat pendek bahkan

menurut standard UNIX. Perintah-perintah dan variabel hanya terdiri dari beberapa karakter,

dan mudah sekali membingungkan antara karakter perintah dan karakter variabel. Perintah

pendek ini susah sekali untuk di pecahkan, tetapi untuk membantunya mengingat-nya

biasanya karakter pertama dari baris perintah tersebut selalu perintah. Untuk lebih jelasnya

dapat dilihat dalam tabel berikut ini :

Page 184: OSI Layer

184

Command Syntax Keterangan

Define Macro Dxvalue Set makro x to value

Define Class Ccword1[word2]... Set class c to word1, word2,...

Define Class Fcfile Load class c from file

Set Option Oovalue set option o to value

Trusted Users Tuser1[user2...] Trusted users are user1 user2 ...

Set Precedence Pname=number Set name to precedence number

Define Mailers Mname,{field=value) Define mailer name

Define Header H[?mflag?]name:format Set header format

Set Ruleset Sn Start ruleset number n

Define Rule Rlbs rbs commnent Rewrite lbs patern to rbs format

Tabel 7.1: Perintah-perintah dalam sendmail.cf

Perintah konfigurasi dan varibel tidak dibatasi dengan spasi, hal ini pula yang membuat

semakin sulit untuk dibaca. Mari kita lihat ilustrasi di gbr.5-2., dari ilustrasi kita lihat bahwa

perintah makro tersebut artinya masukkan nilai cnrg.itb.ac.id ke dalam makro D.

DDcnrg.itb.ac.id

nama makro yang didefinisikan

nilai yang dimasukkan dalam makrodefinisi perintah makro

Gambar 7.2: Ilustrasi perintah konfigurasi pada sendmail.cf

Page 185: OSI Layer

!

185

Perintah Mendefinisikan Macro

Perintah mendefinisikan makro (D) digunakan untuk mendefinisikan makro dan menyimpan

nilainya, dimana makro dan nilanya tersebut dapat digunakan oleh perintah lain di sendmail.

Namaan makro terdiri atas single karakter ASCII. Huruf kecil digunakan untuk nama

internal makro Sendmail itu sendiri. Sedankan huruf besar digunakan yang boleh kita

gunakan. Tidak berarti kita tidak boleh menggunakan huruf besar. Beberapa makro internal

sendmail ada yang harus kita definisikan dalam file sendmail.cf. Pada Tabel 7-2 adalah tabel

makro yang didefinisikan dalam file konfigurasi, tetapi hanya nilai yang di masukkan dalam

makro j yang biasanya di modifikasi.

Macro Value assign This macro Example

e SMTP entry message De$j Sendmail $v ready at $b

j site’s official domain name Dj$w.$d

l format of the UNIX from line DlFrom $g $d

n name used in error message DnMAILER-DAEMON

o set of operator in Address Do.:%\@!^=/

q default sender address format Dq$g$?x($x)$

Tabel. 7-2: Makro sendmail yang dibutuhkan

Untuk mengambil nilai yang tersimpan dalam makro, perintahnya adalah $x, dimana x adalah

nama makro-nya. Sebagai contoh misalnya : Dwcnrg

DDitb.ac.id

Dj$w.$D

Kode di atas mendefinisikan makro w, D, dan j. Setelah di exekusi, $w mengembalikan nilai

cnrg, $D mengembalikan nilai itb.ac.id, sedangkan nilai j mengembalikan nilai cnrg.itb.ac.id.,

dapat kita lihat dimana makro j berisi nilai dari w ($w), di tambah tanda titik, ditambah nilai

D ($D). Jika sebuah makro nilai-nya di isi dengan nilai yang merujuk ke makro lain, maka

nilainya adalah nilai dari makro yang di rujuk tersebut.

Page 186: OSI Layer

186

Dari contoh di atas D adalah makro yang kita definisikan, semantara j dan w adalah makro

yang mempunyai arti khusus dalam sendmail. Dalam tabel 7-3. kita dapat melihat daftar

makro internal sendmail, dimana kebanyakan tidak di set dalam sendmail.cf, tetapi di isi sendiri

oleh sendmail.

Nama Fungsi a origination date in RFC 822 format b current date in RFC 822 format c hop count d date in UNIX (ctime) format e SMTP entry message f sender “from” address g sender address relative to the recipient h recipient host i queue id j “official” domain name for this site l foramt of the UNIX from line n name of the daemon (for the error message) o set of “operator “ in address p sendmail’s pid q default format of sender address r protocol used s sender’s host name t numeric representation of the current time u recipinet users v version number of sendmail w hostsname of this site x full name of the sender z home directory of the recipinet

Tabel 7-3

Daftar makro internal sendmail

Saat customizing file sendmail.cf anda, kadangkala di perlukan modifikasi beberapa definisi

makro, biasanya makro yang mendefinisikan informasi yang spesifik di tiap tempat misalnya

host name dan domain name.

Kondisi Bersyarat

Satu makro dalam Tabel 7-2 yaitu q, mempunyai ke istemewaan berbeda dengan yang lain

karena berisi conditional. Kita lihat sekarang :

Page 187: OSI Layer

!

187

Dq$g$?x ($x) $.

D adalah perintak makro. q makro yang akan di definisikan. dan $g nilai yang tersimpan

dalanm makro g. Bagaimana dengan $?x ($x)$. apa artinya ?. $?x adalah bentuk kondisional.

Untuk menguji nilai yang tersimpan dalam makro x apakah mempunyai nilai tertentu, jika ya

maka lakukan/isikan sesuatu itu . $ untuk mengakhiri konditional.

Kita lihat sekarang misalnya makro q di interpretasikan sebagai berikut : q adalah nilai yang

ada di makro g, dan jika x ada, atau nilai kosong, jadi jika g berisi [email protected] dan x

berisi Rudi Nursasono maka q akan berisi :

[email protected] Rudi Nursasono (ingat : Dq$g$?x ($x) $.)

Konditional dapat juga menggunakan bentuk “else, dengan tanda $|. Jadi systax dari

konditional selangkapnya adalah : $?x text1 $| text2 $.

Di interpestasikan sebagai berikut :

jika ($?) x ada/benar;

gunakan text1;

else ($|) ; gunakan text2;

end if ($.)

Perintah pendefinisian Class

Dua perintah C dan F, mendefinisikan class dalam sendmail. Class adalah arrray berisi suatu

nilai. Class di gunakan untuk aneka nilai dimana di handle dengan cara yang sama, seperti

nama multiple untuk lokal host atau daftar host nama UUCP. Class memperbolehkan

sendmail untuk membandingkan melawan/bertentanngan,daripada melewan nilai tunggal.

Class menggunakan patern (pola) Symbol matches khusus antara lain $= untuk symbol

match semua nilai yang ada di class, dan $~ untuksumua nilai di luar class.

Seperti hal nya makro penamaam class menggunakan single karakter dan user-created class

menggunakan huruf besar. Nilai class bisa terdiri dari satu baris, beberapa baris, atau

mengambil(membaca) dari file. Misalnya, class V sering di dunakan untuk mendefinisikan

koneksi UUCP lokal, untuk memasukkan nilai bronson dan ora dapat dilakuka dalam satu baris

:

Page 188: OSI Layer

188

CVbronson ora

atau dalam bebrapa baris : CVbronson

Cvora

Atau dengan membaca/mengambil dari nilai yang ada dalam file menggunakan perintah F . Perintah F ini akan membaca file tersebut dan menyimpannya dalam suatu varibel Class.

Misalnya : kita akan mendefinisikan sebuah class w dan memasukkan nilai ke dalamnya

dengan sumua nilai yang ada dalam file /etc/sendmail.cw maka : Fw/etc/seandmail.cw

Kita kadang perlu untuk memodifikasi bagian class dalam file sendmail.cf, biasanya

informasinya berkaitan dengan uucp, alias host name dan domain khusus untuk routing mail

. Jika anda system menggunakan koneksi uucp seperti TCP/IP anda harus memberi

perhatian khusus dalam mendefinsikan dan berhati-hatilah dalam implementasi ke

konfigurasui system anda.

Mari kita lihat contoh file konfigurasi sendmail.cf dengan barsis yang diawali dengan C atau F (bagian.class) :

% grep ‘^[CF]’ tcpuucpproto.cf

Fw/usr/lib/sendmail.cw

CUYOUR_ALIASES_GO_HERE

CV YOUR

CV UCP

CV EIGHBOURS

CV GO

CV HERE

CIUUCP BITNET CSNET

Dari contoh grep di atas dapat kita lihat bahwa kita mendefinisikanclass w, U, V dan I. w

berisi hostname dan alias-nya dengan cara mengambil dari file. U berisi aliases UUCP hosts,

sedang V koneksi UUCp, dan I domain tiruan untuk routing mail. Dari contoh di atas kita

lihat nilainya belum di konfigurasi. Jika kita sudah meng-konfigurasi-kan, grep akan

menampilkan sebagai berikut : CUlos

CVbronson

CVora

CVgenly

Page 189: OSI Layer

!

189

CVbabss

CVm10

CIUUCP BITNET

Perhatikan perintah F tidak ada lagi, system di atas di asumsikan tidak membaca host name

dari file /etc/sendmail.cw, hal tersebut mengambil host name yang benar dari dalam

sendmail. System mempunyai nama UUCP satu yaitu los. Sedangkan konensi system UUCP

adalah bronson, ora, genly, babss,dan m10. Mail domain tiruan (fake) dirubah untuk menghapus

CSNET. Sebaiknya orang (system administrator) yang melakukan (mengisi) class ini harus

mempunyai pengetahuan mengenai systemnya dan koneksi jaringan-nya. Ingat system anda

mengkin berbeda dengan contoh di atas, dan perhatikan variabel yang di gunakan apakah

sudah pernah dipakai, jadi berhati-hatilah mengisinya dan baca dengan baik-baik komentar,

petunjuk yang digunakan dalam file konfigurasi.

Perintah Set Option

Perintah set option (O) menentukan nilai option sendmail, yang merupakan internal option

set di dalam file sendmail.cf, tidak sama dengan argumen dalam perintah baris

(command-line) seperti dalam tabel.5-9. Perintah O di gunakan untuk men-set nilai yang

sesuai dengan instalasi anda. Nilai daro option ini dapat berupa string, boolean, atau intrval

waktu, sesuai dengan option tiap individual. Nilai yang di masukan ini akan di gunakan

secara langsung oleh sendmail. Disini tidak nilai yang dibuat oleh user (user-created).

Option-option yang ada sudah di definisikan dalam sendmail itu sendiri.. Option-option

yang ada itu dalam dilihat dalam Tabel.7-4 :

Page 190: OSI Layer

190

Nama Fungsi

Afile Define the name of the alias aN Wait N minute for @:@; then rebuild the alias file Bc Define the blank substituion character. c Queue mail for the expensive mailers D Rebulid in background mode db Deliver in backgrouond mode di Deliver interactively dq deliver during the next queue run ee Mail error message and always return 0 exit status em Mail back error message ep print error message eq just return exit status, not error message ew write back error messages f Retain Unix-style “From” line gn Set the default groups id for mailers to n Hfile Define the nameof SMTP help file I Use the BIND name server to resolve all host name i Ignore dots in incoming messages Ln Set the level of logging to n Mxval Set macro x to val m send to me, too Nnet Define the name of the home networks o Accept old format headers Qdir Define the name of the queue directory qn Define a factor n used to decide when to queue jobs rt Set Interval t for read timeout Sfile Define tha name of the statistics log file s Always create the queue file before attempting delivery Tt Set the queue timeout to t un Set the default userid for mailers to n v Run in verbose mode Wpass Define password used for remote debugging Xl Refuse SMTP connections if load average exceed l xl Queue message if load average exceeds l Y Deliver each queue job in a separate process yn Lower priority of jobs by n for each recipient Zn Decrease a job’s priority by n for each recipient zn Factors used with precedence to determine message priority

Tabel 7-4 Sendmail options

Page 191: OSI Layer

!

191

Contoh option dalam file tcpuucpproto.cf dapat di lihat di bawah ini. Sebuah option

mendefinisikan file sendmail aliases yaitu /usr/lib/aliases. Anda dapat juga menetukan

file aliases sendmail di tempat lain dengan option ini. Option F mendefinisikan default mode

file sebagai 0600 untuk file temporary yang di hasilkan oleh sendmail di

/var/spool/mqueue. Option T di gunaka untuk menentukan interval timeout untuk mail

yang tidak bisa dikirim, di sini di set 3 hari (3d). Di bawah ini adalah contoh konfigurasi

option yang umum : # location of alias file

OA/usr/lib/aliases

#temporary file mode

OF0600

#default timeout interval

OT3d

Kebanyakan bagian option ini tidak perlu dimodifikasi karena umumnya file configurasi

contoh yang di bawa oleh system sudah benar.

Mendefinisikan Trusted Users

Perintah T di gunakan untuk mendefinsikan daftar user yang mempunyai hak untuk

menimpa (override) address pengirim menggunakan flag mailer -f (tabel flag mailer dapat di

lihat di Tabel.7-5). Normalnya user yang mempunyai hak adalah root, uucp, daemon.

Berhati-hatilah menambahkan user selain yang di sebutkan sebelumnya, karena user tersebut

dapat mengisi dengan nama pengirim yang salah, dan jika di tangan user yang tidak baik

dapat menyebabkan masalah keamanan atau membuat mau organisasi anda. User yang di

beri hak dapat di tuliskandalam satu baris atau lebih, dan user yang di maksudkan harus

sesuai dengan yang tercantum dalam file /etc/passwd. Di bawah ini adalah contoh umum

yang sering di pakai, dan biasanya tidak perlu di modifikasi. Troot

Tdaemon

Tuucp

Mendefinsikan Mail Precedence

Page 192: OSI Layer

192

Precedence adalah salah satu faktor yang di gunakan oleh sendmail untuk menentukan

prioritas pemasukan pesan ke Queue. Perintah P digunakan untuk mendefinisikan nilai

precedence ke user sendmail. Bilangan precedence yang besar, maka precedence message-nya juga

besar. Nilai default dari nilai precedence adalah 0. Jika nilai precedence-nya negatif berarti

mengidikasikan mail tersebut mempunyai prioritas yang rendah. Error message tidak akan di

kirimkan jika mail mempunyai precedence negatif, biasanya precedence ini di pakai untuk

pengiriman mail banyak (mass mailings). Nilai dari precedence yang umum umumnya seperti

berikut ini : Pfirst-class=0

Pspecial-delivery=100

Pbulk=-60

Pjunk=-100

Untuk menentukan precedence yang di inginkan, user dapat menambahkan Precedence header di

dalam pesannya (mail), dengan menambahkan nama sesuai denga yang di definsikan di atas.

misalnya user ingin mengirim mail ke banyak tempat dan mengabaikan error message yang

mungkin terjadi dengan nilai precedence-nya -60 berati kita memasukkan dalam header mail kita Precedence: bulk

Empat cntoh nilai precedence di atas bisa kita ganti sesuai dengan keinginan/keperluan yang

kita inginkan .

Mendefinisikan Mail Headers

Perintah H di gunaka untuk mendefinisikan format dari baris header untuk di sisipkan dalam

pesan (mail) kita. Format dari perintah header ini adalah perintah H, dengan optional flag

headernya di antara tanda tanya, nama header, colon, dan header template. Header template

terdiri dari kombinasi literal dan makro yang di masukan dalam baris header. Makro dalam

header template di lebarkan sebelum header di sisipkan dalam pesan (mail).

Fungsi dari header flag adalah mengendalikan apakah header akan di sisipkan atau tidak ke

dalam pesan untuk mailer yang khusus. Jika flag tidak di cantumkan berarti header digunakan

untuk semua jenis mailer, sebaliknya jika di cantumkan berarti header akan di sisipkan jika

mailer mempunyai flag yang sama dengan flag yang telah di definisi mailer. (mailer flag dapat

dilihat di Tabel.7-6). Header flag hanya mengontrol penyisipan, jika header telah di terima

Page 193: OSI Layer

!

193

oleh inputnya maka akan di lewatkan ke output tanpa melihat header flagnya. Contoh definsi

header dapat di lihat di bawah ini : H?P?Return-Path: <$g>

Hrecieved: $?sfrom $s $.by $j ($v/$Z)

H?D?Recent-date: $a

H?D?Date: $a

H?F?Resent-From: $q

H?F?From: $q

H?x?Full-name: $x

Hsubject:

H?M?Resent-Message-Id: <$t.$i@$j>

H?M?Message-Id: <$t.$i@$j>

Definsi header di atas umumnya cukup untuk kebanyakan system, jadi tidak begitu perlu

untuk di modifikasi .

Mendefinisikan mailer

Perintah M di mendefinisikan untuk program pengiriman mail yang akan digunakan oleh

sendmail. Syntak dari perintah terebut adalah : Mname, {field=value}

Name adalah nama sembarang yang di gunakan di internal-nya sendmail yang merujuk ke

mailer tersebut. Nama tidak menjadi masalah selama konsisten dengan nama yang ada di file

sendmail.cf yang merujuk ke mailer tersebut. Sebagai contoh : mailer menggunakan

SMTP sebagai pengirim mailnya dengan nama lokal domainnya misalnya tcpld di satu system,

dan dengan nama ether di system lain. Fungsi kedua system mailer itu sama, hanya namanya

yang berbeda.

Ada dua perkecualian yaitu, mailer yang mengirimkan mail ke lokal user (dalam satu mesin)

harus di sebut dengan local dan mailer yang mengirimkan ke program harus disebut prog.

Nama mailer diikuti dengan koma, sebagai pemisah dengan list dari sepasang

field=value yang mendefinisikan karakteristik dari mailer. Table.7-5. menunjukan

identifier single karakter dan isi field value yang saling berkaitan. Kebanyakan mail tidak

memerlukan semua field tersebut.

Page 194: OSI Layer

194

Field Maksud Isi Contoh P Path Path of the mailers P=/bin/mail F Flags sendmail flags for this mailers F=lsDFMe S Sender Ruleset for senders addresses S=10 R Recipient Ruleset for recipient addresses R=20 A Argv The mailer’s argument vector A=sh -c $u E Eol End-of-line string for the mailers E=\r\n M Maxsize Maximum message length M=1000000

Tabel 7-5: Definisi field mailers

Field P berisi lokasi /path dari file program pengirim mail-nya atau string literal [IPC] yang

mendukung dalam komunikasi antar proses. Definisi mailer yang men-spesifikasikan

P=[IPC] menggunakan sendmail untuk mengirim mail melalui SMTP. Path/lokasi dari

program pengirim mail berbeda dari satu system dengan system yang lain. tergantung dimana

file program itu tersimpan. Pastikan dimana letak/path dari program tersebut sebelum

memodifikasi field path ini.

Fielf Flag (F) berisi flag sendmail yang digunakan yang digunakan mailer tersebut, mailer

flag ini berhubungan/merujuk ke bagian mail header di atas, tetapi flag tidak hanya

mengkontrol penyisipan header. Flag dan fungsinya dapat di lihat pada Tabel.7-6.

Page 195: OSI Layer

!

195

Nama Fungsi C Add @domain to address that do not have an @ D The mailer wants a Date: header line E Add > to message lines that begin with From:. e This an expensive mailer. See Sendmail options c F The mailer wants a From: header line f The mailer accepts a -f flag from trusted users h Preserve uppercase in hosts names I The mailers will be speaking SMTP to another sendmail L Limit the line lengths as specified in FRC821 l This is a local mailer M The mailers wants a Message-Id: header line m The mailer can send to multiple users in one trasaction n Don’t insert a UNIX-style From: line in the message P The mailer wants a Return-Path:line R Use the MAIL FROM: return-path rather than the return address r The mailer accepts a -r flag trusted users S Don’t reset the userid before calling the mailer s Strip quotes off of the address before calling the mailer U The mailer wants Unix-style From:lines u Preserve uppercase in user names X Prepend a dot to lines beginning with a dot x The mailer want a Full-Name: header line

Tabel. 7-6:

Sendmail mailer Flags.

Field Sender (S) dan Recipent mengidentifikasikan ruleset yang digunakan untuk rewrite

alamat pengirim dan penerima untuk mailer ini. Setiap ruleset di identifikasikan dengan

nomer.

Field Arg (A) mendefinisikan vektor argumen yang di lewatkan ke mailer, berisi sekitar,

perluasan makro yang memberikan nama user penerima/recipient ($u), nama hosts

penerima.recipient ($h), dan alamat dari pengirim ($f). Makri ini diperluas sebelum vektor

argumen-nya di lewatkan ke mailer.

Dua field terakhir berfungsi sebagai definisi karakter yang akan di pakai sebagai tanda end-

of-line field (E), dengan defaultnya baris baru. Maxsize (M) mendefinisikan panjang

maximum pesan (mail) yang akan di tangani oleh mailer. Dua field ini sering diubah-ubah.

Page 196: OSI Layer

196

Contoh definisi Mailer yang umum :

Contoh definsi mailer di bawah ini diambil dari tcpuucpproto.cf : Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u

Mprogl, P=/bin/sh, F=rlsDFMe, S=10, R=20, A=sh -c $u

Mtcpld, P=[IPC], F=mDFMueXLC, S=17, R=27, A=IPC $h, E=\r\n

Mtcp, P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h, E=\r\n

Muucp, P=/usr/bin/uux, F=DFMhuU, S=13, R=23, M=100000,

A=uux - r -z -a$f -gC $h!rmail ($u)

Keterangan :

• Definisi pengiriman mail lokal, selalu di namakan local. Definisi ini di perlukan

oleh sendmail.

• Definisi untuk pengiriman mail ke program, selalu dinamakan prog, Definisi ini

diperlukan oleh sendmail.

• Definisi untuk mail TCP/IP ke lokal domain, dalam hal ini dinamakan tcpld

• Definisi untuk mail TCP/IP ke Internet, dalam hal ini dinamakan tcp

• Definisi untuk mail UUCP, dalam hal ini dinamakan uucp

Field di bawah ini digunakan untuk mailer dengan uucp :

Muucp Mailer, didefinisikan dengan nama sembarang uucp.

P=/usr/bin/uux Path dari program yang digunakan mailer tersebut.

F=DFMhuU Arti dari Flag mailer ini adalah : memerlukan, Date (tanggal),

From (dari), dan Message-Id; hindarkan huruf besar untuk nama

host, user; baris “From” menggunaan UNIX-style. (lihat tabel 7-5).

S=13 Semua address Sender(pengirim) diproses menggunakan ruleset

13.

R=23 Semua address Recipient (penerima) diproses menggunakan ruleset

23.

M=100000 Mailer tidak akan memproses mail yang besarnya lebih dari 100.000

byte.

Page 197: OSI Layer

!

197

A=uux - -r -z -a$f -gC $h!mail ($u)

Arti dari setiap option dari vektor argumen di atas aslinya di

definisikan di manual (man page) untuk uux. Makro menambahkan

address dari pengirim ($f), recipient host ($h), dimana perintah

rmail di eksekusi, dan user recipient ($u). Setelah itu makro di

tambahkan baru di lewatkan ke /usr/bin/uux

Anda tidak perlu kuatir untuk memodifikasi definisi mailer jika anda menjalankan sendmail-nya dengan TCP/IP, karena contoh yang di bawa oleh system anda biasanya sudah benar,

anda perlu memodifikasi-nya jika menjalankan-nya diluar itu.

Rewriting mail address

Rewrite rule merupakan jantung dari file sendmail.cf. Ruleset adalah kumpulan dari

individual rewrite rule untuk parsing address e-mail dari program mail user dan melakukan

rewrite (penulisan ulang) ke bentuk yang diperlukan/dikenal oleh program pengirimnya.

Setiap rewrite rule di definisikan dengan perintah R. Syntax dari perintah R sebagai berikut : Rpatern transformation comment

Field dalam perintah R di batasi/dipisahkan oleh karakter tab. Field comment ini akan di

abaikan oleh system tetapi sangat vital jika anda ingin lebih mengerti apa yang sedang terjadi.

Field patern dan tranformation jantung dari perintah ini.

Patern Matching (pencocokan pola)

Rewrite rule mencocokan input dari address dengan patern(pola),jika di temukan kecocokan,

dilakukan penulisan ulang (rewrite) address dengan format baru menggunakan rule yang di

definisikan di transformation. Sebuah rule bisa memproses address yang sama

sampai beberapa kali, karena setelah di rewrite di bandingkan lagi patern-nya. Jika masih

cocok/match, di lakukan rewrite lagi sampai paternnya tidak cocok lagi. Patern di definisikan

menggunakan makro, classes, literal, dan metasymbol khusus. Makro, classes, dan literal

memberikan nilai yang kemudian di bandingkan dengan inputnya dan metasymbols men-

define rules untuk digunakan sebagai matching patern. Tabel.7-7 memperlihatkan

metasymbol untuk patern matching.

Page 198: OSI Layer

198

Symbol Meaning

$* Match zero or more tokens

$+ Match one or more tokens

$- Match exactly one token

$=x Match any token in class x

$~x Match any token not in class x

$x Match all token in macro x

$%x Match any token in NIS map named in macro x

$!x Match any token not in NIS map named in macro x

$%y Match any token in the NIS hosts.byname map

Tabel. 7-7:

Pattern matching symbols

Semua permintaan metasymbol match untuk sejumlah token. Token adalah string dari suatu

karakter di mail address di potong /dibatasi oleh operator. Operator adalah karakter yang di

definisikan sebagai makro o. Operator juga di hitung sebagai token saat address di parsing.

Misal : [email protected]

Address e-mail ini berisi 7 token : becky, @, peanut, ., nuts, ., dan com. Address ini akan

match/cocok dengan patern : $-@$+

Address di atas cocok dengan patern ini karena :

• Hanya satu token sebelum @ yang match dengan symbol patern $-.

• Mempunyai @ yang match dengan @

• Mempunyai satu atau lebih token setelah @ yang match dengan sysmbol $+

Page 199: OSI Layer

!

199

Beberapa address: [email protected], [email protected] cocok/match dengan patern ini,

tetapi tidak dengan address lain seperti hunt%[email protected]. Address ini tidak match

karena mempunyai tiga token: hunt, %.dan nbsenh, sebelum @. Jadi akan timbul ketidak

cocokan dengan datu token yang di symbolkan dengan symbol $- . Menggunakan tiga

symbol dan literal, patern dapat di bangun ke setiap type address e-mail.

Jika sebuah address match dengan patern, string dari address yang match metasymbols di

masukan ke indefinite tokens . String yang match di sebut dengan indefinite token karena

meraka bisa saja berisi lebih dari nilai satu token. Indefinite token di identifikasikan sebagai

bilangan sesuai dengan posisi relatif-nya terhadap patern dari metasymbol yang stringnya

match. Dengan kata lain, indefinite token menghasilkan match dengan metasymbol pertama

yaitu $1; match ke dua di sebut $2 dan ke tiga di sebut $3,..dan seterusnya. Misal : saat

address [email protected] match dengan patern $-@$+, menghasilkan dua indefinite

token. Yang pertama di identifikasikan sebagai $1 dan berisi sigle token becky yang match

dengan symbol $-. Sedang indefinite kedua adalah $2 dan berisi 5 token : peanuts, .,

nuts,.,dan com yang match dengan symbol $+. Indefinte token dibuat dengan patern

matching kemudian dapat di referensikan dengan nama ($1,$2,dll) daat rewriting address.

Transformasi address

Field transformasi dari sebelah kanandari rewrite rule, di definisilan sebagai format yang di

gunakan untuk rewriting rule, dengan hal yang sama untuk define patern : literal, makro,

spesial metasymbol. Literal dalam transformasinya di tuliskan ke dalam address yang benar-

benar bentuk baru. Makro di perluas dan kemudian di tuliskan. Metasymbol menjalankan

fungsi khusus seperti dalam Tabel.7-8.

Symbol Maksud

$n Substitute indefinite token n

$[names$] Substitute canonical name

$>n Call ruleset n

Page 200: OSI Layer

200

$@ Terminate ruleset

$: Terminate rewrite rule

Tabel 7-8:

Transformation Metasymbols

Symbol $n, dimana n adalah nomer yang digunakan untuk substitusi indefinite token.

Indefinite token di perluas/dibuka dan dituliskan sebagai address “baru”. Kita lihat sekarang

bagaimana indefinite token di gunakan. Address selalu di proses dengan beberapa rewrite

rules. Tidak ada satupun rule yang melakukan proses seluruhnya. Di asumsikan input address

adalah [email protected] akan melewati beberapa preliminary proses dan sekarang adalah: hunt<@nbsenh.bitnet>

Asumsikan rewrite rule-nya sekarang adalah : R$+<$+.bitnet> $1%$2<@$B> use the Bitnet relay

Address match denga patern karena berisi satu atau lebih token sebelum literal <@,satu atau

lebih setelah <@, dan literal string .bitnet. Patern match menghasilkan dua indefinite token

yang di gunaka dalam transformasi untuk rewrite address.

Transformasi berisi indefinite token $1, sebuah literal %, indefinite token $2, sebuah literal

<@, makro B, dan literal >. Setelah patern matching, $1 berisi hunt dan $2 berisi nbsenh.

Asumsikan makro B sudah di definisikan di suatu tempat di file sendmail.cf sebagai

cunyvm.cuny.edu, suatu Bitnet relay host umum. Dalam kasus ini input address di tuliskan

kembali (rewriten ) sebagai : hunt&nbsenh.<@cunyvm.cuny.edi>

Gambar. 7-3 mengilustrasikan rewrite address khusus. Terlihat token di turunkan dari input

address, dan bagaimana token di bandingkan lagi dengan patern. Juga terlihat indefinite

token di hasilkan oleh patern matching, dan bagiamana indefinite token, dan nilai lain dari

transformasi, yang di gunakan untuk menghasilkan rewrite address.

Page 201: OSI Layer

!

201

Address tokens hunt < @ nbsenh . bitnet >

pattern $+ < @ $+ . bitnet >

undefinite tokens hunt nbsenh

Transformasi $1 % $2 < @ $B >

rewriten address hunt % nbsenh < @ cunyvm.cuny.edu >

Gambar.7-3 Rewriting Address.

Setelah rewriting, address di bandingkan lagi dengan patern, Pada saat ini matching-nya gagal

karena tidak lagi berisi literal string.bitnet>. Lalu, tidak lama kemudian proses dengan

melakukan rewrite rule dan address di lewatkan/passed ke baris rule selanjutnya. Dari contoh

terlihat substitusi indefinite token adalah esesial untuk rewriting address yang fleksibel, tanpa

itu tidak mudah untuk memindahkan dari input address ke rewriten address.

Symbol $[name$] merubah hosts nickname atau IP address ke canonycal name dengan

melewatkan nilai name-nya ke name server untuk resolusi. Contoh, menggunakan name server

nuts.com, $[mil-gw$] mengembalikan almond.nuts,com dan $[[128.66.`1.2]$] mengembalikan

peanut.nuts.com.

Symbol $>n memanggil ruleset n dan melewatkan address yang di difinisikan oleh remainder

of transformation ke ruleset n untuk prosesing. Contoh : $>9$1%$2

Transformasi di atas memanggil rule set 9 ($>9), dan melewatkan/mengumpankan isi $1,

literal % dan isi dari $2 ke ruleset 9 untuk memprosesnya. Saat ruleset 9 selesai di

eksekusi/dijalankan, menngembalikan rewriten address ke rule pemanggilan. Address e-mail

kembalian ini di bandingkan lagi ke patern ke dalam calling rule. Jika masih match, ruleset 9

di panggail lagi, rekursi sudah ada di dalam rewrite rule dan ada kemungkinan loop tak

Page 202: OSI Layer

202

hingga. Untuk itu disediakan paling tidak dua metasymbol untuk mencegah loop tak hingga

ini. (lihat Tabel.7-8).

Symbol $@ dan $: digunakan untuk mengkontrol proses. Jika transformasi dimulai dengan

symbol $2, seluruh ruleset di hentikan dan sisa transformasi adalah nilai yang dikembalikan

oleh ruleset. Jika transformasi di mulai dengan symbol $:, individual rule di eksekusi hanya

sekali. Gunakan Symbol $: untuk mencegah rekursif dan mencegah loop saat memanggil

ruleset lain.

Ada syntax rewrite rule khusus yang hanya di gunakan di ruleset 0. Ruleset 0 di definisikan

sebagai triple (mailer, hosts, user) yang spesifik untuk program pengiriman mail, recipient

hosts, dan recipient user. Syntax transformasi yang digunakan sebagai berikut : $#mailer$@host$:user

contoh di bawah ini di ambil dari file tcpuucpproto,cf : # resolve SMTP traffic

R$*<@$+>$* $#tcpld@$2$:$1<@$2>$3 [email protected]

Misalnya kita asumsikan address e-mailnya david<@filbert.nuts.com> di proses dengan rule

ini, Address match dengan Patern R$*<@$+>$* karena :

• Address mempunyai nol atau lebih token (token david) yang match dengan symbol

pertama ($*)

• Address mempunyai literal <@

• Address mempunyai satu atau lebih token (5 token filbert.nuts.com) yang match

dengan yang di perlukan symbol $+.

• Address mempunyai literal >

• Address mempunyai nol atau lebih, dalam kasus nol ini, token yang match memenuhi

symbol terakhir $*.

Patern yang match ini menghasilkan dua indefinite token. Indefinite token $1 berisi david

dan $2 berisi filbert.nuts.com. Tidak ada matching yang terjadi, jadi $3 null. Indefinite token

ini di gunakan untuk rewrite address ke dalam triple : $#tcpld$filbert.nuts.com$:david<$filbert.nuts.com>

Komponen dari triple adalah :

Page 203: OSI Layer

!

203

$#tcpld tcpld adalan nama internal dari mailer yang mengirimkan

message/mail.

$filbert.nuts.com filbert.nuts.com adalah recipient host.

$:david<$filbert.nuts.com> david<$filbert.nuts.com> adalah user

recipient-nya

Disini adalah satu variasi khusus dari syntax ini, yang hanya digunakan di ruleset 0, yang

meneruskan error message ke user.: $#error$:message

message adalah text daro error message yang di kembalikan ke user, contoh :

R@ $#error$Invalid address

Rule ini mengembalikan message “invalid address” jika address tidak match dengan patern.

Set perintah di Ruleset

Ruleset adalah group yang berkaitan dengan rewrite rule yang di hubungkan dengan

bilangan/nomer. Perintah S memberi tanda awal dari ruleset da nmengedintifikasi rulesetnya

dengan nomer. Pada syntax perintah Sn, n adalah nomer yang mengidentifikasikan ruleset.

Umumnya, nomer yang digunakan berkisar antara 0 sampai 29.

Ruleset dapat berbentuk seperti subroutine, atau fungsi, yang didesain untuk memproses e-

mail address, yang dipanggil dari definisi mailer, dari individual rewrite rule, atau langsung di

panggil dari sendmail . Empat rule set mempunyai fungsi khusus dan di panggil langsung

dari sendmail yaitu :

Ruleset 3, ruleset paling besar dan komplek, ruleset pertama di digunakan pada addresses,

yang mengubah address ke bentuk canonical : [email protected]

Dalam kondisi khusus bagian @hosts.domain di tambahan oleh sendmail

setelah ruleset 3 berhenti. Kejadian ini hanya terjadi jika mail telah diterima dari mailer

dengan Flag di set ke C. Dalam contoh kita lihat hanya SMTP mailer yang menggunakan

Page 204: OSI Layer

204

flag ini. Jika flag ini di set ke C maka pengirim di tambahkan @host.domain ke seluruh

address di dalam mail yang hanya mempunya local-part

Proses ini dilakukan setelah ruleset 3 dan sebelum ruleset 1 dan 2. (dalam Gambar 5-4

diperlihatkan dengan kotak yang di beri tanda D.

Ruleset 0 di aplikasikan ke addresses digunakan untuk mengirimkan mail. Ruleset 0 di

lakukan setelah ruleset 3 dan hanya untuk recipient address sebenarnya digunakan untuk

pengiriman mail, Resolve address ke triple (mailer, host, user) tersusun/terdiri dari nama mailer

yang mengirimkan mail, recipient host name, dan recipient user nama.

• Ruleset 1 di aplikasikan ke seluruh address pengirim di dalam message.

• Ruleset 2 di aplikasikan ke seluruh address penerima di dalam message

• Ruleset 4 di aplikasikan ke seluruh address di dalam message dan digunakan untuk

translate internal format address ke dalam format external mail.

Gambar.7-4. menunjukan aliran dari message dan address melalui ruleset tersebut. Kotak

DSR

alladdresses

S

2

1

0

D3R

4

deliveryaddress

senderaddress

recipientaddress

alladdresses

Sender domain information added

Mailer-specific recipient rewriting

Mailer-specific sender rewriting

The (mailer, host, user) triple

Gambar 7-4:

Urutan Ruleset

D bukan menunjukan symbolik ruleset, ini adalah proses internal sendmail . Symbol S dan

R di gunakan untuk menempatkan ruleset. Meraka mempunyai nama numerik seperti halnya

Page 205: OSI Layer

!

205

semua ruleset normal, tetapi bukan tetap/fixed seperti dalam kasus ruleset 1, 2, 3, dan 4.

Nomer Ruleset S dan R di identifikasikan oleh field S dan R di bagian definsi mailer. setiap

mailer bisa mengkhusukan diri terhadap ruleset S dan R sendiri untuk membersihkan

spesifikasi-mailer dari pengirim dam penerima address sebelum message di kirimkan.

Modifikasi sendmail.cf

Modifile sendmail.cf terdiri dari satu baris yang mendefinisikan class w. Perintah ini membaca

nickname dari host dari file /usr/lib/sendmail.cw dan meletakkannnya pada pada class

w. Pada kebanyakan system sendmail mampu mendefinisikan dengan benar harga class w

secara internal. Class w hanya didefinisikan jika system dikenali dengan lebih dari satu

hostname.

Page 206: OSI Layer

206

Modifikasi General Macro

Bagian kedua dari file sendmail.cf berisi site-specific value. File sampel berisi baris-baris berikut

ini yang juga merupakan instruksi apa yang harus kita letakkan pada masing-masing baris. #local domain name

DDYOUR_LOCAL_DOMAIN_GOES_HERE

# UUCP relay host

DRYOUR_UUCP_RELAY_GOES_HERE

# csnet relay host

DCYOUR_CSNET_RELAY_GOES_HERE

# bitnet relay host

DBYOUR_BITNET_RELAY_GOES_HERE

# my official hostname

Dj$w

Kita akan memodifikasi baris-baris ini untuk domain itb.ac.id. untuk macro D, UUCP relay

uunet.uu.net untuk macro R, Bitnet relay cunyum.cuny.edu untuk macro B. Karena CSNET

tidak ada lagi kita akan meng-comment-out baris macro C. #local domain name

DDitb.ac.id

# UUCP relay host

DRuunet.uu.net

# csnet relay host

# DCYOUR_CSNET_RELAY_GOES_HERE

# bitnet relay host

DBcunyum.cuny.edu

# my official hostname

Dj$w

Macro j tidak perlu dimodifikasi karena macro w telah menginisialisasinya. Jika kita

menggunakan DNS maka macro w akan berisi fully qualified domain name. Jika w tidak

berisi fully qualified domain name, maka macro j harus diinisialisasi dengan Dj$w.$D.

Page 207: OSI Layer

!

207

Modifikasi Classes

Bagian berikutnya mendefinisikan class I. Pada contoh kita, class I memuat nama-nama

beberapa domain routing mail khusus. Domain ini memungkinkan pengguna yang tidak

berada di Internet dapat menerima mail dengan alamat yang bergaya Internet. Contohnya

mail yang ditujukan kepada serorang yang berada di Bitnet oleh seorang di Internet biasanya

menggunakan format user%bitnet-host@bitnet-relay. Address ini dikenal sebagai “% kudge”.

Dengan menggunakan Bitnet Domain palsu, mail dapat ditujukan ke user@bitnet-

host.BITNET. sendmail mengubah Bitnet Domain palsu dan me-rewrite ke dalam bentuk

yang benar, menggunakan % kuldge dan relay host yang didefinisikan di macro B.

Domain palsu juga digunakan untuk mengirim mail ke UUCP mail. Mail dapat dikirim

dengan sintaks UUCP normal, misalnya ora!los!craig. Atau dapat juga dikirim dengan

pseudeo format misalnya [email protected].

Class I pada file tcpproto.cf tidak perlu modifikasi, kecuali karena tidak adanya CSNET, kita

harus edit class I dengan mendelete entry CSNET. Baris asli adalah sebagai berikut CIUUCP BITNET CSNET

diubah menjadi: CIUUCP BITNET

Modifikasi Version Number

Version Number tidak perlu dimodifikasi, tapi sebaiknya diganti setiap kali kita mengupdate

file sendmail.cf.

Modifikasi Option

Bagian Option mendefinisikan semua option pada sendmail. Beberapa option

mendefinisikan path dari file yang berhubungan dengan sendmail. Pada tcpproto.cf path

tersebut berada pada baris-baris dibawah ini: # location of aliases file

OA/usr/lib/aliases

#location of help file

Page 208: OSI Layer

208

OH/usr/lib/sendmail.hf

# queue directory

OQ/usr/spool/mqueue

# status file

OS/usr/lib/sendmail.st

Option t yang mendefinisikan time zone harus kita sesuaikan dengan tempat kita masing-

masing. Misalnya untuk WIB, kita edit file sendmail.cf sehingga menjadi: OtWIB

Option W digunakan untuk menyimpan “wizard password” yang memungkinkan kita

melakukan debug access ke sendmail, jika sendmail di-compile dengan option debug.

sendmail debug accecss merupakan problem yang dapat dieksplot\itasi oleh intruder. Untuk

mengetahui apakan sendmail dapat menerima debug access atau tidak dapat dilakukan

dengan perintah sebagai berikut: % telnet localhost 25

Trying 127.0.0.1

Connected to localhost

Escape character is ‘^]’

220 maingtw.paume.itb.ac.id Sendmail 4.1/1.36 ready at Mon, 15 Jun

95 09:30:31 WIB

debug

500 Command unrecognized

quit

221 maingtw.paume.itb.ac.id closing connection

Connection closed by foreign host.

Pesan error di atas menyatakan bahwa debug access tidak diizinkan. Pada contoh kita option

W kita hapus karena kita tidak mnegizinkan remote debug access.

Modifikasi Rewrite Rules

Bagian berikutnya dari sendmail.cf mendefinisikan messages’ precedence, trusted user, dan

header. Tidak ada yang perlu modifikasi.

Bagian selanjutnya adalah rewrite rules dan mailer. Bagian ini merupakan inti dari sendmail.

Karena bagian ini didesian untuk dapat mengirim mail ke Internet, kita tidak perlu

memodifikasinya.

Page 209: OSI Layer

!

209

Yang perlu kita modifikasi adalah bagian yang mengandung CSNET, karena CSNET sudah

tidak ada lagi. Kemudian bagian yang mengandung .arpa karena domain itu sudah tdak

digunakan lagi.

Menguji sendmail.cf

sendmail memiliki beberapa tool yang dapat kita gunakan untuk menguji dan menkonfigurasi

serta debugging. Tool ini dapat kita panggil dari command line, yang dapat dilihat pada tabel

berikut ini.

Contoh berikut ini adalah tes sendmail dengan file test.cf maingtw% /usr/lib/sendmail -Ctest.cf -t -v

To: [email protected]

From: daniel

Subject: Test

Halo Hunt,

tes pake sendmail.

^D

[email protected]... Connecting to cunyum.cuny.edu (tcp)...

Trying 128.228.1.2...connected

220 cunyum.cuny.edu on Wed, 27 Oct 94 12:23:09 EST

>>> HELO maingtw.paume.itb.ac.id

250 cunyum.cuny.edu is my domain name.

>>> MAIL From:<[email protected]>

250 Sender OK - send RCPTs.

>>> RCPT To:<hunt%[email protected]>

250 Recipient OK - send RCPT or DATA.

>>> DATA

354 OK, send data, end with CRLF.CRLF

>>> .

250 Data received OK.

>>> QUIT

221 cunyum.cuny.edu closing connection

[email protected]... Sent

Page 210: OSI Layer

210

Argument Fungsi

-f addr address pengirim adalah addr

-r addr bentuk lama dari -f

-h cnt drop mail jika diforward cnt kali

-F name set full username dengan name

-n tidak melakukan aliasing atau forwarding

-t kirim ke semua orang yang terdaftar di To: Cc: dan Bcc:

-bm deliver mail (default)

-ba jalan di mode arpanet2

-bs menggunakan SMTP pada sisi input

-bd jalan sebagai daemon

-bt jalan di mode test

-bv verivy address; tidak mengumpulkan atau mengirim mail

-bi menginisialisasi alias database

-bp print mail queue

-bz freeze konfigurasi

-q[time] memproses queued mail

-C file menggunakan file sebagai file konfigurasi

-d level set debugging level

-o xvalue set option x dengan harga tertentu (xvalue)

-e definisi bagaimana error dikembalikan

-i ignore dots pada mail yang masuk

2 Baca header From: untuk menemukan pengirim. Menggunakan tiga digit reply code, dan mengakhiri baris error dengan <CRLF>

Page 211: OSI Layer

!

211

-m send to me too

-v jalan di verbose mode

-s addr bentuk alternatif dari -f

Kita ketik semua sebelum ^D. Setelah ^D akan muncul pesan-pesan seperti di atas yang

dikeluarkan oleh sendmail. Gambar di bawah ini menjelaskan apa-apa yang penting dan

memperlihatkan macro sendmail yang berhubungan dengan yang dijelaskan.

rewritten recipientaddress (macro u)

host penerima(machro h)

mailer

local hostname(macro w)

rewritten sender “from”address (macro f)

maingtw% /usr/lib/sendmail -Ctest.cf -t -vTo: [email protected]: danielSubject: Test

Halo Hunt,tes pake sendmail.^[email protected]... Connecting to cunyum.cuny.edu (tcp)...Trying 128.228.1.2...connected220 cunyum.cuny.edu on Wed, 27 Oct 94 12:23:09 EST>>> HELO maingtw.paume.itb.ac.id250 cunyum.cuny.edu is my domain name.>>> MAIL From:<[email protected]>250 Sender OK - send RCPTs.>>> RCPT To:<hunt%[email protected]>250 Recipient OK - send RCPT or DATA.>>> DATA354 OK, send data, end with CRLF.CRLF>>> .250 Data received OK.>>> QUIT221 cunyum.cuny.edu closing [email protected]... Sent

Page 212: OSI Layer

212

Menguji Rewrite Rules

Problem pada masalah pengalamatan disebabkan oleh rewrite rules. Dengan menggunakan

sendmail -bt kita dapat menguji rewrite rules, seperti di bawah ini. maingtw # sendmail -bt

ADDRESS TEST MODE

Enter <ruleset> <address>

> 0 [email protected]

rewrite: ruleset 3 input: “hunt” @ “nbsenh” “.” “bitnet”

rewrite: ruleset 8 input: “hunt” @ “nbsenh” “.” “bitnet”

rewrite: ruleset 8 returns: “hunt” @ “nbsenh” “.” “bitnet”

.

.

.

rewrite: ruleset 6 input: “hunt” “<“ “@” “nbsenh” “.” “bitnet” “>“

rewrite: ruleset 6 returns: “hunt” “<“ “@” “nbsenh” “.” “bitnet”

“>“

rewrite: ruleset 0 returns: $# “tcp” $@ “cunyum” “.” “cuny” “.”

“edu” $: “hunt” “<“ “@” “nbsenh” “.” “BITNET” “>“

> 1,14,4 daniel

rewrite: ruleset 3 input: “daniel”

rewrite: ruleset 8 input: “daniel”

rewrite: ruleset 8 returns: “daniel”

rewrite: ruleset 3 returns: “daniel”

rewrite: ruleset 1 input: “daniel”

rewrite: ruleset 1 returns: “daniel”

rewrite: ruleset 14 input: “daniel”

rewrite: ruleset 14 returns: “daniel” “%” “maingtw” “.” “paume” “.”

“itb” “.” “ac” “.” “id” “<“ “@” “>“

rewrite: ruleset 4 input: “daniel” “%” “maingtw” “.” “paume” “.”

“itb” “.” “ac” “.” “id” “<“ “@” “>“

rewrite: ruleset 4 returns: “daniel” “%” “maingtw” “.” “paume” “.”

“itb” “.” “ac” “.” “id” “@”

>^D

Page 213: OSI Layer

!

213

Jika dijalankan dengan option -bt, sendmail akan memunculkan prompt >. Pada prompt itu

kita dapat memasukkan ruleset number dan e-mail address. Address merupakan test data,

dan ruleset number merupakan ruleset yang akan ditest.

Ruleset 3 merupakan ruleset pertama yang dikenakan pada address, dan pada mode address

test diasumsikan merupakan yang pertama kali dikenakan pada address.

Untuk melihat mailer yang digunakan pada sendmail, gunakan ruleset 0 pada address

penerima. Pada contoh di atas, address penerima adalah [email protected]. Jadi kita

masukkan 0 [email protected] pada prompt. Field pertama dari harga yang dikeluarkan

oleh ruleset 0 adalah nama mailer. Ini memberitahu kita bahwa mailer yang digunakan adalah

tcp mailer. Setelah mengetahui mailer yang digunakan kita dapat menetukan ruleset yang

dipanggil untuk memproses alamat pengirim “From:”

Dengan memperhatikan Gambar 7-4, alamat pengirim melewati ruleset 3, ruleset 1, dan

ruleset yang ditetnukan oleh S, serta ruleset 4. Definisi mailer untuk tcp menentukan bahwa

ruleset S-nya adalah ruleset 14. Jadi ruleset yang memproses alamat pengirim adalah 3, 1, 14,

dan 4. Pada address test kita memasukkan 1, 14, 4 karena ruleset 3 dipanggil secara otomatis.

Test diatas menunjukkan bahwa alamat pengirim mengalami kesalahan pada ruleset 14.

Inspeksi baris-per-baris pada ruleset tersebut menunjukkan ada dua baris yang merefer

informasi yang tak terdefinisi pada konfigurasi kita yaitu class N dan macro A. R$+<@$=N.$D> $@$1<@$2.$D> nic-reg host are ok

R$+<@$*.$D> $@$1%$2.$D<@$A> else -> u%h@gateway

Komentar yang ada memberi kita petunjuk apa yang haru kita lakukan. Jelas bahwa class N

berhubungan dengan NIC-registration host. Setelah tahun 1989 kita telah menggunakan

DNS sehingga kita tidak perlu memperhatikan NIC host table lagi, sehingga kita bisa meng-

comment-out kemunculan baris ini di file sendmail.cf.

Baris selanjutnya lebih dekat ke problem yang kita hadapi. Ruleset ini muncul karena sekali

waktu sebuah host yang tidak berada di NIC host table yang lama harus mengirim mail ke

Internet melalui mail relay. Kita tidak harus mencantumkan mail relay host di alamat

pengirim karena record MX telah digunakan untuk menyampaikan mail ke tujuan yang

benar. Jadi kita juga dapat meng-comment out kemunculan baris ini di seluruh file sendmail.cf.

Page 214: OSI Layer

214

8

Membuat FTP Server dan WEB Server

Dua buah service yang sangat banyak dipakai di

Internet adalah Web dan FTP. Pada bab ini akan

dibahas bagaimana cara membuat server Web dan

server FTP yang bisa diakses oleh orang lain melalui

Internet.

Page 215: OSI Layer

!

215

FTP Server

Pendahuluan

Di dunia internet saat ini, hampir semua host yang ada mensupport FTP baik sebagai klien

maupun sebagai server. FTP disebut juga sebagai File Transfer Protocol adalah sebuah

protokol yang digunakan untuk transfer file antara satu komputer dengan komputer yang

lain. FTP dapat mentransfer hampir semua data, mulai dari file dalam bentuk ASCII,

Executable File, Postscript, gambar dalam format JPG, GIF dan lain sebagainya.

Komunikasi FTP ini terjadi antara FTP server dengan kliennya.

Ada dua macam aksesibilitas yang ditawarkan oleh FTP server, yaitu : User FTP dan

anonymous FTP. User FTP adalah FTP yang diperuntukkan hanya untuk user dari mesin

FTP server tersebut, sedangkan anonymous FTP diperuntukkan untuk public karena semua

orang dapat mengakses data yang ada pada FTP server tersebut tentu saja dengan batasan-

batasan tertentu.

Pada dasarnya FTP server hanya menyediakan fasilitas bagi user berupa listing suatu

direktori, mengubah direktori tempat bekerja, mengirim dan menerima file. Jadi seorang

pengguna FTP (baik anonymous maupun user FTP) tidak dapat mengeksekusi suatu file dari

FTP server, yang bisa ia lakukan hanyalah terbatas pada file-file diatas.

Anonymous FTP menjadi pokok bahasan kita dalam bab ini, karena servis inilah yang

merupakan inti dari FTP server saat ini. Anonymous FTP diperuntukkan untuk publik, baik

user tersebut memiliki account di mesin itu atapun tidak. User yang mengisi nama user ketika

masuk ke FTP server dengan nama ftp atau anonymous diperbolehkan untuk masuk ke

dalam FTP server tersebut. Walaupun server tidak mengecek password yang diisi ketika

login, password yang diisi oleh user tadi di-log oleh komputer. Telah merupakan konvensi

untuk menanyakan alamat email user untuk password anonymous FTP, sehingga system

administrator dari komputer dapat mengetahui siapa pengguna FTP server tersebut.

Pengguna FTP server memiliki akses yang terbatas pada beberapa direktori (termasuk file di

dalamnya) yang sebelumnya telah diatur hak aksesnya. Direktori atau daerah ini disebut

Page 216: OSI Layer

216

sebagai “area anonymous FTP”. Pengguna anonymous FTP tidak dapat melihat direktori

lain selain direktori di mana ia diberi hak untuk mengakses. Hal inilah yang membuat FTP

adalah salah satu servis yang cukup aman dalam dunia informasi di internet.

FTP Server

FTP server terdiri dari dua bagian, yaitu : server, yang bertugas untuk melayani permintaan

dari klien yang meminta listing direktori, mengubah direktori (letak tempat kerja),

mengirimkan file dan menerima file. Nama dari program yang berfungsi untuk melayani hal-

hal di atas adalah ftpd (baca ftp daemon). Bagian kedua adalah file-file yang ada pada direktori

yang diperbolehkan untuk diakses oleh pengguna anonymous FTP.

Konfigurasi FTP server

ftpd biasanya dijalankan dan dikontrol oleh inetd, yang merupakan server utama dari UNIX

yang bisa menjalankan beberapa aplikasi secara bersamaan. Inetd mendengarkan permintaan

dari klien pada beberapa port yang telah dikenal, temasuk port untuk mengontrol FTP yaitu

port 21. Ketika klien dari FTP berusaha untuk membuat hubungan dengan FTP server yang

pertama dilakukan adalah mengirimkan paket TCP ke port 21 pada komputer tujuan, inetd

menerima paket tersebut, dan menentukan port tujuan sehingga dapat mulai menjalankan

aplikasi yang dibutuhkan untuk melayani permintaan tersebut melalui proses forking dan

executing. Karena aplikasi yang dituju adalah ftpd maka aplikasi inilah yang di-fork dan di

execute oleh inetd untuk menerima permintaan dari klien. Apabila pada saat yang bersamaan

ada klien lain yang meminta inetd untuk menjalankan ftpd, maka inetd akan menjalankan

kopi dari ftpd yang sudah berjalan dan melayani permintaan klien tersebut.

Konfigurasi yang digunakan sebagai kontrol bagaimana ftpd dijalankan adalah inetd.conf,

yang terlihat sebagai berikut : ftp stream tcp nowait root /etc/ftpd ftpd -l

Biasanya, UNIX secara otomatis telah memasukkan entry ini kedalam inetd.conf sehingga

kita tidak perlu menambahkannya lagi. Sekarang kita akan membicarakan maksud dari entry

yang ada diatas.

Field pertama (ftp) menunjukkan protocol. Field ini digunakan untuk memberi tahu

port mana yang harus didengar (listened) oleh inetd untuk menerima permintaan dari klien.

Page 217: OSI Layer

!

217

Ketika inetd menerima paket pada port 21 (port standar untuk ftp) inetd akan membaca field

ftp untuk menentukan server yang harus distart.

Field yang kedua dan ketiga (stream dan tcp) menunjukkan cara komunikasi yang

digunakan oleh server. Pada konfigurasi di atas ditunjukkan bahwa komunikasi dilakukan

dengan menggunakan TCP, yang pada dasarnya merupakan aliran data berurutan antara dua

komputer. Sebagai catatan FTP hanya bisa berkomunikasi menggunakan TCP.

Entry nowait mengharuskan inetd untuk selalu menstart server baru ketika klien

mengirimkan permintaan ke server. Apabila digunakan option wait maka server akan

menstart server setelah klien telah selesai menggunakan server sebelumnya (bergantian).

Dua field terakhir (/etc/ftpd dan ftpd -l) menunjukkan path dari file eksekutable

ftpd sedangakan -l menunjukkan option ketika menjalankan ftpd (biasanya secara default

option ini tidak usah diset).

ftp user

Setelah selesai mengkonfigurasi FTP server untuk berjalan dibawah inetd maka kita perlu

menambahkan entry ftp user pada file /etc/passwd (dengan asumsi sistem operasi yang

anda gunakan adalah UNIX). Ftpd akan mengecek eksistensi dari ftp user sebelum ia

memperbolehkan adanya anonymous FTP. Apabila entry ftp user tidak terdapat pada file

/etc/passwd, ftpd akan menolak semua orang yang berusaha untuk memasukkan

nama anonymous atau ftp ketika masuk ke FTP server.

Entry ftp user pada file /etc/passwd harus memiliki user ID dan group ID yang unik

dan kita harus memastikan bahwa user tersebut tidak dapat log in melalui cara yang standar

seperti melalui telnet . Untuk ini kita harus mengeset field password pada entry ftp user pada

file /etc/passwd dengan * sehingga password dianggap tidak ada, dan login shell harus

diset ke /bin/false, atau /nonexistent sehingga UNIX tidak akan mengecek

password dan tidak memperbolehkan user masuk ke mesin itu selain melalui FTP.

Entry pada file /etc/passwd akan nampak sebagai berikut :

ftp:*:500:25: Anonymous FTP user :/user/ftp:/bin/false

Page 218: OSI Layer

218

Login direktori juga merupakan satu hal yang penting. Pengguna anonymous FTP hanya

diperbolehkan untuk mengakses file yang ada pada direktori tersebut.

Filesystem

File-file yang berada pada direktori yang disebutkan pada entry ftp user di file

/etc/passwd harus memiliki suatu struktur yang spesial dan di dalamnya harus memiliki

file-file yang bisa dieksekusi. Sebagai catatan direktori yang tercantum pada entry di file

/etc/passwd menjadi FTP server root directory. Sebagai contoh misal pada entry

disebutkan direktori yang boleh diakses oleh anonymous FTP ada pada direktory

/user/ftp, maka ketika user masuk, maka ia akan mendapatkan direktori tersebut sebagai

/ (pada unix / disebut root dan semua file yang ada pada direktori tersebut letaknya

direferensikan terhadap root ). Sehingga apabila ada file yang sebenarnya terletak pada

/user/ftp/bin, maka user akan mendapatkan direltori tersebut sebagai /bin saja.

Struktur direktori anonymous FTP

Kita harus membuat user ftp login direktori (yang tercantum pada entry di /etc/passwd)

dan membuat subdirektori berikut ini :

bin Direktori ini berisi file-file executable yang diperlukan oleh ftpd untuk menservis

permintaan anonymous FTP, biasanya file yang ada adalah ls (untuk listing direktori)

dan cd (untuk mengubah letak direktori)

etc Biasanya berisi password (bukan entry password /etc/passwd, file ini jangan

sampai diletakkan pada direktori ini karena harus disembunyikan eksistensinya dari

dunia luar)

pub Direktori ini berisi file-file yang disediakan untuk anonymous FTP.

Jangan sampai kita mengopi file passwd dan group ke direktori-direktori di atas.

Page 219: OSI Layer

!

219

Ijin dan Kepemilikan Direktori File

Berikut ini adalah hak-hak yang harus kita berikan pada subdirektori-subdirektori di atas :

login direktori harus dimiliki oleh root, bisa dibaca oleh orang lain, dan dapat dieksekusi

(dalam UNIX gunakan mode 555)

bin subdirektori ini harus dimiliki oleh root dan group wheel, staff atau yang lain.

Direktori harus bisa dieksekusi tetapi tidak dapat ditulis dan dibaca oleh user (mode

111)

etc harus dimiliki oleh root (mode 111)

pub harus dimiliki oleh root atau pengguna komputer yang mempunyai perkerjaan untuk

admininstrasi file-file yang ada di sini. Direktori ini jangan sampai mempunya file

permission writable karena kita harus melarang user untuk dapat menaruh file di ftp

archive ini ! gunakan mode 555.

Demikianlah beberapa cara untuk setting FTP server.

Memelihara Arsip FTP

Standar Ekstensi Nama File

Untuk mempermudah bagi user anonymous FTP untuk memperkirakan format dari file yang

akan mereka transfer adalah penting untuk menggunakan ekstensi nama file yang standar.

Sebagai contoh file dengan ekstensi .ps adalah file PostScripts, atau file image seperti .gif,

.jpg, dan lain-lain. Contoh lain adalah .Z adalah ekstensi dari file kompresan yang ada di

UNIX, begitu juga dengan .gz. Di bawah ini adalah beberapa contoh format file dan masing-

masing ekstensinya.

Program Kompresi Program Dekompresi Ekstensi file Contoh compress uncompress .Z test.Z

gzip gunzip .gz atau

.z

test.gz

pack unpack .z test.z

Stuffit unsit .Sit test.Sit

PackIt unpit .pit test.pit

Page 220: OSI Layer

220

PKZIP unzip41 .ZIP test.ZIP

zoo210 zoo210 .zoo test.zoo

Mengakses arsip FTP adalah seperti mengakses file yang ada di local file system, namun

tanpa alat navigasi. Sebagai contoh, user tidak dapat menggunakan perintah find untuk

mencari sebuah file. Oleh karena itu untuk mempermudah maka sebaiknya selalu disediakan

symbolic link ke arsip tertentu, file README atau file ls-lR.

WEB SERVER

Saat ini orang mengenal dunia internet identik dengan World Wide Web (WWW) atau

disebut web saja. World Wide Web adalah merupakan servis internet yang menyajikan

informasi dalam bentuk grafis dan juga memberikan kemampuan hyperlinking yang

membuatnya menjadi salah satu servis dengan perkembangan yang begitu pesat saat ini.

Dengan web kita dapat menghubungkan suatu kata/informasi dalam web tersebut dengan

informasi lain yang bisa berbentuk gambar, tulisan, film, suara dan lain sebagainya.

Yang dimaksud dengan hyperlinking adalah kemampuan web untuk menghubungkan satu

informasi yang ada di satu web server dengan informasi lain yang bisa saja ada di mesin web

server lain atau juga dalam mesin web server itu sendiri.

Dalam bab ini kita tidak akan membahas bahasa yang digunakan dalam pembuatan home

page, tetapi kita akan lebih membicarakan segi teknisnya.

World Wide Web Server

Software server yang digunakan oleh WWW disebut juga sebagai Web server. Server ini

dalam komunikasi dengan klien menggunakan protokol TCP dan selalu mendengarkan

permintaan dari klien pada port 80 (default). Ketika klien meminta “halaman” tertentu dari

home page, server akan mengirimkan halaman yang diinginkan ke klien.

Di bawah ini adalah beberapa contoh Web Server :

NCSA

Page 221: OSI Layer

!

221

Web Server NCSA adalah public domain Web server ditulis dalam C. Siapa saja

diperbolehkan mempergunakannya tanpa lisensi dari pembuat. NCSA Server kompatibel

dengan hampir semua Web browser HTTP/0.9 dan HTTP/1.0. Server ini mendukung

direktory aliasing sehingga permintaan dokumen dapat dilayani dari berbagai struktur

direktori. Anda dapat membuat server untuk menjalankan fasilitas searching, form HTML

dan clickable images map dan mengontrol akses.

Untuk memperolehnya sourcenya dapat diambil di :

http://hoohoo.ncsa.uiuc.edu/docs/setup/PreCompiled.html

CERN

Web Server CERN memiliki kesamaan dengan NCSA yaitu bahwa Web server tersebut

adalah public domain dan ditulis dalam C. Web server ini mendukung form, clickable iamge

map, script, fasilitas search (via CGI), dan juga menyediakan maping nama dokumen ke

nama file.

Untuk informasi lebih jelasnya dapat dilihat di :

ftp://info.cern.ch/pub/www/bin/

URL ini akan membawa anda ke arsip FTP tempat precompiled source dari Web server

CERN.

Plexus

Plexus adalah Web server yang merupakan public domain dan ditulis dalam Perl, tidak perlu

lisensi untuk menggunakannya. Plexus didesain agar mudah untuk digunakan dan memiliki

performansi yang baik, mendukung protokol baik HTTP/0.9 maupun HTTP/1.0

Untuk informasi dapat dilihat di

http://www.bsdi.com/server/doc/plexus.html

Sedangkan sourcenya dapat diperoleh di :

ftp://austin.bsdi.com/plexus/2.2.1/dist/Plexus-2.2.1.tar.Z

Page 222: OSI Layer

222

World Wide Web Browser

Pada lingkungan klien/server di dunia web, kendali terletak pada web browser. Web server

berfungsi untuk meminta data dari web server dengan URL (Uniform Resource Locator)

yang diberikan oleh pengguna. Data yang diberikan oleh web server diberi nama HTML

(Hypertext Markup Language), data ini diartikan sendiri oleh web browser dan ditampilkan

di layar sesuai dengan kemampuan web browser itu sendiri. URL menyatakan protokol yang

digunakan untuk mencapai server yang diinginkan (biasanya nama dari server yag

bersangkutan tempat data/informasi yang kita inginkan berada, path direktori data yang kita

inginkan, dan bisa juga nama file yang kita inginkan. Dibawah ini contoh dari URL :

http://nic.itb.ac.id./pub/cnrg.html

maksud dari URL di atas adalah kita menggunakan protokol http (protokol untuk meminta

data dalam bentuk web) untuk mencapai server bernama nic.itb.ac.id. pada server

itu terdapat direktori pub yang di dalamnya terdapat file cnrg.html. Semua data yang

bisa diartikan oleh web browser berekstensi htm atau html.

Apabila user memilih sebuah hyperlink, maka web browser akan meminta data dari URL

yang disebutkan (disebutkan dalam data yang diminta sebelumnya) dan mengulangi lagi tugas

diatas.

Di bawah ini hubungan antara web browser dengan sumber infotmasi lain di internet :

gopher Server

Web Browser Web Server Gateway Server lain

FTP Server

Ketika web browser berinteraksi dengan Gopher Server (salah satu bentuk sumber informasi

di internet) maka web browser menjadi klien gopher dan menggunakan protokol gopher.

Apabila web browser berinteraksi dengan web server maka browser akan menjadi klien web

Page 223: OSI Layer

!

223

server dan menggunakan protokol HTTP. Demikian juga apabila browser berinteraksi

dengan FTP server.

Yang dimaksud dengan gateway pada gambar di atas adalah kemampuan web server untuk

mengeksekusi perintah-perintah khusus yang dapat menampilkan informasi lain yang tidak

dapat ditampilkan dengan cara biasa. Dalam dunia web, gateway ini disebut CGI (common

Gateway Interfaces).

Page 224: OSI Layer

224

HTTP

Web browser dan server berkomunikasi menggunakan protokol HTTP (HyperText Transfer

Protocol). Protokol ini menganggap permintaan dokumen (HTML) dari browser sebagai

koneksi baru. Apabila ia telah memenuhi permintaan browser dan data telah ditransfer, maka

hubungan dengan browser akan ditutup. Negosiasi ini juga dibantu dengan adanya MIME

(Multimedia Internet Mail Extensions), yang membantu browser mengenal data yang

diterimanya. Informasi ini biasanya ditaruh di header dari data, contohnya

text/html image/gif

yang dimaksud dengan keterangan di atas adalah, data yang dikirim oleh web server ada dua

macam, yaitu text dalam bentuk html dan gambar dalam format gif. Browser menggunakan

keterangan di atas untuk menerjemahkan dan menampilkan data yang diterimanya.

Konfigurasi Web Server

Pembahasan instalasi web server ini ditujukan pada software APACHE web server yang

sudah tersedia dalam server UNIX FreeBSD. Instalasi dari software ini cukup mudah karena

cukup interaktif, anda dapat menginstall software ini pada saat anda menginstall FreeBSD

untuk pertama kalinya.

Instalasi Web Server

Web Server yang akan digunakan adalah apache-1.1.1. Source-nya mudah untuk diperoleh

karena sudah tersedia pada FreeBSD. Sebenarnya ada beberapa cara yang dapat digunakan

untuk instalasi Web Server ini. Salah satu caranya adalah dengan cara yang dilakukan seperti

instalasi FTP Server di atas. Pada instalasi kali ini kita akan menggunakan cara lain yaitu

dengan perintah pkg_add.

Caranya adalah sebagai berikut :

Ambillah source apache-1.1.1. Source ini bisa diambil dari CDROM FreeBSD atau dengan

ftp ke site di Internet yang menyediakan layanan ini, sebagai contoh site adalah ftp.itb.ac.id.

Page 225: OSI Layer

!

225

Letak source dari apache-1.1.1 ini biasanya ada di direktori /pub/FreeBSD/2.1.5-

RELEASE/packages-2.1.5/www dengan nama file apache-1.1.1.tgz.

Setelah diambil source tersebut extract-lah dengan perintah pkg_add.

# pkg_add apache-1.1.1.tgz

Biasanya file-file hasil extract tersebut disimpan di direktori /usr/local/www dan file httpd

yang terletak di /usr/local/sbin.

Di bawah ini adalah file-file yang merupakan konfigurasi dari web server :

httpd.conf File konfigurasi utama dari web server

srm.conf File resource dari web server

access.conf File untuk access control

biasanya file-file di atas diletakkan pada direktori /usr/local/www/server/conf. Editlah ke tiga

file tersebut agar menghasilkan konfigurasi yang sesuai dengan keinginan kita.

Konfigurasi dari httpd.conf

Di bawah ini kita bicarakan konfigurasi basic dari httpd.conf, kita batasi pembicaraan kita

pada option-option penting dari httpd.conf saja.

• Ubah User dan group dengan nama yang anda inginkan, option ini berhubungan

dengan proses dari unix yang membutuhkan user id (UID) dan group id (GID) ketika

server berjalan. Disarankan untuk menggunakan user www dan group www, untuk

keamanan dari server (dengan menambah entry di file /etc/master.passwd

dan /etc/group)

• Ubah ServerAdmin menjadi nama yang anda inginkan [email protected]. Option

ini harus diisi karena menunjukkan e-mail address dari administrator web server ini,

sehingga apabila terjadi problem dapat dialamatkan ke alamat di atas.

• Ubah ServerRoot ke path direktori tempat menaruh file eksekutable dari httpd , file

ini apabila dieksekusi akan menjalankan http daemon yang bertugas untuk melayani

permintaan dari klien. Direktori ini juga menunjukkan letak file konfigurasi berada.

Page 226: OSI Layer

226

Secara default konfigurasi ini telah menunjuk ke tempat yang benar yaitu di

/usr/local/www/httpd

• Ubah ServerName menjadi www.domain.anda. Nama ini harus sesuai dengan record

yang telah ada pada name server dari domain anda.

• Ubah ServerType sesuai dengan keinginan anda, bisa dijalankan di bawah inetd (baca

dalam pembahasan ftp server) atau standalone. Secara default option ini diisi

standalone, sebaiknya anda biarkan option ini diisi standalone.

Konfigurasi dari srm.conf

• Ubah DocumentRoot ke path direktori tempat anda meletakkan dokumen HTML

anda

• Isi opsi UserDir menjadi enabled apabila anda ingin user pada komputer tersebut

dapat mempunyai home page sendiri, user dapat membuat home page pribadi

dengan membuat file index.html pada direktori public_html di home direktori

user, atau disabled apabila anda tidak ingin kejadian di atas terjadi (home page milik

user dapat dipanggil dengan URL http://mesin.anda/~username)

Konfigurasi access.conf

Default dari access.conf adalah : <Directory /usr/local/www/cgi-bin>

ubah path di atas ke direktori dari cgi-bin anda

Options Indexes FollowSymlinks

</Directory)

<Directory /usr/local/www/data>

Page 227: OSI Layer

!

227

Ubah path di atas ke direktori dari data home page anda Options Indexes FollowSymlinks

AllowOverride All

<Limit GET>

order allow,deny

allow from all

</limit>

</Directory>

Menjalankan server

Standalone startup

Apabila anda ingin menjalankan server secara standalone (server membaca konfigurasi sekali

pada waktu dieksekusi dan akan dijalankan terus menerus sampai prosesnya dimatikan) maka

anda reboot saja mesin anda.

Atau bisa juga anda login sebagai root, lalu ketik perintah sebagai berikut : % httpd -d /tempat/http/eksekutable/berada

Jika letak dari file tersebut merupakan default-nya (biasanya ada di direktori

/usr/local/www/server/conf) cukup menjalankan daemonnya saja dengan : % /usr/local/sbin/httpd

Inetd startup

Edit file /etc/inetd.conf, dengan entry sebagai berikut : http stream tcp nowait www /tempat/eksekutable httpd

lalu restart inetd dengan mencari nomer process dari inetd dan ketik perintah % kill -HUP <no_process>

Page 228: OSI Layer

228

Mapping URL to documents

Untuk menyimpan file HTML di web server, kita harus mengetahui bagaiamana cara URL di

map terhadap document tree dari server kita. Kita lihatURL minimal untuk dapat mencapai

web server yang kita miliki : http://server.anda

Ketika pada URL tidak disertakan path direktori atau nama file, maka web server akan

menjawab permintaan tersebut dengan mengirimkan file index.html yang ada pada direktori

yang disebutkan di DocumentRoot (file index.html adalah startup file yang akan

diberikan ke klien, jadi file ini harus ada sebagai pembuka home page anda), atau apabila file

ini tidak ada maka secara otomatis server akan mengirim data yang serupa apabila kita

mengetik perintah ls di unix. Apabila pada URL kita sebutkan juga direktori dari data, maka

server akan mengartikan path tersebut sebagai berikut :

• Server akan melihat DocumentRoot pada file srm.conf. Direktori yang anda

sebutkan pada URL akan diganti dengan DocumentRoot ditambah direktori yang

anda sebutkan, sebagai misal :

http://nic.itb.ac.id./resource diartikan menjadi oleh server

mengambil data di direktori (bila DocumentRoot di /usr/local/www/data)

menjadi /usr/local/www/data/resource. Data yang ada dikirimkan ke

klien.

• Server akan melihat Alias atau ScriptAlias yang disebutkan di srm.conf,

misal di srm.conf disebutkan alias Alias /icons/ /usr/local/www/icons/

maka apabila ada permintaan dengan URL http://nic.itb.ac.id./icons

direktori icons di atas akan dipindah ke direktori yang disebutkan di alias,

alias di atas penting apabila anda ingin membuat banyak direktori yang tersebar di

beberapa tempat di web server.

Page 229: OSI Layer

!

229

Test Web server

untuk mengetes jalannya web server coba telnet ke mesin web server anda port 80 % telnet mesin.anda 80

Trying 167.205.123.1

Connected to mesin.ini

Escape Character is ‘^}’

HTTP/1.0 200 OK

Date: Saturday, 20 Aug 94 20:33 GMT

Server: Apache /1.2

MIME-version : 1.0

Content-type : text/html

Last Modified :

Connection Closed by foreign host

Di atas adalah contoh apabila anda mencoba untuk telnet ke port 80 dari mesin web server

anda, tampilan di mesin anda tidak harus sama dengan tampilan di atas. Apabila server anda

tidak mau di telnet berarti ada kesalahan konfigurasi.

Page 230: OSI Layer

230

9

Network Security

Pada bab ini akan dibahas secara singkat tentang

keamanan jaringan, meliputi:

• perencanaan security

• metoda-metoda yang dipakai

• software-software aplikasi

Page 231: OSI Layer

!

231

Network Security secara umum

Host/komputer yang terhubung ke network, mempunyai ancaman keamanan lebih besar

daripada host yang tidak terhubung kemana-mana. Dengan mengendalikan network security,

risiko tersebut dapat dikurangi. Namun network security biasanya bertentangan dengan

network access3, yaitu bila network access semakin mudah, maka network security makin

rawan, dan bila network security makin baik, network access makin tidak nyaman. Suatu

network didesain sebagai komunikasi data highway dengan tujuan meningkatkan akses ke

sistem komputer, sementara security didesain untuk mengontrol akses. Penyediaan network

security adalah sebagai aksi penyeimbang antara open access dengan security.

Disini network dikatakan sebagai highway, karena menyediakan akses yang sama untuk

semua, baik pengguna normal ataupun tamu yang tidak diundang. Sebagai analogi, keamanan

di rumah dilakukan dengan cara memberi kunci di pintu rumah, tidak dengan cara

memblokir jalan di depan rumah. Hal seperti ini juga diterapkan pada network security.

Keamanan dijaga untuk (setiap) host-host tertentu, tidak langsung pada networknya.

Keamanan untuk daerah dimana orang saling mengenal, pintu biasanya dibiarkan tidak

dikunci. Sedangkan di kota besar, pintu rumah biasanya menggunakan kunci-kunci

tambahan. Begitu pula yang dilakukan pada network. Untuk jaringan yang menghubungkan

host-host yang aman dan dikenal, tingkat keamanan host bisa tidak dijaga terlalu ketat. Bila

jaringan terhubung ke jaringan lain yang lebih terbuka, dan membuka peluang akses oleh

host yang tidak aman atau tidak dikenal, maka tidak bisa tidak, host-host di jaringan tersebut

membutuhkan pengamanan lebih. Ini bukan berarti keterbukaan hanya membawa akibat

buruk, sebab banyaknya fasilitas yang ditawarkan dengan keterbukaan jaringan ini

merupakan nilai lebih yang sangat membantu kemajuan network. Jadi network security

merupakan harga yang harus dibayar dari kemajuan jaringan komputer.

Pada bagian ini ditekankan kontrol sederhana yang dapat digunakan untuk meningkatkan

network security. Pendekatan yang beralasan kepada security, berdasarkan tingkat keamanan

3Network Access : kemudahan dan layanan yang diberikan sistem jaringan komputer kepada user

Page 232: OSI Layer

232

yang diperlukan oleh sistem, adalah yang paling cost effective, baik dalam hal pengeluaran

yang diperlukan maupun dalam hal produktifitas yang dihasilkan.

Konsep dalam network security

Perencanaan security

Salah satu problem network security yang paling penting, dan mungkin salah satu yang paling

tidak enak, adalah menentukan kebijakan dalam network security. Kebanyakan orang

menginginkan solusi teknis untuk setiap masalah, berupa program yang dapat memperbaiki

masalah-masalah network security. Padahal, perencanaan keamanan yang matang

berdasarkan prosedur dan kebijakan dalam network security akan membantu menentukan

apa-apa yang harus dilindungi, berapa besar biaya yang harus ditanamkan dalam

melindunginya, dan siapa yang bertanggungjawab untuk menjalankan langkah-langkah yang

diperlukan untuk melindungi bagian tersebut.

Mengenali ancaman terhadap network security

Langkah awal dalam mengembangkan rencana network security yang efektif adalah dengan

mengenali ancaman yang mungkin datang. Dalam RFC 12444, Site security Handbook,

dibedakan tiga tipe ancaman :

• Akses tidak sah, oleh orang yang tidak mempunyai wewenang.

• Kesalahan informasi, segala masalah yang dapat menyebabkan diberikannya

informasi yang penting atau sensitif kepada orang yang salah, yang seharusnya tidak

boleh mendapatkan informasi tersebut.

• Penolakan terhadap service, segala masalah mengenai security yang menyebabkan

sistem mengganggu pekerjaan-pekerjaan yang produktif.

4RFC : Request For Comment, definisi-definisi standar yang menjadi dasar

perencanaan dan implementasi dalam networking

Page 233: OSI Layer

!

233

Disini ditekankan network security dari segi perangkat lunak, namun network security

sebenarnya hanyalah sebagian dari rencana keamanan yang lebih besar, termasuk rencana

keamanan fisik dan penanggulangan bencana.

Kontrol terdistribusi

Salah satu pendekatan dalam network security adalah dengan mendistribusikan tanggung

jawab kontrol terhadap segmen-segmen dari jaringan yang besar ke grup kecil dalam

organisasi. Pendekatan ini melibatkan banyak orang dalam keamanan, dan berjalan

berlawanan dengan prinsip kontrol terpusat.

Pada prinsipnya, tanggung jawab dan kontrol yang terdistribusi dalam grup-grup kecil

menciptakan lingkungan jaringan kecil yang terdiri dari trusted hosts. Meminjam analogi

keamanan kota, maka hal ini sesuai dengan sistem keamanan tingkat RT, dimana terjadi

kerjasama antar RT untuk menjaga lingkungan yang lebih besar. Jadi keamanan suatu segmen

dipercayakan kepada manajer jaringan pada segmen tersebut. Dengan terjaganya keamanan

tiap segmen, maka secara keseluruhan keamanan jaringan akan terjaga.

Dalam mendistribusikan kontrol network, digunakan berbagai cara. Salah satunya adalah

dengan memanfaatkan pembagian subnet5. Di setiap subnet terdapat subnet administrator

(admin subnet) yang bertanggungjawab untuk keamanan network dan mempunyai kekuasaan

untuk mengalokasikan / menetapkan IP address untuk device yang terhubung pada network.

Penetapan IP address memberi admin subnet suatu kontrol terhadap siapa yang terhubung

ke subnet. Sewaktu admin subnet menetapkan IP address untuk suatu sistem, dia juga

menetapkan tanggungjawab keamanan tertentu ke admin sistem tersebut. Demikian juga, bila

admin sistem menetapkan suatu account bagi user, maka ia memberikan tanggungjawab

keamanan tertentu kepada user. Hirarki ini mengalir dari admin network, ke admin subnet,

admin sistem, dan ke user. Mereka mendapat tanggungjawab, dan juga wewenang untuk

menurunkan tanggungjawabnya. Untuk itu, setiap user harus mengetahui tanggungjawabnya.

Dalam kontrol terdistribusi, informasi dari luar disaring dahulu oleh admin network,

kemudian disaring lagi oleh admin subnet, demikian seterusnya, sehingga user tidak perlu

5subnet : lihat Bab 3, Konfigurasi Routing

Page 234: OSI Layer

234

menerima terlalu banyak informasi yang tidak berguna. Bila informasi ke user berlebihan,

maka user akan mulai mengabaikan semua yang mereka terima.

Menentukan security policy6

Dalam network security, peranan manusia yang memegang tanggungjawab keamanan sangat

berperan. Network security tidak akan efektif kecuali orang-orangnya mengetahui

tanggungjawabnya masing-masing. Dalam menentukan network security policy, perlu

ditegaskan apa-apa yang diharapkan, dan dari siapa hal tersebut diharapkan. Selain itu,

kebijakan ini harus mencakup :

• Tanggung jawab keamanan network user, meliputi antara lain keharusan user untuk

mengganti passwordnya dalam periode tertentu, dengan aturan tertentu, atau

memeriksa kemungkinan terjadinya pengaksesan oleh orang lain, dll.

• Tanggung jawab keamanan system administrator, misalnya perhitungan keamanan

tertentu, memantau prosedur-prosedur yang digunakan pada host.

• Penggunaan yang benar sumber-sumber network, dengan menentukan siapa yang

dapat menggunakan sumber-sumber tersebut, apa yang dapat dan tidak boleh mereka

lakukan.

• Langkah-langkah yang harus diperbuat bila terdeteksi masalah keamanan, siapa yang

harus diberitahu. Hal ini harus dijelaskan dengan lengkap, bahkan hal-hal yang

sederhana seperti menyuruh user untuk tidak mencoba melakukan apa-apa atau

mengatasi sendiri bila masalah terjadi, dan segera memberitahu system administrator.

Metoda-metoda yang digunakan dalam network security

Pembatasan akses pada network

• Internal password authentification (password pada login system)

Password yang baik menjadi bagian yang paling penting namun sederhana dalam keamanan

jaringan. Sebagian besar dari masalah network security disebabkan password yang buruk.

Biasanya pembobolan account bisa terjadi hanya dengan menduga-duga passwordnya.

6security policy : kebijakan yang diambil berkaitan dengan keamanan jaringan

Page 235: OSI Layer

!

235

Sedangkan bentuk yang lebih canggih lagi adalah dictionary guessing, yang menggunakan

program dengan kamus ter-enkripsi, dibandingkan dengan password ter-enkripsi yang ada.

Untuk itu, file /etc/passwd harus dilindungi, agar tidak dapat diambil dengan ftp atau tftp

(berkaitan dengan file-mode). Bila hal itu bisa terjadi, maka tftp harus dinonaktifkan. Ada juga

sistem yang menggunakan shadow password, agar password yang ter-enkripsi tidak dapat

dibaca. Sering mengganti password dapat menjadi salah satu cara menghindari pembobolan

password. Namun, untuk password yang bagus tidak perlu terlalu sering diganti, karena akan

sulit mengingatnya. Sebaiknya password diganti setiap 3-6 bulan.

Algoritma enkripsi password tidak dapat ditembus, dalam arti password yang ter-enkripsi

tidak dapat didekripsikan. Yang paling mungkin adalah bila kata-kata dalam kamus di-

enkripsi, dan dibandingkan dengan password ter-enkripsi. Bila password yang digunakan

buruk, mudah ditemukan dalam kamus, maka akan mudah terbongkar.

Beberapa hal yang sebaiknya diperhatikan dalam memilih password :

⇒ Jangan memakai nama login.

⇒ Jangan memakai nama siapapun atau apapun.

⇒ Jangan memakai kata-kata singkatan.

⇒ Jangan memakai informasi pribadi yang berhubungan dengan pemilik account. Misalnya,

inisial, nomor telepon, jabatan, unit organisasi, dll.

⇒ Jangan memakai deretan kunci keyboard, seperti qwerty.

⇒ Jangan memakai semua yang disebut di atas walaupun dibalik urutannya, atau kombinasi

huruf besar kecil.

⇒ Jangan memakai password serba numerik.

⇒ Jangan memakai contoh password yang ada di buku keamanan jaringan, sebaik apapun

password tersebut.

⇒ Gunakan kombinasi angka dan campuran huruf besar kecil.

⇒ Gunakan minimal 6 karakter

⇒ Gunakan pilihan angka dan huruf yang kelihatannya acak.

⇒ Namun password sebaiknya yang gampang diingat. Hindari password yang sukar diingat,

sehingga harus ditulis dahulu untuk mengingatnya. Selain itu, password jangan terlalu

panjang. Ada juga software yang dapat menjaga agar user mematuhi peraturan-peraturan

Page 236: OSI Layer

236

yang dibuat. Sehingga dalam memasukan password, user dipaksa untuk memasukkan

password yang unik, dan sesuai dengan peraturan-peraturan tertentu.

• server-based password authentification

Termasuk dalam metoda ini misalnya sistem Kerberos server, TCP-wrapper, dimana setiap

service yang disediakan oleh server tertentu dibatasi dengan suatu daftar host dan user yang

boleh dan tidak boleh menggunakan service tersebut.

ServerWorkStation

User

Auth Svr

TGS

DB

TGS : Ticket Granting Server DB : Data Base systemAuth Svr : Authentification Server

Kerberos System

Kerberos server diimplementasikan pada setiap service, dan dimulai ketika seorang user

melakukan login pada suatu sistem. Pada prinsipnya, saat seorang user melakukan login,

maka program login akan menghubungi Kerberos system untuk mendapatkan ‘ticket’ untuk

akses pada sistem yang disediakan. User sendiri tidak merasakan perbedaan (tidak perlu

memberikan password tambahan). Bila user akan menggunakan service-service pada server

lainnya, maka sistem dimana user tersebut login akan kembali menghubungi Kerberos

system untuk mendapatkan ticket baru untuk service pada server tersebut. Dengan cara ini,

dapat dihindari penyusupan melalui methoda ‘protocol spoofing’, dimana user dari sistem

lain yang berusaha menggunakan service-service yang dilindungi pada sistem tersebut, tidak

akan melalui Kerberos system lebih dahulu, sehingga permintaan servicenya akan ditolak

oleh server. Disini setiap server (penyedia service) hanya akan melayani permintaan yang

disertai ticket dari Kerberos. Tentu saja Kerberos system ini tidak berpengaruh bila si

penyusup sudah berhasil memasuki salah satu local account.

Page 237: OSI Layer

!

237

User

LoginTelnet ServerTelnet Client

Log-FileTelnet Client

Telnet ClientINETD

User TCP-Wrapper

User

TCP-wrapper adalah sistem yang menggunakan metoda ‘access control’ dimana akses

terhadap suatu service ke server dibelokkan, dilakukan pengecekan terlebih dahulu asal dari

permintaan service tersebut, bila ada dalam daftar yang diperbolehkan, maka diteruskan ke

server yang sebenarnya.

• server-based token authentification

Metoda ini menggunakan authentification system yang lebih ketat, yaitu dengan penggunaan

token / smart card, sehingga untuk akses tertentu hanya bisa dilakukan oleh login tertentu

dengan menggunakan token khusus.

• Firewall dan Routing Control

Komputer dengan firewall menyediakan kontrol akses ketat antara sistem dengan sistem lain.

Konsepnya, firewall mengganti IP router dengan sistem host multi-home, sehingga IP

forwarding7 tidak terjadi antara sistem dengan sistem lain yang dihubungkan melalui firewall

tsb. Agar jaringan internal dapat berhubungan dengan jaringan diluarnya dalam tingkat

konektifitas tertentu, firewall menyediakan fingsi-fungsi tertentu.

7IP Forwarding : lihat Configuring routing.

Page 238: OSI Layer

238

Firewall

Router

Firewall mencegah paket IP diteruskan melalui layer IP. Namun, seperti host multi-home,

firewall menerima paket dan memprosesnya melalui layer aplikasi. Sebetulnya ada juga router

yang mempunyai fasilitas keamanan khusus seperti firewall, dan biasanya disebut ‘secure

router’ atau ‘secure gateway’. Namun firewall bukan router, karena tidak meneruskan

(forwarding) paket IP. Firewall sebaiknya tidak digunakan untuk memisahkan seluruh

jaringan internal dari jaringan luar. Firewall dapat dipakai untuk memisahkan beberapa

bagian dari jaringan internal yang sensitif terhadap jaringan non sensitif dan jaringan luar,

sedangkan antara jaringan non sensitif dengan jaringan luar digunakan router. Firewall seperti

ini disebut firewall internal. Memisahkan sistem bagian yang sensitif dengan yang non sensitif

biasanya sulit, sehingga umumnya digunakan firewall external, atau kombinasi keduanya.

Namun bila bagian yang sensitif dapat dipisahkan, dan digunakan firewall internal, maka

akan lebih baik, sebab tidak seluruh jaringan terisolasi dari jaringan luar.

router F

F InternalNet

InternalNetSensitive

InternalNetNon-

sensitive

ExternalNet

ExternalNet

Dengan adanya firewall, semua paket ke sistem di belakang firewall dari jaringan luar tidak

dapat dilakukan langsung. Semua hubungan harus dilakukan dengan mesin firewall. Karena

Page 239: OSI Layer

!

239

itu sistem keamanan di mesin firewall harus sangat ketat. Dengan demikian lebih mudah

untuk membuat sistem keamanan yang sangat ketat untuk satu mesin firewall, daripada harus

membuat sistem keamanan yang ketat untuk semua mesin di jaringan lokal (internal).

Kerugiannya, host lokal tidak dapat mengakses jaringan luar. Untuk itu, firewall harus

menyediakan beberapa fungsi yang tidak ada di router :

⇒ DNS, name service untuk dunia luar. Name service untuk host lokal ditangani sistem

internal. Firewall menyediakan name service terbatas untuk jaringan luar. Name server ini

tidak menyediakan nama atau informasi tentang host lokal.

⇒ E-mail forwarding. Pada sistem firewall, sendmail dikonfigurasi untuk meneruskan mail

ke tiap user pada semua sistem internal. Setiap user dikenali melalui alias. Mail keluar di-

rewrite sehingga user internal seakan-akan ada pada sistem firewall. Nama login dengan

nama host internal tidak dikenal dari luar.

⇒ Service ftp. Semua transfer dengan ftp harus melalui firewall. Jadi dari luar hanya bisa ftp

ke sistem firewall. Anonymous ftp hanya ada di firewall. Dari dalam, untuk ftp keluar,

harus login dahulu ke firewall, baru bisa ftp keluar.

⇒ Telnet atau rlogin. Untuk bisa telnet atau rlogin dari atau keluar, maka harus rlogin atau

telnet dahulu ke firewall.

Hanya fasilitas tersebut diatas saja yang disediakan oleh firewall. Fasilitas lainnya, seperti NIS,

NFS, rsh, rcp, finger dll tidak boleh ada pada firewall. Pada sistem firewall, keamanan lebih

penting daripada fasilitas.

Sistem firewall bekerja dengan cara menginterupsi proses routing antara sistem yang

dilindungi dengan sistem luar. Jadi menggunakan metoda control routing. Dengan routing

table statis hal ini dapat dilakukan. Dalam routing table, ditentukan network mana saja yang

dapat berkomunikasi, dan lewat mana hubungan dilakukan. Jadi routing table-nya tidak

mempunyai default route, dan hanya mempunyai routing untuk host luar tertentu saja, selain

routing lokal. Misalnya, beberapa host ee.itb.ac.id pada subnet

167.205.8.64 (4 bit untuk host address) dengan routernya 167.205.8.80, dilindungi dengan

sistem routing control seperti firewall, untuk subnet tersebut. Host-host tersebut hanya

berhubungan dengan host lokal, dan host luar tertentu, yaitu dns.paume.itb.ac.id pada

Page 240: OSI Layer

240

address 167.205.22.120 dan maingtw.paume.itb.ac.id pada 167.205.31.131. Maka routing

table pada host hampton.ee.itb.ac.id dengan address 167.205.8.79 sebagai berikut :

Destination Gateway Interface 127.0.0.1 127.0.0.1 lo0 167.205.8.64 167.205.8.79 ed0 167.205.22.120 167.205.8.80 ed0 167.205.31.131 167.205.8.80 ed0

Disini tidak ada default route. Selain itu tidak boleh ada program dynamic routing protocol

yang sedang dijalankan atau yang dijalankan sewaktu startup sistem. Default routing pun

tidak boleh didefinisikan saat startup. Yang ada hanya route static tertentu saja yang

didefinisikan saat startup.

Cara seperti ini tingkat keamanannya tidak sekeras firewall, tidak membutuhkan program-

program khusus. Namun konfigurasi sistem harus dilakukan pada semua host pada sistem

tersebut, sedangkan pada firewall, konfigurasi sistem cukup dilakukan pada mesin firewall

saja. Namun cara di atas dapat menjadi alternatif yang mungkin dilakukan.

Metoda enkripsi

Salah satu cara pembatasan akses adalah dengan enkripsi. Proses enkripsi meng-encode data

dalam bentuk yang hanya dapat dibaca oleh sistem yang mempunyai kunci untuk membaca

data. Proses enkripsi dapat dengan menggunakan software atau hardware. Hasil enkripsi

disebut cipher. Cipher kemudian didekripsi dengan device dan kunci yang sama tipenya

(sama hardware/softwarenya, sama kuncinya). Dalam jaringan, sistem enkripsi harus sama

antara dua host yang berkomunikasi. Jadi diperlukan kontrol terhadap kedua sistem yang

berkomunikasi. Biasanya enkripsi digunakan untuk suatu sistem yang seluruhnya dikontrol

oleh satu otoritas.

Beberapa alasan penggunaan enkripsi :

• mencegah orang yang tidak berwenang melihat data-data sensitif

• mengurangi kemungkinan terbukanya data rahasia tanpa sengaja

• mencegah orang-orang yang mempunyai akses istimewa (mis: sistem admin) agar

tidak dapat melihat data pribadi

• untuk mempersulit usaha intruder memasuki sistem

Page 241: OSI Layer

!

241

Metoda enkripsi bukan solusi terbaik keamanan jaringan, karena ada enkripsi yang bisa

menyebabkan hilangnya data. Selain itu, enkripsi juga masih bisa dipecahkan. Pada sistem

unix, biasanya digunakan standar enkripsi crypt dan/atau des. Data encryption standard, des,

teknik enkripsi modern yang dibentuk tahun 70-an. Sedangkan crypt berdasar dari teknik

enkripsi mesin Enigma Jerman (perang dunia dua). Dari keduanya, des lebih bagus.

Program crypt dan des membaca data dari standar input, menghasilkan keluaran di standar

output, membutuhkan kunci untuk enkripsi. Kunci ini , seperti password harus sukar untuk

diduga, namun mudah untuk diingat. Hal-hal untuk password berlaku juga untuk kunci ini.

Penggunaan des dan crypt ini dapat dilihat dari manual perintah tersebut pada sistem.

Bila file yang di-enkripsi adalah file teks, maka kemungkinan file tersebut dapat di-dekripsi

oleh program pemecah enkripsi lebih besar, dibanding bila file data yang di-enkripsi tersebut

adalah file binary. Karena itu sebaiknya file-file data penting yang akan di-enkripsi sebaiknya

digabungkan dahulu dengan program tar, lalu di-compress atau dengan program gzip.

Hasilnya baru di-enkripsi.

Metoda enkripsi dalam pengiriman data yang dapat dilakukan ada bermacam-macam, antara

lain :

• Data Encryption Standard, des

Diperlukan satu kunci untuk meng-encode dan men-decode data.

• RSA Public/Private key concept

Pengirim data memerlukan satu Public key untuk meng-encode data, si penerima

data akan men-decode data dengan satu kunci khusus Private key yang hanya dimiliki

olehnya saja. Sistem ini lebih baik keamanannya daripada des, namun kurang cepat.

Misal : PGP

Page 242: OSI Layer

242

• Digital Envelope

Merupakan gabungan des dengan Public/Private key concept. Data dikirimkan

dengan ter-enkripsi des, dengan kunci tertentu. Kunci des tersebut kemudian

dienkripsi dengan Public key milik si penerima, dan digabungkan dengan data yang

sudah ter-enkripsi. Penerima data akan membuka kunci des yang ter-enkripsi dengan

Private key yang dimilikinya. Lalu kunci des yang dihasilkan digunakan untuk

membuka data. Disini digunakan des sebagai enkriptor data, karena kecepatannya

yang lebih baik dibandingkan penggunaan Public/Private key. Sedangkan

keamanannya terjamin oleh penggunaan Public/Private key terhadap kunci des yang

dipakai.

Compare

Public/Private key concept

Digital Envelope

Digital Signature

• Digital Signature

Page 243: OSI Layer

!

243

Digunakan untuk data yang terbuka untuk umum (public accessible) namun dijaga

kebenarannya (seperti penggunaan checksum pada sistem kompresi file, sistem

transmisi data). Untuk itu pada data tersebut ditambahkan ‘signature’. Signature ini

dibuat dari data yang akan dikirimkan, yang diproses dengan algoritme tertentu

(hashing algorithm) menjadi ‘message digest’, lalu message digest tersebut di-encode

dengan Private key si pengirim, menjadi digital signature untuk data tersebut. Si

penerima dapat memastikan kebenaran (authentification) data yang dikirimkan

dengan men-decode digital signature menjadi message digest dengan menggunakan

Public key, lalu membandingkannya dengan message digest yang dibuat dari data

yang diproses dengan algoritme tertentu (dalam hal ini hashing algorithm).

Security Monitoring

Beberapa aplikasi memakai mekanisme keamanan tersendiri. Aplikasi-aplikasi ini harus

dikonfigurasikan dengan benar. Misalnya :

• Perintah remote pada unix; konfigurasi pada /etc/hosts.equiv, /etc/hosts.lpd

dan ~/.rhosts harus benar.

• Sendmail; alias uudecode dan decode sebaiknya dihapus dari /etc/aliases bila

tidak digunakan.

• NFS; pada NFS server, file /etc/exports yang mengatur akses ke filesystem

sebaiknya membatasi akses dari remotesystem ke filesystem. Hindari pemberian akses

root kepada remotesystem.

User root dapat login dari setiap secure terminal. Secure terminal ini didefinisikan di dalam

file /etc/ttys atau /etc/ttytab.

Contoh :

# ttys

console “/usr/etc/getty std.9600” pc on local secure ttya “/usr/etc/getty std.9600” unknown on local secure ttyb “/usr/etc/getty std.9600” unknown on local secure ttyc “/usr/etc/getty std.9600” unknown on local secure ttyd “/usr/etc/getty std.9600” unknown on local secure

Page 244: OSI Layer

244

Keyword secure menunjukkan root dapat login dari semua terminal. Untuk amannya,

sebaiknya hanya console saja yang mempunyai keyword secure. Atau semua terminal tidak

mengandung keyword secure, sehingga login root tidak dapat diakses langsung. Login root

hanya bisa diakses melalui login user yang mempunyai akses su (superuser).

Setiap software yang mengijinkan hubungan yang datang dari remote site, mempunyai

kemungkinan untuk digunakan secara tidak benar (adanya ‘intruder’). Karena itu program-

program systat, tftp, dan link sebaiknya dihapus dari file /etc/inetd.conf kecuali bila

memang memerlukannya. Pembatasan ekstrim : perintah remote unix, finger daemon, ftp,

telnet juga di-disable. Untuk site tertentu, hal ini tidak perlu dan tidak produktif.

Biasanya software terbaru dari vendor memiliki perbaikan, juga dalam hal security. Software

yang perlu di-update :

• sendmail

• fingerd

• ftpd

Cara mudahnya, dapat dilihat dari tanggal file. Bila sudah terlalu lama, maka perlu diganti

dengan yang baru. Bila tanggalnya masih baru, belum tentu sudah menggunakan yang

terbaru. Lebih baik lagi bila menghubungi vendornya untuk mendapatkan keterangan yang

diperlukan.

Salah satu elemen penting dari keamanan jaringan adalah pemantauannya. Dengan adanya

pemantauan yang teratur, maka penggunaan sistem oleh yang tidak berhak dapat dihindari.

Selain itu, seiring dengan waktu, maka sistem pun berubah. Keamanan jaringan dapat

terpengaruh oleh adanya perubahan ini. Hal ini dapat dideteksi dengan adanya pemantauan.

Untuk mendeteksi aktifitas yang tidak normal, maka perlu diketahui aktifitas yang normal.

Proses apa saja yang berjalan pada saat aktifitas normal. Siapa saja yang biasanya login pada

saat tersebut. Siapa saja yang biasanya login diluar jam kerja. Dan hal-hal lainnya. Hal ini

dapat diamati dengan perintah ls, who, ps. Perlu juga dibuat pengecekan file periodik,

perubahan apa saja yang sudah terjadi, dan apakah masih dapat diterima. Bila terjadi

keganjilan, maka perlu segera diperiksa.

Intruder biasanya meninggalkan file-file atau shell-script untuk membantu mereka masuk

kembali ke sistem. Periksa file-file dengan nama yang diawali dengan dot (.) seperti .mail, .xx,

Page 245: OSI Layer

!

245

... (dot, dot, dot), .. (dot, dot, spasi), ..^G (dot, dot, control-G), dll. Bila ada yang

mencurigakan, maka harus segera diperiksa lebih lanjut.

Selain itu perlu juga diperiksa file-file :

• /etc/inetd.conf, periksa program-program yang dijalankan dari file ini, pastikan

tidak ada program shell yang dijalankan dari sini. Periksa juga program-programnya,

apakah ada yang dimodifikasi. File /etc/inetd.conf ini seharusnya tidak boleh

dapat ditulis (write permission) oleh user lain.

• file-file untuk perintah remote unix, seperti /etc/hosts.equiv, /etc/hosts.lpd

~/.rhosts harus diperiksa untuk memastikan tidak terjadi perubahan yang

mencurigakan. Terutama entry tanda plus (+), dan entry host yang tidak berada

dalam ‘trusted network’. File-file ini seharusnya tidak boleh dapat ditulis oleh user

lain.

• /etc/passwd, pastikan file ini tidak baru saja dimodifikasi. Perhatikan user-user

baru, perubahan UID dan GID tiap account. File ini seharusnya tidak boleh dapat

ditulis oleh user lain (Kecuali bila ada yang baru mengganti password).

• file-file yang dijalankan oleh cron atau at, periksa dan cari file baru atau perubahan

yang tidak jelas.

• file executable, file binary, shell script, harus diperiksa terhadap kemungkinan

perubahan oleh intruder. Master checklist akan sangat membantu pemeriksaan ini.

File-file ini seharusnya tidak boleh dapat ditulis oleh user lain.

Bila hal-hal yang mencurigakan terjadi, maka perlu dijaga kemungkinan adanya intruder.

Perlu juga memberitahu orang-orang yang biasa menggunakan sistem untuk berhati-hati,

supaya masalah tidak menyebar ke sistem lain.

Dengan perintah find, dapat dicari file dengan ketentuan keamanan tertentu, terutama file

berupa program dengan setuid. Misal : find / -user root -perm -4000 -print

akan mencari file mulai dari root directory (/), file yang dimiliki oleh root yang mempunyai

bit setuid, dan menampilkannya. Periksa file-file seperti ini. Umumnya (sebaiknya) shell

script tidak mempunyai bit setuid. Hal-hal lain yang mungkin menimbulkan masalah adalah

file dengan akses dapat ditulis oleh siapa saja (-perm -2), setgid file (-perm -2000), dan file

Page 246: OSI Layer

246

tanpa pemilik (-nouser -o -nogroup). File yang dimiliki oleh bukan valid user harus dihapus.

File yang dapat bebas ditulisi oleh siapa saja, dan file dengan bit setgid, harus diperiksa

kebenarannya. Umumnya file dengan nama berawalan dot (.) hanya dapat ditulis oleh pemilik

file saja, tidak boleh dapat ditulisi oleh umum, dan file shell script tidak boleh mempunyai bit

setgid.

Aktifitas login yang aneh, pada waktu yang tidak biasa dari lokasi yang tidak dikenal, dapat

mengindikasikan usaha masuknya intruder ke sistem. Selain perintah who, untuk

menampilkan siapa saja yang sedang login saat itu, ada juga perintah last, untuk menampilkan

siapa saja yang sudah pernah login. Perintah ini menampilkan isi file /var/log/wtmp

(FreeBSD 1.0e). Isinya menunjukkan siapa yang login ke sistem, terminal yang digunakan,

dari lokasi (address) mana, dan kapan (hari, tanggal, jam) mereka login, kapan (jam) mereka

logout, dan waktu login. Selain file ini, /var/log/messages (FreeBSD 1.0e) menunjukkan

standar error yang pernah terjadi, sehingga dapat digunakan untuk mengamati login ke root,

login gagal (fail), penggunaan su, dll.

COPS

Computer Oracle Password and Security adalah kumpulan program yang mengotomatisasi

banyak prosedur pemantauan komputer. COPS hanya mendeteksi masalah potensial yang

mungkin terjadi, tidak melakukan penyelesaian. COPS hanya membantu mempermudah

pemantauan sistem admin.

Fasilitas dalam COPS memeriksa :

• bit permission file, direktori, dan device

• isi dari /etc/passwd dan /etc/group

• isi dari /etc/hosts.equiv dan ~/.rhosts

• perubahan dalam status SUID

Setelah pemeriksaan dilakukan, COPS mengirimkan mail report hasil pemeriksaan ke sistem

admin. Kelebihan dari COPS adalah kesederhanaannya. Dengan menjalankan COPS pada

setiap periode tertentu, maka pemantauan keamanan jaringan dapat dilakukan relatif lebih

mudah.

Page 247: OSI Layer

!

247

Software aplikasi dalam network

security

Firewall

Sistem Firewall biasanya merupakan trademark software, sehingga instalasi dan

konfigurasinya tergantung kepada Firewall yang digunakan.

Contoh Firewall : Aimnet Firewall, BorderWare (JANUS) Firewall, dll.

Kontrol akses

Cara lain yang tidak seketat firewall adalah dengan kontrol akses. Router dan host-host yang

menggunakan kontrol akses akan memeriksa setiap address dari remote host yang meminta

service dengan access control list. Jika address itu ada pada list, maka service-request akan

dilayani. Kontrol akses tidak mem-bypass security check normal, tetapi menambahkan

pemeriksaan (validasi) dari service-request host. Kontrol akses ini biasa digunakan pada

terminal server, dan ada juga pada router. Salah satu contoh program kontrol akses adalah

program wrapper. Program wrapper ini merupakan Free-software, dan dapat diambil dari

anonymous ftp sites yang berhubungan dengan security. Program wrapper ini melakukan dua

fungsi dasar, mencatat request untuk service internet, dan menyediakan mekanisme kontrol

akses untuk sistem unix. Program daemonnya adalah tcpd. Program ini dijalankan melalui

/etc/inetd.conf pada tiap network service yang akan dilindungi dengan wrapper. Misal, pada

file inetd.conf terdapat baris sbb:

finger stream tcp nowait nobody /usr/etc/in.fingerd in.fingerd

Bila wrapper akan dipasang pada fingerd, maka barisnya diubah menjadi : finger stream tcp nowait nobody /usr/etc/tcpd in.fingerd

Saat inetd menerima permintaan untuk fingerd, maka tcpd akan dijalankan, lalu tcpd akan

mencatat request fingerd, memeriksa informasi kontrol akses, dan jika diijinkan, akan

menjalankan finger.

Page 248: OSI Layer

248

Program wrapper ini hanya dapat dipasang pada service yang dijalankan dari inetd seperti

ftpd, tftpd, telnetd, rshd, rlogind, rexecd, dan fingerd. Jadi tidak dapat dipasang pada

program daemon lain seperti sendmail dan NFS.

File yang digunakan tcpd untuk mengontrol akses adalah /etc/hosts.allow dan

/etc/hosts.deny, yang berisi daftar host yang diperbolehkan untuk mengakses network

service dan daftar host yang dilarang. Program tcpd akan memeriksa host.allow dahulu, bila

ada dalam daftar, akan langsung berhenti, dan melayani service request. Bila tidak ada dalam

daftar, akan memeriksa file hosts.deny. Bila host tersebut ada dalam daftar kedua, maka

request untuk service tersebut akan ditolak, dan bila tidak ada dalam daftar , semua service-

request darinya akan ditolak. Selain itu tcpd bisa juga dijadikan program yang hanya

memonitor, tanpa memberi perlindungan, bila kedua file tidak ada. Format untuk kedua file

diatas : service-list : host-list [:shell-command]

Service-list adalah daftar network service yang diterima atau ditolak tcpd melalui inetd.conf,

dipisahkan oleh koma. Service ini dikenali sebagai proses yang dipakai di field ke tujuh pada

entry inetd.conf. Pada contoh finger diatas, nama servicenya menjadi in.fingerd. Host-list

adalah daftar nama host, nama domain, internet address, network number, atau netgroup,

yang diterima atau ditolak untuk service pada service list. Khusus untuk domain name, harus

diawali dengan dot. Misalnya, domain paume.itb.ac.id, ditulis .paume.itb.ac.id, yang berarti

semua host pada domain tersebut. Untuk network number, sesuai dengan IP address dalam

address space. Misalnya, 167.205.8 berarti semua host, dengan IP number 167.205.8.1,

167.205.8.2 dst.

Contoh untuk host.allow : ftpd, rlogind : .paume.itb.ac.id, .ee.itb.ac.id

ALL : LOCAL

Page 249: OSI Layer

!

249

Disini dapat digunakan dua keyword, yaitu ALL dan LOCAL. Keyword ALL dapat

digunakan pada service-list maupun host-list, sedangkan keyword LOCAL hanya bisa dipakai

pada host-list. Definisi lokal pada tcpd, bila pada hostname tidak ada dot.

Field ketiga (optional) adalah shell-command. Jika host ada dalam daftar, dan sesuai dengan

entry tertentu yang mengandung field shell-command, maka tcpd mencatat akses, memberi

atau menolak request, dan mengeksekusi shell-command. Perlu diingat, bahwa tcpd hanya

berpengaruh pada service yang dijalankan dari inetd.conf, dan hanya pada service yang

memanggil tcpd lebih dahulu.

COPS

COPS dapat diimplementasikan pada banyak sistem unix. Untuk sistem non-BSD atau

sistem lain yang tidak standar, perlu direkonfigurasi dengan program reconfig, untuk

merubah pathname untuk program-program yang diperlukan sewaktu memanggil COPS.

Ada juga versi perl scrypt, yang biasanya tergantung versi perl yang digunakan.

Untuk running COPS pertama kali, perlu meng-compile (make) program yang menggunakan

bahasa C. Disini biasanya ditemui masalah yang berhubungan dengan portabilitas. Biasanya

si pembuat program memberitahukan beberapa kemungkinan tidak-kompatibelnya program

dengan sistem tertentu, namun tidak semua menyediakan hal tersebut. Disini diperlukan

pengalaman dan pengetahuan admin dalam sistem yang digunakannya. Selain itu perlu

membaca dokumentasi dari program yang akan di-install.

Page 250: OSI Layer

250

10

Troubleshooting TCP/IP

Kunci troubleshooting adalah mengetahui apa

permasalahannya. Untuk dapat melakukan

troubleshooting dengan efektif, dibutuhkan pendekatan

ke permasalahan secara metodologis dan pemahaman

mendasar tentang bagaimana jaringan bekerja. Untuk

itu, pada bab ini akan dibahas cara-cara praktis

melakukan troubleshooting pada jaringan aktif.

Page 251: OSI Layer

!

251

Memahami Permasalahan

Untuk dapat mengetahui permasalahan dengan tepat, diperlukan pemahaman dasar tentang

TCP/IP, seperti diuraikan pada bab-bab awal buku ini. Terutama bagaimana TCP/IP

melewatkan data melalui jaringan, antar tiap-tiap host, dan antar lapisan protokol. Sementara,

pengetahuan tentang protokol sendiri tidak banyak diperlukan

Informasi lain yang harus diketahui setelah memeriksa sistem (baca:komputer) yang dipakai

user dan sistem yang lain adalah:

• Apakah masalah timbul pada satu atau lebih aplikasi dalam sistem?

• Jika satu aplikasi maka kemungkinan terjadi kesalahan konfigurasi pada local host atau

tidak diaktifkannya aplikasi tersebut pada remote host.

• Apakah terjadi pada satu, semua, atau beberapa remote host?

⇒ jika pada satu remote host, maka problem terletak di host tersebut.

⇒ jika pada semua remote host, maka kesalahan terletak pada komputer user.

⇒ jika pada subnet atau jaringan eksternal tertentu, maka masalah berhubungan

dengan tabel routing.

• Apakah masalah terjadi pada system lokal lain dalam subnet yang sama?

⇒ jika hanya terjadi pada local system (user host), maka konsentrasikan pemeriksaan

di sistem ini.

⇒ jika terjadi pada seluruh sistem dalam subnet yang sama, maka konsentrasikan

pemeriksaan pada router untuk subnet tersebut.

Beberapa Petunjuk dalam

Troubleshooting • Dekati permasalahan dengan metodologi yang benar.

• Simpan catatan dari test-test yang telah Anda selesaikan berikut hasilnya.

• Jangan berasumsi terlalu banyak tentang penyebab timbulnya masalah.

Page 252: OSI Layer

252

• Perhatikan pesan kesalahan.

• Jangan terlalu tergantung pada laporan permasalahan dari user, tetapi alami sendiri

permasalahan tersebut dengan mencoba mengulangnya.

• Kebanyakan masalah disebabkan oleh faktor manusia.

• Jelaskan pemecahan masalahnya kepada user agar bisa menyelesaikan sendiri.

• Jangan berspekulasi dengan penyebab timbulnya masalah ketika berbicara dengan

user. Sebab dapat mengurangi kepercayaan mereka terhadap keandalan jaringan.

• Jangan mengabaikan hal-hal kecil. Periksa konektor, kabel, dan switch.

Diagnostic Tools

Banyak peralatan untuk mendiagnosa permasalahan mulai dari yang komersial berupa

hardware dan software yang mahal sampai software gratis yang tersedia di internet. Beberpa

juga telah built-in dalam sistem UNIX. Berikut ini tools yang telah tersedia dalam UNIX yang

akan kita pakai untuk troubleshooting:

ifconfig

deskripsi : memberi informasi tentang konfigurasi dasar interface.

fungsi : mengetahui IP address, masking subnet, dan alamat broadcast yang salah

arp

deskripsi : menyediakan informasi tentang translasi ethernet addr

ke IP address

fungsi : untuk mendeteksi system pada jaringan lokal yang dikon

figurasi dengan IP address yang salah.

Page 253: OSI Layer

!

253

netstat

deskripsi : menampilkan statistik tentang interface tiap jaringan,

socket jaringan, dan routing table secara detail.

ping

deskripsi : menampilkan statistik paket loss dan waktu delivery

fungsi : untuk mengetahui apakah remote host dapat dicapai

nslookup

deskripsi : merupakan tool untuk mengetahui name server dan informasi lain yang

tersimpan dalam Domain Name Service.

fungsi : untuk mengetahui name server dan nama host yang benar.

dig

deskripsi : seperti nslookup, tetapi tidak interaktif.

traceroute

deskripsi : menampilkan route yang dilalui paket dari system lokal

ke remote host

fungsi : mengetahui lokasi gateway yang bermasalah ketika menghubugi sebuah

remote host.

Memeriksa Sambungan

Perintah ping pada umumnya dilakukan pertama kali untuk menguji apakah remote host

dapat dicapai dari komputer anda atau tidak. Ketika perintah ini dijalankan, paket akan

dikirimkan dari lokal host ke remote host. Kemudian remote host akan memberikan respon

dengan mengirim paket ke local host. Dapat kita ketahui waktu yang ditempuh bolak-balik (rtt,

round trip time).

Page 254: OSI Layer

254

Ada dua kemungkinan kesalahan yang dapat diketahui setelah menjalankan perintah ini:

• jika paket dapat dikirimkan ke remote host dan mendapat respon, maka kemungkinan

kesalahan terjadi di lapisan atas (aplikasi).

• jika paket tidak dapat membuat round-trip, kemungkinan di lapisan bawah

(fisik,konfigurasi) terjadi kesalahan.

Ada kasus yaitu biasanya user mengeluh tidak bisa melakukan telnet atau ftp ke remote host.

Perintah ping sangat berguna di sini untuk menguji apakah host user memiliki sambungan ke

remote host.

Jika ping dengan host lain berhasil dan dengan host user juga berhasil, maka kemungkinan

remote host tidak menyediakan fasilitas telnet atau ftp. Atau mungkin remote host sedang off

ketika user mencoba aplikasi ini. Minta supaya user mencoba lagi.

Jika ping dari host anda berhasil dan ping dari host user gagal, maka pusatkan pengujian

pada host user. Kemungkinan routing dari user ke remote host salah. Bandingkan dengan

konfigurasi host anda.

Jika semua usaha ping gagal, perhatikan pesan kesalahan yang muncul. Ada beberapa tipe

dasar kesalahan:

unknown host

Nama remote host tidak dapat diterjemahkan ke dalam IP address. Kemungkinan kesalahan

pada server nama baik server lokal anda ataupun remote server. Coba ping langsung dengan

memakai nomor IP address. Jika berhasil, maka problem terletak pada name service.

Gunakan nslookup untuk menguji server lokal maupun remote dan untuk mengetahui

kebenaran nama service yang diberikan user. Jika ping gagal, kemungkinan pada jaringan

antara host anda dengan remote server terdapat problem.

Page 255: OSI Layer

!

255

network unreachable

Ini adalah masalah konfigurasi routing, dimana local host tidak memiliki route ke remote

host. Jika ping dengan IP address sudah dilakukan, ulangi ping dengan nama host,

barangkali IP yang diberikan salah. Gunakan netstat untuk mengecek tabel routing.

Jalankan ripquery untuk mengecek isi RIP yang telah diperbaharui. Jika rute ke remote host

tidak ada di tebel dan memakai rute default statik, maka perbaharui tabel tersebut dengan

menambahkan rute ke remote host. Ini seharusnya sudah membuat sambungan. Jika masih

belum, cek default gateway untuk routing.

no answer

Sebenarnya local host sudah memiliki rute ke remote host, tetapi remote host tidak memberi

respon. ping menampilkan pesan "100% packet loss". Pesan lain yang serupa, misalnya

pada telnet "Connection time out" dan pada sendmail "cannot connect".

Problem biasanya terletak pada lapisan bawah.

Beberapa penyebab antara lain:

• remote host sedang down

• konfigurasi pada local host atau remote salah

• gateway atau rangkaian antara local host dan remote host sedang down

• terjadi masalah dengan routing pada remote host.

Periksa konfugurasi lokal dengan netstat dan ifconfig. Periksa rute ke remote host dengan

traceroute. Kalau ada masalah dengan remote host, tidak ada jalan lain kecuali

memberitahu administratornya.

Page 256: OSI Layer

256

Perintah Ping

Format perintah ini:

ping host [packetsize] [count]

host nama atau IP address remote host

packetsize ukuran paket test dalam byte, diperlukan jika menyertakan count,

dengan harga default 56 byte.

count banyaknya paket yang harus dikirim selama test. Jika tidak diberikan, ping

akan mengirim paket terus-menerus sampai ditekan tombol interup (control-C).

Contoh: maingtw # ping -s 56 -c 3 www.ee.itb.ac.id

PING www.ee.itb.ac.id (167.205.31.135): 56 data bytes

64 bytes from 167.205.31.135: icmp_seq=0 ttl=255 time=1.912 ms

64 bytes from 167.205.31.135: icmp_seq=1 ttl=255 time=8.726 ms

64 bytes from 167.205.31.135: icmp_seq=2 ttl=255 time=1.767 ms

--- www.ee.itb.ac.id ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 1.767/4.135/8.726 ms

icmp_seq = nomor urut paket yang diterima

time = waktu yang dibutuhkan bolak-balik dari lokal host ke remote host.

Pilihan -s diikuti oleh jumlah data (byte) yang dikirim dan

-c diikuti oleh jumlah paket. Jika pilihan ini tidak disertakan,

maka ping akan mengirim paket terus-menerus sampai Anda menekan tombol control-C

(^C). Contoh diatas dibuat di mesin maingtw (maingtw.paume.itb.ac.id).

Mesin ini menggunakan sistem operasi Free-BSD 2.00-RELEASE.

Sedangkan mesin dns.paume.itb.ac.id yang juga digunakan

berikut ini, menggunakan sistem operasi HP-UX versi lama.

Page 257: OSI Layer

!

257

Jika paket yang hilang tinggi, waktu responnya sangat lambat, atau paket yang kembali

melebihi yang seharusnya, maka kemungkinan terdapat problem pada hardware jaringan. Jika

ini terjadi pada WAN, tidak terlalu masalah. Tapi jika terjadi pada LAN Anda, maka ini

indikasi adanya masalah.

Pada LAN, round-trip time harus mendekati nol, tidak ada paket yang hilang, dan paket yang

kembali jumlahnya seperti yang diharapkan. Jika tidak, curigai adanya masalah pada hardware

jaringan. Rata-rata round-trip time pada contoh diatas adalah 4.135 mili detik.

Biasanya masalah timbul pada kabel terminator yang tidak sempurna, kabel segmen yang

jelek, pemasangan ethernet card yang tidak sempurna, dan pada sambungan repeater atau

transceiver.

Troubleshooting pada Lapisan

Network Access

"no answer" dan "cannot connect" merupakan indikasi adanya problem pada layer bawah

dari protokol jaringan. Pengujian dipusatkan pada tabel routing dan interface jaringan.

Perintah-perintah yang akan sering dipakai adalah: ifconfig, netstat dan arp.

Troubleshooting dengan perintah ifconfig

Perintah ini untuk memeriksa konfigurasi interface jaringan, terutama jika konfigurasi host

user sudah terpasang dan tidak dapat mencapai remote host, sementara host lain dalam jaringan

lokal yang sama bisa mencapainya. Contoh:

maingtw # ifconfig ed0

ed0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST>

mtu 1500 inet 167.205.22.123 netmask 0xffffffe0 broadcast

167.205.22.127

maingtw # ifconfig ed1

Page 258: OSI Layer

258

ed1: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST>

mtu 1500 inet 167.205.31.131 netmask 0xffffffe0 broadcast

167.205.31.159

maingtw # ifconfig lo0

lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 65532

inet 127.0.0.1 netmask 0xff000000

Baris pertama berisi nama interface dan karakteristiknya:

UP Interface bisa dipakai. Kondisi lain adalah "DOWN". Jika interface "DOWN",

minta superuser untuk mengaktifkannya dengan perintah, misalnya,

ifconfig ed0 up. Jika masih belum bisa, chek kabel dan hardware

interfacenya. Dan coba lagi.

RUNNING Interface sedang operasional. Jika tidak "running" kemungkinan driver

interfacenya tidak cocok.

Baris kedua menampilkan IP address, subnet mask (dalam hexa-desimal), dan alamat

broadcast. Chek ketiganya dengan teliti. Dua kesalahan yang sering muncul adalah kesalahan

konfigurasi subnet mask dan IP address.

Subnet mask yang jelek dapat kita ketahui ketika sebuah host dapat mencapai host lain dalam

subnet lokal yang sama dan remote host dalam jaringan lain, tetapi tidak bisa mencapai host

dalam subnet lokal yang lain.

Tentang IP address, jika bagian network dari alamat tersebut yang salah, setiap ping akan

gagal dengan pesan "no answer". Gunakan ifconfig untuk mengetahui alamat yang

salah.

Jika bagian hostnya yang salah, agak sulit dideteksi masalahnya. Sebuah host yang hanya

berhubungan dengan host lain tanpa pernah menerima sambungan dari luar (incoming

connection), dapat beroperasi terus dengan alamat yang salah. Kasus yang lain ketika

seseorang menggunakan IP address anda pada mesinnya. Ini tidak dapat dideteksi dengan

ifconfig, karena kesalahan terletak pada remote host. Untuk ini arp akan sangat berguna.

Page 259: OSI Layer

!

259

Troubleshooting dengan Perintah arp

Perintah ini untuk menganalisa penerjemahan alamat dari IP address ke Ethernet address.

Ada tiga pilihan yang berguna:

-a menampilkan seluruh entry ARP dalam tabel

-d hostname menghapus sebuah entry dari tabel ARP

-s hostname ether-address

menambah sebuah entry baru ke dalam tabel ARP

Problem pada table ARP biasanya disebabkan karena dua sistem menggunakan IP address

yang sama. Masalah sebentar-sebentar muncul karena entry dalam tabel arp adalah alamat

yang memberikan respon paling cepat terhadap perintah ARP terakhir. Kadang-kadang host

yang "benar" memberi respon terlebih dahulu, dan kadang-kadang host yang "salah" memberi

respon lebih cepat.

Jika anda curiga ada duplikasi IP address, tampilkan tabel ARP misal: maingtw # arp -a

system.paume.itb.ac.id (167.205.22.98) at 0:0:0:0:0:1

itbgtw.itb.ac.id (167.205.22.101) at 0:80:48:90:4f:d2

cnrg.itb.ac.id (167.205.22.107) at 2:0:0:0:0:1

dns.paume.itb.ac.id (167.205.22.120) at 8:0:9:2:9a:19

maingtw.paume.itb.ac.id (167.205.22.123) at 0:80:48:91:e8:40

permanent

gopher.ee.itb.ac.id (167.205.31.132) at 0:0:e8:c0:1:89

www.ee.itb.ac.id (167.205.31.135) at 0:0:e8:a1:6c:4c

Jika anda memiliki catatan Ethernet address tiap host, akan sangat mudah mengetahui

kesalahan pada tabel ARP tersebut. Jika tidak, tiga byte pertama dari Ethernet address

menyatakan kode vendor pembuat ethernet. Daftar prefix identitas ini dapat dijumpai di

Assigned Number RFC. Tabel pada halaman berikut berisi beberapa vendor yang dimaksud.

Dari tabel ARP tersebut, dapat kita ketahui bahwa dns.paume.itb.ac.id menggunakan mesin

keluaran Hewlett-Packard.

Page 260: OSI Layer

260

Prefix Manufacturer Prefic Manufacturer 00:00:0C Cisco 08:00:0B Unisys 00:00:0F NeXT 08:00:10 AT&T 00:00:10 Sytek 08:00:11 Tektronix 00:00:1D Cabletron 08:00:14 Excelan 00:00:65 Network General 08:00:1A Data General 00:00:6B MIPS 08:00:1B Data General 00:00:77 MIPS 08:00:1E Apollo 00:00:89 Cayman System 08:00:20 Sun 00:00:93 Proteon 08:00:25 CDC 00:00:A2 Wellfleet 08:00:2B DEC 00:00:A7 NCD 08:00:38 Bull 00:00:A9 Network System 08:00:39 Spider System 00:00:C0 Wertern Digital 08:04:6 Sony 00:00:C9 Emulex 08:04:7 Sequent 00:80:2D Xylogics Annex 08:00:5A IBM 00:AA:00 Intel 08:00:69 Silicon Graphics 00:DD:00 Ungermann-Bass 08:00:6E Excelan 00:DD:01 Ungermann-Bass 08:00:86 Imagen/QMS 02:07:01 MICOM/Interlan 08:00:87 Xyplex terminal

server 02:60:8C 3Com 08:00:89 Kinetics 08:00:02 3Com 08:00:8B Pyramid 08:00:03 ACC 08:00:90 Retix 08:00:05 Symbolics AA:00:03 DEC 08:00:08 BBN AA:00:04 DEC 08:00:09 Hewlett-Packard

Tabel 10.1 Vendor Ethernet Prefix

Mengecek Interface dengan netstat

Misalkan test terdahulu membuat anda curiga bahwa sambungan ke LAN tidak bagus.

Perintah netstat -i akan memberi informasi seperti dibawah ini:

Page 261: OSI Layer

!

261

maingtw # netstat -i

Name Mtu Network Address Ipkts Ierrs

Opkts

Oerrs

Coll

ed0 1500 <Link> 00.80.48.91.e8.40 547182 146 564053 2 817 ed0 1500 167.205.22 maingtw 547182 146 564053 2 817 ed1 1500 <Link> 00.80.48.81.c6.b3 924568 73 838287 70 7279 ed1 1500 167.205.31 ee-paume.ee.itb 924568 73 838287 70 7279 lp0* 1500 <Link> 0 0 0 0 0 lo0 65532 <Link> 72838 0 72838 0 0 lo0 65532 loopback localhost 72838 0 72838 0 0 sl0 552 <Link> 639890 3 679972 0 0 sl0 552 167.205.22 maingtw 639890 3 679972 0 0 sl1 552 <Link> 47209 3 53545 0 0 sl1 552 167.205.22 maingtw 47209 3 53545 0 0

Baris interface untuk loopback dapat diabaikan. Hanya empat parameter terakhir yang perlu

diperhatikan.

Jika interface dalam kondisi UP dan RUNNING dan ternyata sistem belum dapat mengirim

paket, maka Anda harus curiga dengan kabel drop dan interfacenya. Perbaiki kabelnya dan

coba lagi. Jika yakin kabelnya bagus dan tetap belum terpecahkan, periksa hardware

interfacenya. Kondisi terburuk Anda perlu memanggil vendor untuk reparasi.

Harga kesalahan input (Ierrs) dan kesalahan output (Oerrs) harus mendekati harga nol.

Kesalahan sebesar 100 sudah termasuk tinggi. Kesalahan output yang tinggi menunjukkan

terjadinya saturasi pada jaringan lokal atau sambungan fisik yang jelek antara host dengan

jaringan. Kesalahan input yang tinggi menunjukkan terjadinya saturasi pada jaringan,

overload pada lokal host atau adanya masalah pada bagian fisik jaringan. Untuk menguji

apakah bagian fisik jaringan yang rusak, gunakan perintah ping.

Tingginya nilai collision atau tabrakan (Collis) itu normal. Akan tidak normal jika

persentase paket output (Opkts) yang menyebabkan tabrakan sangat tinggi, ini

menunjukkan terjadinya saturasi pada jaringan. Persentase tabrakan lebih dari 5% itu sudah

membutuhkan perhatian. Jika persentasi tabrakan secara terus-menerus tinggi dan hampir

terjadi di setiap host, maka jaringan perlu dibagi manjadi beberapa subjaringan untuk

mengurangi beban trafik.

Persentase tabrakan dihitung dari persentasi nilai Collis terhadap Opkts. Dalam contoh

diatas, 817/564053 = 0,1 %. Aman.

Subdividing Ethernet

Page 262: OSI Layer

262

Jika collision rate jaringan Anda ternyata mencapai 5% atau lebih, maka Anda perlu

mengambil langkah pengurangan jumlah trafik yang melalui segmen jaringan Anda. Jalan

paling mudah adalah dengan membuat beberapa segment dari sebuah segmen, sehingga

setiap segmen akan memiliki lebih sedikit host dan tentunya trafik akan berkurang. Dan, cara

paling efektif membagi segmen kabel adalah dengan memotongnya dan menggabungkan

kembali melalui sebuah router atau bridge.

Router adalah divais yang memfilter trafik berdasarkan IP address dan membagi subnet

semula menjadi dua buah subnet. Router sering juga disebut sebagai gateway. Sedangkan

bridge memfilter trafik berdasarkan Ethernet address. Di sini, network tetap terdiri dari satu

subnet, tetapi subnet tersebut dibuat oleh dua buah Ethernet yang terpisah secara fisik. Pada

umumnya router digunakan pada jaringan yang besar, dan bridge digunakan untuk

menghubungkan segmen kabel.

Bridge lebih populer untuk membagi Ethernet, sebab:

• Bridge lebih murah dibandingkan router.

• Bridge tidak meminta perubahan IP address host, sementara dengan router, karena

terjadi perubahan subnet, maka membutuhkan pula perubahan IP address beberapa

host.

• Bridge memforward paket lebih cepat dari pada router, sebab hanya memproses

paket melalui lapisan yang lebih rendah, sementara router memproses paket sampai

pada lapisan IP.

Gambar di bawah menggambarkan sebuah jaringan sederhana yang dibagi dengan dua

macam cara. Dalam contoh pertama, router yang sudah ada sebelumnya, ditingkatkan

fungsinya untuk membagi jaringan menjadi dua. Pada contoh kedua, digunakan bridge.

Yang perlu diperhatikan dalam merencanakan subnet adalah kebutuhan akan layanan oleh

user. Jika seluruh service ditempatkan pada salah satu sisi dari bridge, maka trafik tidak akan

menurun secara berarti, dan kerja bridge bisa lebih keras. Sehingga, perlu dianalisa kebutuhan

service dari user, dan nantinya user yang membutuhkan suatu service tertentu lebih banyak

dari service yang lain, ditempatkan sesuai dengan penempatan server untuk service tersebut.

Page 263: OSI Layer

!

263

Workstation Workstation Workstation Workstation

name server

router

internetOriginal network

Workstation Workstation

name server

router

internet

Workstation Workstation

Subnetted network

bridge

Workstation Workstation Workstation Workstation

name serverrouter

internetBridged network

Gambar 10.1

Membagi jaringan dengan bridge

Problem pada hardware jaringan

Pada test sebelum ini, kita mungkin temukan problem pada hardware jaringan. Untuk

memperbaikinya, serahkan kepada orang yang berkompeten. Misal jika mengenai line

Page 264: OSI Layer

264

telepon, hubungi perusahaan telepon atau jika pada WAN, hubungi manajer jaringannya.

Tapi jika mengenai LAN Anda, dapat diselesaikan sendiri.

Memeriksa Tabel Routing

Pesan kesalahan "network unreachable" jelas-jelas menunjukkan adanya masalah pada

routing. Untuk melihat apakah rute ke host yang Anda tuju sudah ada di tabel routing,

gunakan perintah netstat -nr dan grep. Misal untuk melihat rute ke jaringan 167.205.

128.0:

maingtw # netstat -nr|grep '167.205.128'

167.205.128.64 167.205.31.130 UG 0 283 ed1

167.205.128.128 167.205.31.132 UG 0 180 ed1

Jika test dilakukan pada sistem yang tidak memiliki rute dalam tabel routing, tidak akan

muncul respon apapun. Misalnya ada kasus seorang user tidak dapat telnet ke

gopher.ee.itb.ac.id. Test ping memberikan hasil sebagai berikut:

maingtw # ping gopher.ee.itb.ac.id 56 2

PING gopher.ee.itb.ac.id:56 data bytes

sendto: Network is unreachable

ping: Wrote gopher.ee.itb.ac.id 64 chars, ret=-1

sendto: Network is unreachable

ping: Wrote gopher.ee.itb.ac.id 64 chars, ret=-1

----gopher.ee.itb.ac.id PING statistics----

2 packets transmitted, 0 packets recieved, 100% packets loss

Berdasarkan pesan "network unreachable", periksa tabel routing dengan netstat. Kita

tahu IP address gopher.ee.itb.ac.id adalah 167.205.8.80. Karena rute itu bersifat network

oriented, maka kita periksa rute ke jaringan 167.205.8.0:

maingtw # netstat -nr | grep '167.205.8.0'

maingtw #

Page 265: OSI Layer

!

265

Tidak ada rute khusus ke jaringan 167.205.8.0. Kemudian periksa rute defaultnya:

maingtw # netstat -nr|gerp def

default 167.205.136.15 UG 9 125302 sl0

Jika rute default diatas valid, maka permasalahan bukan di tabel routing. Jika netstat tidak

memberikan jawaban seperti yang diinginkan, maka ini adalah permasalahan ruting lokal.

Untuk memecahkannya ada dua pendekatan tergantung dari jenis routing yang digunakan.

Jika Anda menggunakan routing statik, tambahkan rute yang hilang dengan perintah route

add. Kebanyakan sistem yang menggunakan routing statik tergantung pada rute default.

Gateway untuk rute default ini harus benar. Sehingga semua rute yang hilang bisa memakai

rute default ini. Jika Anda menggunakan routing dinamik, pastikan bahwa program routing

telah berjalan.

Pada tabel ARP diatas, rute default yang dipakai maingtw adalah 167.205.136.15. IP address

ini ternyata adalah milik mesin yang berada di Telekom (Pusrenbangti Gegerkalong) yang

jelas berada di luar jaringan PAU atau ITB. Jika ada upaya menghubungi gopher, karena

tidak ada ruting ke gopher, maka akan dilewatkan ke Telkom. Disini kecil kemungkinan

mesin di Telkom tersebut memiliki rute ke gopher secara langsung. Yang dia ketahui adalah

gateway jaringan ITB yaitu maingtw. Sehingga, hubungan ke gopher tidak akan terjadi.

Maka untuk memecahkannya, perlu dibuat routing baru ke gopher dari maingtw sebagai

berikut:

maingtw # route add 167.205.8.80 167.205.22.123 1

Karena untuk menghubungi gopher dari maingtw tidak perlu gateway lagi, maka yang

menjadi gateway adalah maingtw itu sendiri, sehingga di sini kita tulis IP address maingtw

(167.205.22.123) sebagai gatewaynya.

Tracing routes

Jika tabel routing lokal dan suplier RIP benar, kemungkinan masalah yang masih timbul

adalah di luar local host atau jaringan lokal. Masalah pada remote routing dapat menyebabkan

Page 266: OSI Layer

266

pesan kesalahan "no answer" atau "network unreachable". Tapi pesan "network

unreachable" bisa juga karena sesuatu yang 'down' antara local host dengan network yang

dituju. Untuk ini, traceroute dapat membantu menemukan lokasi masalah.

traceroute merunut rute paket UDP dari local host ke remote host. Kemudian

menampilkan nama dan IP address setiap gateway sepanjang rute ke remote host tersebut.

Yang terpenting dari keluaran traceroute adalah:

• 1. Apakah paket dapat mencapai tujuan?

• 2. Jika tidak, dimana dia berhenti?

Misalkan kita ingin menampilkan rute ke www.umanitoba.ca dari local host

maingtw.paume.itb.ac.id: maingtw # traceroute www.umanitoba.ca traceroute to spica.cc.umanitoba.ca (130.179.16.50), 30 hops max, 40 byte packets 1 * * * 2 * * prb-er51.telkom.go.id (167.205.136.1) 4909.335 ms 3 * 192.168.54.2 (192.168.54.2) 5052.630 ms 7778.900 ms 4 * * 192.168.50.1 (192.168.50.1) 10816.991 ms 5 * bppt-sprint.iptek.net.id (202.46.2.2) 5565.484 ms * 6 * * * 7 * * * 8 * * * 9 * fix-west-cpe.SanFrancisco.mci.net (192.203.230.18) 7038.551 ms * 10 * * * 11 * * core-fddi-0.SanFrancisco.mci.net (204.70.2.161) 4294.919 ms 12 * core-hssi-2.Denver.mci.net (204.70.1.37) 2843.251 ms 3756.625 ms 13 core-hssi-3.Washington.mci.net (204.70.1.13) 2632.945 ms 3357.703 ms 3313.537 ms 14 core-hssi-3.NewYork.mci.net (204.70.1.6) 4541.408 ms 4148.503 ms 4650.213 ms 15 border3-fddi0-0.NewYork.mci.net (204.70.2.19) 3252.295 ms 4269.670 ms 2650.108 ms 16 canet-network.NewYork.mci.net (204.70.46.6) 4456.251 ms * 4964.228 ms 17 psp.qc.canet.ca (192.70.164.221) 6808.072 ms 5248.506 ms * 18 psp.mb.canet.ca (192.70.164.41) 5576.959 ms * 5999.823 ms 19 * regional1.mb.canet.ca (192.68.64.101) 5320.669 ms 7189.042 ms 20 * spica.cc.umanitoba.ca (130.179.16.50) 7423.951 ms *

Trace ini memperlihatkan bahwa paket dapat mencapai tujuan dengan round-trip travel time

dari local host ke www.umanitoba.ca sekitar 7500 ms.

Dibawah ini contoh traceroute dari maingtw.paume.itb.ac.id ke

spica.cc.umanitoba.ca dimana paket tidak bisa mencapai tujuan: maingtw # traceroute spica.cc.umanitoba.ca

Page 267: OSI Layer

!

267

traceroute to spica.cc.umanitoba.ca (130.179.16.50), 30 hops max, 40 byte packets 1 * * * 2 * * prb-er51.telkom.go.id (167.205.136.1) 4909.335 ms 3 * 192.168.54.2 (192.168.54.2) 5052.630 ms 7778.900 ms 4 * * 192.168.50.1 (192.168.50.1) 10816.991 ms 5 * bppt-sprint.iptek.net.id (202.46.2.2) 5565.484 ms * 6 * * * 7 * * * 8 * * * 9 * fix-west-cpe.SanFrancisco.mci.net (192.203.230.18) 7038.551 ms * 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * .... 30 * * *

Ketika traceroute gagal mengirim paket ke tujuan, dia akan menampilkan urutan tiga

buah tanda asterik (*) di tiap hop sampai hitungan mencapai 30. Jika ini terjadi, hubungi

administrator dari gateway terakhir yang ditampilkan oleh traceroute dan adminirtrator

host tujuan (nic.ddn.mil). Jelaskan masalah ini agar mereka bisa membantu.

Memeriksa Name Service

Prosedur ini digunakan untuk mendiagnosa kesalahan ketika pesan kesalahan "unkonown

host" muncul, yaitu menggunakan perintah nslookup. Ada tiga keutamaan dari

nslookup terutama untuk troublesooting permasalahan nama server lain yaitu

kemampuannya untuk:

• menemukan server yang berwenang atas remote domain, dengan menggunakan

pertanyaan NS;

• mendapatkan seluruh catatan tentang remote host, dengan menggunakan pertanyaan

ANY;

• browse seluruh entry dalam remote zone dengan menggunakan perintah ls dan view

dari nslookup.

Banyak masalah disebabkan oleh kesalahan dalam penulisan host name. Berikut ini beberapa

contoh aktual berdasarkan laporan gangguan:

Page 268: OSI Layer

268

Beberapa sistem beroperasi, yang lain tidak

Seorang user melaporkan bahwa dia bisa menghubungi host name tertentu dari

workstasionnya dan tidak dapat meresolve host name yang sama dari sistem sentral (server).

Tetapi sistem sentral dapat meresolve host name yang lain. Dengan nslookup untuk

memeriksa remote server:

maingtw # nslookup

Default Server: maingtw.paume.itb.ac.id

Address: 0.0.0.0

>set type=NS

>www.ee.itb.ac.id

Server: maingtw.paume.itb.ac.id

Address: 0.0.0.0

www.ee.itb.ac.id nameserver = dns.paume.itb.ac.id

www.ee.itb.ac.id nameserver = gopher.ee.itb.ac.id

dns.paume.itb.ac.id internet address = 167.205.22.120

gopher.ee.itb.ac.id internet address = 167.205.8.80

> server dns.paume.itb.ac.id

Default Server: dns.paume.itb.ac.id

Address: 167.205.22.120

> set type=ANY

> www.ee.itb.ac.id

Server: dns.paume.itb.ac.id

Address: 167.205.22.120

www.ee.itb.ac.id internet address = 167.205.31.135

www.ee.itb.ac.id internet address = 167.205.8.90

>server gopher.ee.itb.ac.id

Default Server: gopher.ee.itb.ac.id

Address: 167.205.8.80

> www.ee.itb.ac.id

Page 269: OSI Layer

!

269

Server: gopher.ee.itb.ac.id

Address: 167.205.8.80

*** gopher.ee.itb.ac.id can’t find www.ee.itb.ac.id: Non-existent

domain ***

Pada kasus di atas, kita set type query menjadi NS untuk memperoleh catatan nama server.

Kita dapatkan dua buah server: dns.paume.itb.ac.id dan

gopher.ee.itb.ac.id. Berikutnya kita set type query dengan ANY untuk melihat

beberapa catatan yang berhubungan dengan host name yang ditanyakan. Kemudian default

server diset menjadi dns.paume.itb.ac.id. Server ini bekerja dengan baik karena

memberikan catatan alamat. Lalu, server diset menjadi gopher.ee.itb.ac.id.

Ternyata tidak ada catatan yang diberikan.

Langkah berikutnya adalah menguji dengan type query SOA, untuk melihat apakah kedua

server memberikan catatan yang sama:

>set type=SOA

>www.ee.itb.ac.id

Server: gopher.ee.itb.ac.id

Address: 167.205.8.80

www.ee.itb.ac.id origin=www.ee.itb.ac.id

mail address = www.ee.itb.ac.id

serial =1995062300

refresh=10800

retry=900

expire=604800

minimum=86400

>server dns.paume.itb.ac.id

Default Server: dns.paume.itb.ac.id

Address: 167.205.22.120

>www.ee.itb.ac.id

Server: dns.paume.itb.acid

Address: 167.205.22.120

www.ee.itb.ac.id origin=www.ee.itb.ac.id

mail address=www.ee.itb.ac.id

Page 270: OSI Layer

270

serial=1995062300

refresh=10800

retry=900

expire=604800

minimum=86400

>exit

Jika SOA memiliki catatan serial number yang berbeda, barangkali zone file atau host name

belum dimasukkan ke server sekunder. Jika serial number sama dan data berbeda,

kemungkinan terjadi kesalahan dalam transerfer file. Hal ini bisa dilihat dengan nslookup

dengan set query=HINFO. Ada pesan “ paket size error”.

dig, Alternatif lain buat nslookup

dig queries biasanya berupa perintah satu baris. Berbeda dengan nslookup yang

merupakan perintah yang interaktif. Tetapi perintah dig memiliki fungsi yang sama dengan

nslookup. Keduanya bekerja dengan baik.

Misalnya, kita akan menggunakan dig untuk menanyakan catatan NS buat domain

ee.itb.ac.id kepada server lokal. Perintahnya adalah sebagai berikut:

maingtw # dig ee.itb.ac.id ns

; <<>> Dig 2.1 <<>> ee.itb.ac.id ns

;; res options: init recurs defnam dnsrch

;; got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6

;; flags: qr aa rd ra; Ques: 1, Ans: 3, Auth: 3, Addit: 8

;; QUESTIONS:

;; ee.itb.ac.id, type = NS, class = IN

;; ANSWERS:

ee.itb.ac.id. 2592000 NS maingtw.paume.itb.ac.id.

ee.itb.ac.id. 2592000 NS dns.paume.itb.ac.id.

ee.itb.ac.id. 2592000 NS gopher.ee.itb.ac.id.

;; AUTHORITY RECORDS:

ee.itb.ac.id. 2592000 NS maingtw.paume.itb.ac.id.

ee.itb.ac.id. 2592000 NS dns.paume.itb.ac.id.

ee.itb.ac.id. 2592000 NS gopher.ee.itb.ac.id.

Page 271: OSI Layer

!

271

;; ADDITIONAL RECORDS:

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.33

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.123

maingtw.paume.itb.ac.id. 8640000 A 167.205.31.131

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.1

dns.paume.itb.ac.id. 8640000 A 167.205.22.120

gopher.ee.itb.ac.id. 2592000 A 167.205.8.101

gopher.ee.itb.ac.id. 2592000 A 167.205.8.80

gopher.ee.itb.ac.id. 2592000 A 167.205.31.132

;; Total query time: 37 msec

;; FROM: maingtw.paume.itb.ac.id to SERVER: default -- 0.0.0.0

;; WHEN: Sun Jul 2 10:06:34 1995

;; MSG SIZE sent: 30 rcvd: 276

Kita dapatkan tiga buah server yang dapat memberi catatan informasi tentang domain

ee.itb.ac.id dan ketiga-tiganya memiliki otoritas tersebut. Ditampilkan pula

catatan tambahan mengenai ketiga server yaitu tentang IP addressnya.

Sekarang kita coba melakukan perintah yang sama dengan tipe ANY pada dua server

yaitu maingtw dan dns.paume.itb.ac.id. Berikut ini perintahnya:

maingtw # dig ee.itb.ac.id any

; <<>> Dig 2.1 <<>> ee.itb.ac.id any

;; res options: init recurs defnam dnsrch

;; got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6

;; flags: qr aa rd ra; Ques: 1, Ans: 6, Auth: 3, Addit: 10

;; QUESTIONS:

;; ee.itb.ac.id, type = ANY, class = IN

Page 272: OSI Layer

272

;; ANSWERS:

ee.itb.ac.id. 2592000 SOA gopher.ee.itb.ac.id.

cnrg.itb.ac.id. (

917076938 ; serial

10800 ; refresh (3 hours)

3600 ; retry (1 hour)

3600000 ; expire (41 days 16 hours)

2592000 ) ; minimum (30 days)

ee.itb.ac.id. 2592000 NS dns.paume.itb.ac.id.

ee.itb.ac.id. 2592000 MX 60 mail.iptek.net.id.

ee.itb.ac.id. 2592000 MX 50 www.ee.itb.ac.id.

ee.itb.ac.id. 2592000 NS gopher.ee.itb.ac.id.

ee.itb.ac.id. 2592000 NS maingtw.paume.itb.ac.id.

;; AUTHORITY RECORDS:

ee.itb.ac.id. 2592000 NS dns.paume.itb.ac.id.

ee.itb.ac.id. 2592000 NS gopher.ee.itb.ac.id.

ee.itb.ac.id. 2592000 NS maingtw.paume.itb.ac.id.

;; ADDITIONAL RECORDS:

dns.paume.itb.ac.id. 8640000 A 167.205.22.120

www.ee.itb.ac.id. 2592000 A 167.205.8.90

www.ee.itb.ac.id. 2592000 A 167.205.31.135

gopher.ee.itb.ac.id. 2592000 A 167.205.8.101

gopher.ee.itb.ac.id. 2592000 A 167.205.8.80

gopher.ee.itb.ac.id. 2592000 A 167.205.31.132

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.33

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.123

maingtw.paume.itb.ac.id. 8640000 A 167.205.31.131

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.1

;; Total query time: 77 msec

;; FROM: maingtw.paume.itb.ac.id to SERVER: default -- 0.0.0.0

;; WHEN: Sun Jul 2 10:08:04 1995

;; MSG SIZE sent: 30 rcvd: 400

Kita dapatkan informasi lebih lengkap yang terdiri dari jenis NS, MX dan SOA serta A.

Jadi, sebetulnya dengan perintah dig atau nslookup yang menggunakan tipe ANY

sudah cukup, sebab mencakup semua tipe query yang lain. Untuk tipe query A,

Page 273: OSI Layer

!

273

ditampilkan host-host yang memiliki domain ee.itb.ac.id yaitu www.ee.itb.ac.id dengan

dua buah IP address.

Sekarang kita coba perintah tersebut pada server dns.paume.itb.ac.id:

maingtw # dig @dns.paume.itb.ac.id ee.itb.ac.id any

; <<>> Dig 2.1 <<>> @dns.paume.itb.ac.id ee.itb.ac.id any

; (1 server found)

;; res options: init recurs defnam dnsrch

;; got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10

;; flags: qr aa rd ra; Ques: 1, Ans: 6, Auth: 0, Addit: 10

;; QUESTIONS:

;; ee.itb.ac.id, type = ANY, class = IN

;; ANSWERS:

ee.itb.ac.id. 2592000 SOA gopher.ee.itb.ac.id.

cnrg.itb.ac.id. (

917076938 ; serial

10800 ; refresh (3 hours)

3600 ; retry (1 hour)

3600000 ; expire (41 days 16 hours)

2592000 ) ; minimum (30 days)

ee.itb.ac.id. 2592000 NS gopher.ee.itb.ac.id.

ee.itb.ac.id. 2592000 NS maingtw.paume.itb.ac.id.

ee.itb.ac.id. 2592000 NS dns.paume.itb.ac.id.

ee.itb.ac.id. 2592000 MX 60 mail.iptek.net.id.

ee.itb.ac.id. 2592000 MX 50 www.ee.itb.ac.id.

;; ADDITIONAL RECORDS:

gopher.ee.itb.ac.id. 2592000 A 167.205.8.101

gopher.ee.itb.ac.id. 2592000 A 167.205.8.80

gopher.ee.itb.ac.id. 2592000 A 167.205.31.132

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.123

maingtw.paume.itb.ac.id. 8640000 A 167.205.31.131

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.1

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.33

dns.paume.itb.ac.id. 8640000 A 167.205.22.120

www.ee.itb.ac.id. 2592000 A 167.205.31.135

www.ee.itb.ac.id. 2592000 A 167.205.8.90

Page 274: OSI Layer

274

;; Total query time: 30 msec

;; FROM: maingtw.paume.itb.ac.id to SERVER: dns.paume.itb.ac.id

167.205.22.120

;; WHEN: Sun Jul 2 10:08:43 1995

;; MSG SIZE sent: 30 rcvd: 358

Kita dapatkan catatan yang sama. Dapat dilihat parameter-parameter pada SOA di kedua

server adalah sama.

Server dapat ditulis dengan nama atau IP addressnya. Jika Anda akan melakukan

troubleshooting buat remote domain, tentukan authoritatif server untuk domain tersebut. Dalam

contoh diatas, kita menanyakan nama server untuk top-level domain (ee.itb.ac.id). Jika Anda

tidak menentukan server secara eksplisit, dig akan menggunakan name server lokal atau

name server yang didefinisikan di file /etc/resolve.conf.

Item terakhir pada perintah satu baris dari sample diatas adalah type querynya. Tipe query ini

akan menentukan tipe informasi DNS dan sama dengan item yang dimasukkan dalam

nslookup yaitu pada perintah set type. Tabel dibawah ini menunjukkan tipe-tipe query

yang bisa diajukan.

Tipe pertanyaan Catatan DNS yang diminta

a Address records

any Seluruh tipe records

mx Mail Exchanger records

ns Name Server record

soa Start of Authority records

hinfo Host Info Records

axfr All records in the zone

txt Text records

Tabel 10.2 Tipe pertanyaan pada dig

Fungsi nslookup ls diganti oleh tipe query axfr dan txt.

Page 275: OSI Layer

!

275

dig juga memiliki sebuah pilihan yang berguna untuk mengetahui host name ketika anda

hanya mengetahui IP address. Domain in-addr.arpa mengubah alamat (address) ke host

name, dan dig menyediakan jalan yang mudah untuk mengajukan query pada domain

tersebut, yaitu menggunakan dig dengan pilihan -x.

Misalnya kita ingin mengetahui host name dari mesin yang memiliki IP address

167.205.22.124:

maingtw # dig -x 167.205.22.124

.; <<>> Dig 2.1 <<>> -x

;; res options: init recurs defnam dnsrch

;; got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6

;; flags: qr aa rd ra; Ques: 1, Ans: 1, Auth: 3, Addit: 8

;; QUESTIONS:

;; 124.22.205.167.in-addr.arpa, type = ANY, class = IN

;; ANSWERS:

124.22.205.167.in-addr.arpa. 64000 PTR www.itb.ac.id.

;; AUTHORITY RECORDS:

22.205.167.IN-ADDR.ARPA. 64000 NS dns.paume.itb.ac.id.

22.205.167.IN-ADDR.ARPA. 864000 NS maingtw.paume.itb.ac.id.

22.205.167.IN-ADDR.ARPA. 864000 NS gopher.ee.itb.ac.id.

;; ADDITIONAL RECORDS:

dns.paume.itb.ac.id. 8640000 A 167.205.22.120

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.33

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.123

maingtw.paume.itb.ac.id. 8640000 A 167.205.31.131

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.1

gopher.ee.itb.ac.id. 2592000 A 167.205.8.101

gopher.ee.itb.ac.id. 2592000 A 167.205.8.80

gopher.ee.itb.ac.id. 2592000 A 167.205.31.132

;; Total query time: 55 msec

;; FROM: maingtw.paume.itb.ac.id to SERVER: default -- 0.0.0.0

;; WHEN: Sun Jul 2 10:14:01 1995

;; MSG SIZE sent: 45 rcvd: 293

Page 276: OSI Layer

276

Jawaban dari pertanyaan kita adalah www.itb.ac.id dan disamping itu juga

ditampilkan output yang lain. Bagi kita, hanya informasi yang penting saja yang menjadi

jawabannya. Kita juga bisa mengetahui informasi lain tetang www.itb.ac.id dengan

perintah berikut:

maingtw # dig www.itb.ac.id any

; <<>> Dig 2.1 <<>> www.itb.ac.id any

;; res options: init recurs defnam dnsrch

;; got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6

;; flags: qr aa rd ra; Ques: 1, Ans: 1, Auth: 6, Addit: 11

;; QUESTIONS:

;; www.itb.ac.id, type = ANY, class = IN

;; ANSWERS:

www.itb.ac.id. 8640000 CNAME www.ee.itb.ac.id.

;; AUTHORITY RECORDS:

itb.ac.id. 8640000 NS dns.paume.itb.ac.id.

itb.ac.id. 8640000 NS maingtw.paume.itb.ac.id.

itb.ac.id. 8640000 NS gopher.ee.itb.ac.id.

itb.ac.id. 8640000 NS caddsys.iptek.net.id.

itb.ac.id. 8640000 NS sdnid.sdn.or.id.

itb.ac.id. 8640000 NS nomad.extern.ui.ac.id.

;; ADDITIONAL RECORDS:

dns.paume.itb.ac.id. 8640000 A 167.205.22.120

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.33

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.123

maingtw.paume.itb.ac.id. 8640000 A 167.205.31.131

maingtw.paume.itb.ac.id. 8640000 A 167.205.22.1

gopher.ee.itb.ac.id. 2592000 A 167.205.8.101

gopher.ee.itb.ac.id. 2592000 A 167.205.8.80

gopher.ee.itb.ac.id. 2592000 A 167.205.31.132

caddsys.iptek.net.id. 86400 A 202.46.1.2

sdnid.sdn.or.id. 134290 A 192.215.248.222

nomad.extern.ui.ac.id. 47890 A 192.215.248.220

;; Total query time: 28 msec

Page 277: OSI Layer

!

277

;; FROM: maingtw.paume.itb.ac.id to SERVER: default -- 0.0.0.0

;; WHEN: Sun Jul 2 10:14:27 1995

;; MSG SIZE sent: 31 rcvd: 393

Dengan tipe ANY, kita dapatkan catatan lebih banyak lagi, dan dari perintah di atas, kita

ketahui bahwa www.itb.ac.id itu memiliki canonical name (nama lain) yaitu

www.ee.itb.ac.id.

Page 278: OSI Layer

Filename: Networking Directory: C:\My Documents\Amal 's Music\Tcpip&jaringan Template: C:\MSOffice\Templates\Buku Training.dot Title: 2 Subject: Author: Ismail Fahmi Keywords: Comments: Creation Date: 6/22/01 3:30 PM Change Number: 4 Last Saved On: 6/22/01 3:38 PM Last Saved By: Khairun Nisa Total Editing Time: 9 Minutes Last Printed On: 6/22/01 3:59 PM As of Last Complete Printing Number of Pages: 277 Number of Words: 49,356 (approx.) Number of Characters: 306,008 (approx.)