76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

72
mini book Pengenalan Jaringan Komputer Serta Aplikasinya di GNU/Linux Nur Kholis Majid [email protected] http://kholis.web.id Lab. B201 Teknik Elektro Institut Teknologi Sepuluh Nopember Surabaya

Transcript of 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Page 1: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

mini book

Pengenalan Jaringan Komputer SertaAplikasinya di GNU/Linux

Nur Kholis Majid

[email protected]

http://kholis.web.id

Lab. B201 Teknik Elektro Institut Teknologi Sepuluh NopemberSurabaya

Page 2: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Kata Pengantar

Assalamualaikum Wr Wb.

Hai semua, ini adalah buku mini iseng hasil oprek-oprek di lab.b201. Semua isi didalamkebanyakan bukan tulisan saya, saya hanya mengumpulkan, mencoba lalu menuliskan ulangdengan kata-kata saya sendiri agar suatu saat jikalau saya lupa bisa saya manfaatkan kem-bali.

Referensi yang saya ambil berasal dari tulisan senior-senior dan teman-teman saya dikampus seperti mas sokam (http://sokam.or.id), mas galih (http://blog.galihsatria.com), fuad (http://blog.its.ac.id/fuad), mas dhoto (http://dhoto.wordpress.com)dll, maupun berbagai tutorial di internet seperti tulisan-tulisan mas fajar priyanto (http://linux2.arinet.org), pak onno w. purbo dan masih banyak lainya yang tidak dapatdisebutkan satu per satu. Terima kasih buat mereka semua.

Semoga buku mini saya ini bisa bermanfaat dan sumbangsih bagi perkembangan teknolo-gi di indonesia. Apabila menemukan kesalahan atau ingin menyampaikan kritik/saran,silahkan kirim ke [email protected]. Terima kasih.

Wassalamualaikum Wr Wb.

2

Page 3: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Daftar Isi

I Jaringan Komputer 6

1 Berdasarkan Skala 6

2 Berdasarkan Fungsi 62.1 Client-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Peer-to-Peer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Berdasarkan Topologi 63.1 Topologi Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Topologi Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Topologi Star . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Perangkat Jaringan 84.1 Network Interface Card (NIC) . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2 Kabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.3 Hub, Switch atau Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

II Pengenalan TCP/IP 11

5 Physical Layer 11

6 Datalink Layer 12

7 Network Layer / Internet Layer 127.1 IP (Internet Protokol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137.2 ICMP (Internet Control Message Protocol) . . . . . . . . . . . . . . . . . . . 157.3 ARP (Address Resolution Protocol) . . . . . . . . . . . . . . . . . . . . . . . 15

8 Transport Layer 158.1 TCP (Transmission Control Protocol) . . . . . . . . . . . . . . . . . . . . . . 158.2 UDP (User Datagram Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . 15

9 Application Layer 16

III Dasar Konfigurasi Jaringan 17

10 Layer 1 (Datalink) 17

11 Layer 2 (Network) 1811.1 ARP (Address Resolution Protocol) . . . . . . . . . . . . . . . . . . . . . . . 1811.2 IP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1811.3 Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1911.4 Ping dan traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

12 Layer 3 (Transport) 21

13 File dan Tools Networking 2113.1 File-file Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

IV Domain Name System 23

14 Instalasi dan Konfigurasi BIND 23

3

Page 4: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

15 Testing Service DNS 2615.1 host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615.2 nslookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615.3 dig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

V Firewall 28

16 Iptables 2816.1 Dasar iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2916.2 Dua pendekatan setup firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . 3016.3 Syntax Iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3016.4 Contoh Kasus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

17 Shorewall 3317.1 Instalasi dan konfigurasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

VI Proxy Server 38

18 Keuntungan dan kerugian Proxy server[8] 3818.1 keuntungan proxy server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3818.2 kerugian proxy server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

19 Pengenalan dan Cara Kerja Squid 38

20 Bagian-bagian squid 3920.1 ICP (Internet Cache Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . 3920.2 Access Control List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3920.3 Autentikasi pada Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4020.4 Httpd Accelerator / Reverse Proxy Server . . . . . . . . . . . . . . . . . . . . 4020.5 Transparent Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4020.6 Delay Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

21 Instalasi dan Konfigurasi 4121.1 auth parm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4221.2 http port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4221.3 cache peer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4321.4 icp port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4321.5 dead peer timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4321.6 hierarchy stoplist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4421.7 cache mem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4421.8 cache swap low/high . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4421.9 cache dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4521.10access log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4521.11cache mgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4521.12acl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4621.13http access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4621.14delay pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4721.15delay class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4721.16delay access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4721.17delay parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

VII File Sharing 49

4

Page 5: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

22 Samba 4922.1 Instalasi dan Konfigurasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5122.2 Konfigurasi dengan GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

23 FTP 5323.1 FTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5323.2 FTP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

24 NFS 5624.1 NFS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5624.2 NFS Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

VIII Print Server 58

25 CUPS 5825.1 Instalasi dan Konfigurasi CUPS server . . . . . . . . . . . . . . . . . . . . . . 5825.2 Instalasi dan Konfigurasi CUPS client . . . . . . . . . . . . . . . . . . . . . . 60

IX DHCP Server 61

26 DHCP Server 61

27 DHCP Client 63

X Network Monitoring 64

28 SNMP (Simple Network Management Protocol) 6428.1 Instalasi SNMP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6428.2 Instalasi SNMP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

29 MRTG (Multi Router Traffic Grapher) 66

XI Network Time Protocol (NTP) 69

30 NTP Server 69

31 NTP Client 70

5

Page 6: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian I

Jaringan KomputerJaringan komputer adalah kumpulan dua atau lebih dari komputer yang saling berhubun-gan dan saling bekerjasana satu sama lain. Produktifitas dan efisiensi merupakan bentukkeuntungan yang kita dapat dari jaringan komputer. Tujuan dari jaringan komputer antaralain:

• Membagi sumber daya: contohnya berbagi pemakaian printer, CPU, memori, harddisk

• Komunikasi: contohnya surat elektronik, instant messaging, chatting

• Akses informasi: contohnya web browsing

Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer memintadan memberikan layanan (service). Pihak yang meminta layanan disebut klien (client) danyang memberikan layanan disebut pelayan (server). Arsitektur ini disebut dengan sistemclient-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer.

Jaringan komputer diklasifikasikan kedalam beberapa cara, antara lain:

1 Berdasarkan Skala

• Local Area Network (LAN)

– biasa digunakan pada skala kecil sekelas rumahan, kantor, pertokoan dll.– menggunakan ethernet 10/100/1000 Mbps.

• Metropolitant Area Network (MAN)

– mencakup area yang lebih luas (perkotaan)– menggunakan interkoneksi yang lebih baik. Gigabit ethernet, atau fiber optik.

• Wide Area Network (WAN)

– area yang ditangani sangat luas (negara)– menggunakan media fiber optik atau satelit.

2 Berdasarkan Fungsi

2.1 Client-Server

Yaitu jaringan komputer dengan komputer yang didedikasikan khusus sebagai server. Se-buah service/layanan bisa diberikan oleh sebuah komputer atau lebih. Sedangkan yanglain bertindak sebagai client yang menggunakan layanan server. Contohnya adalah sebuahdomain seperti www.google.com yang diakses oleh banyak komputer.

2.2 Peer-to-Peer

Yaitu bentuk jaringan dimana semua komputer berkedudukan sama. bisa sebagai serversekaligus sebagai klien. Ini adalah kebalikan dari yang diatas.

3 Berdasarkan Topologi

Arsitektur Fisik jaringan biasa disebut sebagai topologi, yang merupakan suatu cara menghubungkankomputer yang satu dengan komputer lainnya sehingga membentuk jaringan. Yang saat inibanyak digunakan adalah bus, ring, star, mesh. Masing-masing topologi ini mempunyai cirikhas, dengan kelebihan dan kekurangannya sendiri.

6

Page 7: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

3.1 Topologi Bus

Semua komputer saling terhubung melewati sebuah jalur utama (bus). Kerusakan jalurutama akan merusak semua jaringan.

Gambar 1: Topologi bus

3.2 Topologi Ring

Metode token-ring (sering disebut ring saja) adalah cara menghubungkan komputer sehinggaberbentuk ring (lingkaran). Setiap simpul mempunyai tingkatan yang sama. Jaringan akandisebut sebagai loop, data dikirimkan kesetiap simpul dan setiap informasi yang diterimasimpul diperiksa alamatnya apakah data itu untuknya atau bukan.

Gambar 2: Topologi ring

3.3 Topologi Star

Kontrol terpusat, semua link harus melewati pusat yang menyalurkan data tersebut kesemuasimpul atau client yang dipilihnya. Simpul pusat dinamakan stasium primer atau server danlainnya dinamakan stasiun sekunder atau client server. Setelah hubungan jaringan dimulaioleh server maka setiap client server sewaktu-waktu dapat menggunakan hubungan jaringantersebut tanpa menunggu perintah dari server.

7

Page 8: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Gambar 3: Topologi star

4 Perangkat Jaringan

4.1 Network Interface Card (NIC)

Merupakan suatu card yang terdapat di komputer yang berguna untuk menghubungkandengan komputer lain.

Pada komputer biasanya ada slot (tempat menancap card) yang disebut expansion slot.Slot ini saat membeli komputer baru banyak yang kosong. Yang biasa terpasang adalahuntuk menancapkan VGA Card untuk menghubungkan antara CPU dan monitor. Dansalah satu dari slot itu bisa dipakai untuk menancapkan NIC Card supaya bisa komputerkita bisa terhubung dengan jaringan. Kadang-kadang sekarang NIC Card sudah terma-suk dalam fasilitas Motherboard kita (onboard) sehingga kita tidak perlu lagi susah-susahmemasangnya.

Gambar 4: Network Card

Ada beberapa tipe antara lain yaitu ISA, PCI dan USB. Slot PCI lebih pendek dari ISAtapi meskipun lebih pendek mendukung kecepatan I/O yang lebih cepat. Dari sisi protokol,yang paling banyak dipakai adalah ethernet dan fast ethernet. Ada beberapa protokol lain,tapi kurang populer yaitu Token Ring, FDDI dan ATM (dua protokol terakhir dipakaiuntuk jaringan besar). Ethernet mendukung kecepatan transfer 10/100 Mbps bahkan adayang sudah 1 Giga bps. Untuk Laptop dikenal PCMCIA Card, mirip kartu kredit sedikittebal.

Disinilah terdapat MAC (Media Access Control) address yang unik untuk setiap NIC.

4.2 Kabel

1. UTP (Unshielded Twisted Pair)

8

Page 9: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Kabel paling murah berbentuk mirip kabel telepon, terdiri dari 4 pasang kabel. ter-dapat 2 cara konfigurasi kabel ini.

• Cross, digunakan apabila 2 buah komputer ingin berhubungan langsung tanpamelalui switch.

Gambar 5: Cross-over

• Straight, digunakan untuk koneksi 2 buah komputer atau lebih dengan memakaisambungan hub/switch.

Gambar 6: Straight-through

2. Coaxial

Mirip dengan kabel televisi, dulu banyak digunakan, tapi sekarang jarang sekali digu-nakan. karena tidak luwes dan kecepatannya yang rendah.

Gambar 7: Kabel Coaxial

3. Fiber Optik

9

Page 10: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Menggunakan cahaya sebagai media tranfer sehingga sangat cepat dan tangguh. tapihal itu harus di bayar dengan harga yang tidak murah. Kabel ini sangat sensitif (tidakdapat di tekuk) terdiri dari beberapa core yang dibalut hingga 4-5 lapisan sebagaipelindung.

Gambar 8: Fiber Optik

4.3 Hub, Switch atau Router

Hub dan switch adalah perangkat dengan banyak port yang memungkinkan beberapa titik(dalam hal ini komputer yang sudah memasang NIC Card) bergabung menjadi satu jaringandengan memakai kabel yang ada.

Sedangkan router adalah peralatan yang menghubungkan jaringan satu ke jaringan lain-nya. router dapat berupa peralatan khusus (dedicated), maupun PC biasa yang difungsikansebagai router.

10

Page 11: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian II

Pengenalan TCP/IP

TCP/IP (Transmission Control Protocol/Internet Protocol) adalah sekumpulan protokol(aturan) yang digunakan dalam proses komunikasi data pada jaringan[2]. TCP/IP adalahmodel protokol perbaikan dan pengembangan dari OSI (Open System Interconnection).TCP/IP terdiri dari 4 layer yaitu: Datalink, Network, Transport, dan Application yangberada diatas layer physical. Sehingga beberapa pihak ada yang memasukkan later physicalini ke dalam TCP/IP menjadi layer ke 5.

Gambar 9: Layer TCP/IP

Layer TCP/IP terdiri atas sekumpulan protokol yang masing-masing bertanggung jawabatas bagian-bagian tertentu dari proses komunikasi data. Berkat Prinsip ini, tugas masing-masing protokol menjadi jelas dan sederhana. Protokol satu tidak perlu tahu cara kerjaprotokol lain, yang di perlukan hanya bagaimana cara saling bertukar data.

5 Physical Layer

Layer ini merupakan dasar dari semua layer, pada layer ini terjadi transfer data dalambentuk sinyal-sinyal listrik. Umumnya layer ini terdiri dari hardware jaringan seperti kabelUTP, kabel STP, kabel koaksial, kabel serial RS-232, NIC, Fiber optik dan lainnya, tetapidisamping itu layer physical berfungsi sebagai1:

• Definition of Hardware SpecificationsOperasi-operasi detil dari kabel, konektor, wireless, NIC adalah tugas utama dariphysical layer (walaupun sebagian adalah bagian dari Datalink layer)

• Encoding and SignalingPhysical layer bertanggung dalam pengkodean dan pensinyalan yang mengubah databit kedalam bentuk sinyal yang dapat di kirimkan melalui jaringan.

• Data Transmission and ReceptionSetelah data di kodekan, physical layer juga bertanggung jawab saat pengiriman danpenerimaan data.

• Topology and Physical Network DesignLayer ini juga memperhatikan dan mempengaruhi perancangan suatu jaringan. sepertiLAN atau WAN.

1http://www.tcpipguide.com/free/t PhysicalLayerLayer1.htm

11

Page 12: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

6 Datalink Layer

Fungsi utama layer ini untuk mentrasfer data pada komputer yang berdekatan atau padajaringan yang sama. Selain itu mekanisme deteksi dan perbaikan error yang terjadi diphysical layer terjadi disini. Protokol-protokol yang ada di layer ini antara lain: Ethernet,,Frame Relay, ATM, FDDI, WI-FI, WiMaX, Token Ring, GPRS, PPP dan lainnya2.

Berikut adalah fungsi-fungsi Datalink layer selengkapnya3:

• Logical Link Control (LLC)

Berfungsi membangun dan mengontrol link logical antara node-node di jaringan. sertamenyediakan service kepada layer di atasnya dengan menyembunyikan kerumitan padalayer Datalink.

• Media Access Control (MAC)

Terdapat prosedur untuk mengatur akses pada media jaringan. Karena dalam jaringanterdapat banyak node maka diperlukan pengaturan agar tidak terjadi konflik. Contoh:Ethernet menggunakan metode CSMA/CD sedangkan Token Ring menggunakan tokenpassing.

• Data Framing

Bertanggung jawab pada enkapsulasi akhir dalam melengkapi pesan dari layer diatas-nya lalu mengubahnya menjadi frame-frame dan selanjutnya di kirim ke physical layeruntuk di kirim ke jaringan.

• Addressing

Tiap peralatan di jaringan memiliki nomor yang unik yang disebut MAC address.yang digunakan untuk memastikan data sampai pada mesin tujuan dengan benar.

• Error Detection and Handling

Menangani error yang terjadi di level bawah. Contoh: cyclic redundancy check (CRC)

7 Network Layer / Internet Layer

Layer ini bertanggung jawab pada pengiriman paket end to end (dari sumber ke tujuan)melalui satu atau beberapa network, berbeda dengan Datalink layer yang bertanggung jawabpada pengiriman frame node to node. Protokol-protokol yang ada di layer ini antara lain:IP, ICMP, ARP, RARP, OSPF, IGMP dan lainnya.

Umumnya protokol di layer ini bersifat connectionless, dan unreliable. Beberapa fungsiNetwork layer antara lain:

• Logical Addressing

Tiap mesin di jaringan harus mempunyai alamat logical yang unik, alamat ini harusindependent terhadap hardware.

• Routing

Meneruskan data ke jaringan lain melalui satu atau beberapa jaringan.

• Datagram Encapsulation

Seperti layer-layer lainnya, layer ini juga menambahkan header dari paket data diatasnya.

• Fragmentation and Reassembly

Data yang akan dikirim ke Datalink kadang melebihi besar kapasitas data. sehinggaharus di pecah lalu di kirimkan ke datalink. Sesampainya di network layer tujuan dataini harus di gabungkan lagi.

2http://en.wikipedia.org/wiki/Data link layer3http://www.tcpipguide.com/free/t DataLinkLayerLayer2.htm

12

Page 13: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Error Handling and DiagnosticsProtokol khusus di layer ini mengijinkan alat yang terhubung secara logical, atauyang berusaha mengatur traffic untuk saling bertukar informasi tentang status host dijaringan atau dirinya sendiri.

7.1 IP (Internet Protokol)

Protokol IP merupakan inti dari protokol TCP/IP. Seluruh data yang berasal dari protokolpada layer di atas IP harus dilewatkan, diolah oleh protokol IP. dan dipancarkan sebagaipaket IP, agar sampai ke tujuan. Dalam melakukan pengiriman data. IP memiliki sifat yangdikenal sebagai unreliable, connectionless, datagram delivery service.

Unreliable/Tidak handal berarti bahwa Protokol IP tidak menjamin datagram yangdikirim pasti sampai ke tempat tujuan. Protokol IP hanya berjanji ia akan melakukanusaha sebaik baiknya (best effort delivery sevice). Agar paket yang dikirim tersebut sampaike tujuan. Sedangkan connectionless berarti dalam mengirim paket dari tempat asal ketujuan, pihak pengirim dan penerima paket IP sama sekali tidak mengadakan perjanjian(handshake) terlebih dahulu.

Datagram delivery service berarti setiap paket data yang dikirim adalah independenterhadap paket data yang lain. Akibatnya, jalur yang ditempuh oleh masing-masing paketdata IP ke tujuannya bisa jadi berbeda satu dengan lainnya, Karena jalur yang ditempuhberbeda, kedatangan paket pun bisa jadi tidak berurutan.

Mengapa metode seperti ini dipakai dalam pengiriman paket IP? Hal ini dilakukan untukmenjamin tetap sampainya paket IP ini ke tujuan, walaupun salah satu jalur ke tujuan itumengalami masalah[2].

IP Address

Supaya komputer bisa terhubung dengan benar memerlukan adanya IP Address di setiapkomputer.

IP Address terdiri dari bilangan biner sepanjang 32 bit yang dibagi atas 4 segmen.Tiap segmen terdiri atas 8 bit yang berarti memiliki nilai desimal dari 0 - 255. Range ad-dress yang bisa digunakan adalah dari 00000000.00000000.00000000.00000000 sampai den-gan 11111111.11111111.11111111.11111111. Jadi, ada sebanyak 2ˆ32 kombinasi addressyang bisa dipakai diseluruh dunia (walaupun pada kenyataannya ada sejumlah IP Addressyang digunakan untuk keperluan khusus). Jadi, jaringan TCP/IP dengan 32 bit address inimampu menampung sebanyak 2ˆ32 atau lebih dari 4 milyar host.

Untuk memudahkan pembacaan dan penulisan, IP Address biasanya direpresentasikandalam bilangan desimal. Jadi, range address di atas dapat diubah menjadi address 0.0.0.0sampai address 255.255.255.255. Nilai desimal dari IP Address inilah yang dikenal dalampemakaian sehari-hari. Beberapa contoh IP Address adalah :

202.95.151.129202.58.201.211172.16.122.204Ilustrasi IP Addres dalam desimal dan biner dapat dilihat pada gambar 1 berikut:

Gambar 10: IP Address dalam biner dan desimal

IP Address dapat dipisahkan menjadi 2 bagian, yakni :

13

Page 14: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1. Bagian network (bit-bit network/network bit) dan bagian host (bit-bit host/host bit).Bit network berperan dalam identifikasi suatu network dari network yang lain,

2. Bagian host, yang berperan dalam identifikasi host dalam suatu network. Jadi, seluruhhost yang tersambung dalam jaringan yang sama memiliki bit network yang sama.

Ada 3 kelas address yang utama dalam TCP/IP, yakni :

1. Kelas A: 8 bit pertama merupakan bit network sedangkan 24 bit terakhir merupakanbit host.

2. Kelas B: 16 bit pertama merupakan bit network sedangkan 16 bit terakhir merupakanbit host.

3. Kelas C: 24 bit pertama merupakan bit network sedangkan 8 bit terakhir merupakanbit host.

Gambar 11: Kelas-kelas IP

Selain ke tiga kelas di atas, ada 2 kelas lagi yang ditujukan untuk pemakaian khusus,yakni kelas D dan kelas E. Jika 4 bit pertama adalah 1110, IP Address merupakan kelas Dyang digunakan untuk multicast address, yakni sejumlah komputer yang memakai bersamasuatu aplikasi (bedakan dengan pengertian network address yang mengacu kepada sejumlahkomputer yang memakai bersama suatu network). Salah satu penggunaan multicast addressyang sedang berkembang saat ini di Internet adalah untuk aplikasi real-time video confer-ence yang melibatkan lebih dari dua host (multipoint), menggunakan Multicast Backbone(MBone). Kelas terakhir adalah kelas E (4 bit pertama adalah 1111 atau sisa dari seluruhkelas). Pemakaiannya dicadangkan untuk kegiatan eksperimental.

Address Khusus

Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis address yangdigunakan untuk keperluan khusus dan tidak boleh digunakan untuk pengenal host. Addresstersebut adalah :

1. Broadcast Address.

Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui olehseluruh host yang ada pada suatu network. Seperti diketahui, setiap paket IP memilikiheader alamat tujuan berupa IP Address dari host yang akan dituju oleh paket terse-but. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses pakettersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host inginmengirim paket kepada seluruh host yang ada pada networknya? Tidak efisien jika iaharus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidthakan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-pakettersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup men-girim ke alamat broadcast, maka seluruh host yang ada pada network akan menerimapaket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memili-ki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagaiIP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address un-tuk menerima paket : pertama adalah IP Addressnya yang bersifat unik dan kedua

14

Page 15: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

adalah broadcast address pada network tempat host tersebut berada. Address broad-cast diperoleh dengan membuat seluruh bit host pada IP Address menjadi 1. Jadi,untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnyaadalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yangdibroadcast biasanya adalah informasi routing.

2. Alamat loopbackAlamat loopback digunakan oleh komputer untuk menunjuk dirinya sendiri. Alamatini berawalan 127 sehingga tidak boleh digunakan untuk keperluan lainnya.

3. IP privateAdalah ip yang boleh digunakan oleh tiap-tiap orang ketika membuat jaringan. ipprivate terdiri dari 3 buah. yaitu:

• 10.0.0.0-10.255.255.255 netmask 255.0.0.0 (Kelas A)• 172.16.0.0-172.31.255.255 netmask 255.240.0.0 (Kelas B)• 192.168.0.0–192.168.255.255 netmask 255.255.0.0 (Kelas C)

7.2 ICMP (Internet Control Message Protocol)

ICMP bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan per-hatian khusus. Pesan ICMP dikirim ketika terjadi masalah pada layer IP dan layer diatasnya (TCP/UDP). seperti matinya host tujuan atau putusnya koneksi. Sehingga sangatmembantu mengetahui kondisi jaringan.

7.3 ARP (Address Resolution Protocol)

Berfungsi memetakan IP address ke MAC address. Karena dalam pengiriman data diper-lukan MAC address tujuan. ARP bekerja dengan mengirimkan paket berisi IP address yangingin diketahui ke alamat broadcast. Semua host dalam jaringan akan mengetahui, dan akandijawab oleh yang cocok saja dengan menyertakan IP dan MAC addressnya. Kebalikan dariARP adalah RARP (Reverse Address Resolution Protocol).

8 Transport Layer

Ada dua protokol utama yang banyak digunakan pada layer ini, TCP (Transmission ControlProtocol) dan UDP (User Datagram Protocol). Contoh Aplikasi yang menggunakan protokolTCP seperti email, website, ftp, dll. sedang yang menggunakan protokol UDP seperti: DNS,NFS, VoIP, Streaming Audio/Video, dll.

8.1 TCP (Transmission Control Protocol)

TCP merupakan protokol transport yang bersifat connection oriented, reliable, byte streamservice. Connection oriented berarti sebelum melakukan pertukaran data, dua aplikasi peng-guna TCP harus melakukan pembentukan hubungan (handshake) terlebih dahulu. Reliableberarti TCP menerapkan proses deteksi kesalahan paket dan retransmisi. Sedangkan bytestream service berarti paket dikirim secara berurutan.

8.2 UDP (User Datagram Protocol)

UDP adalah protokol transport yang sederhana. Berbeda dengan TCP, UDP bersifat con-nectionless dan tidak ada sequencing (pengurutan data kembali) paket yang datang, ac-knowledgement ataupun retransmisi terhadap paket yang error.

Protokol ini digunakan pada aplikasi yang secara periodik melakukan aktivitas tertentu.sehingga hilangnya data pada suatu saat dapat diperbaiki pada waktu berikutnya. misalnyaquery atau streaming.

15

Page 16: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

9 Application Layer

Merupakan layer teratas tempat aplikasi kita berjalan. Aplikasi-aplikasi tersebut antaralain: DHCP, DNC, FTP, HTTP, IMAP4, IRC, SMTP dan banyak yang lain. Disinilahtempat data asli yang akan di kirimkan. data akan di tambah header tiap kali melewatilayer dibawahnya sehingga jumlahnya semakin besar.

Gambar 12: Data pada tiap layer TCP/IP

16

Page 17: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian III

Dasar Konfigurasi Jaringan

10 Layer 1 (Datalink)

Untuk mengetahui interface network yang ada dapat di gunakan perintah lspci.

1 root@air :~# lspci2 00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)3 00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)4 00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)5 00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)6 00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)7 00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)8 00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)9 00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)

10 00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)11 00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)12 00:05.0 VGA compatible controller: nVidia Corporation MCP51 PCI -X GeForce Go 6100 (rev a2

)13 00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)14 00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)15 00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)16 00:0a.3 Co -processor: nVidia Corporation MCP51 PMU (rev a3)17 00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)18 00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)19 00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev f1)20 00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev f1)21 00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)22 00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)23 00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)24 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport

Technology Configuration25 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map26 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller27 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous

Control28 03:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini -PCI (rev 01)

Baris 23 menunjukkan bahwa ethernet card sudah dikenali dan siap digunakan. Untukmelihat apakah linknya sudah ada atau belum, dapat menggunakan perangkat lunak mii-tool(media independent interface) yang ada pada paket net-tools. Atau juga bisa menggunakanethtool.

1 root@air :~# apt -get install net -tools2 root@air :~# mii -tool3 eth0: negotiated 100 baseTxFD , link ok45 root@air :~# ethtool eth06 Settings for eth0:7 Supported ports: [ MII ]8 Supported link modes: 10baseT/Half 10baseT/Full9 100 baseT/Half 100 baseT/Full

10 Supports auto -negotiation: Yes11 Advertised link modes: 10baseT/Half 10baseT/Full12 100 baseT/Half 100 baseT/Full13 Advertised auto -negotiation: Yes14 Speed: 100Mb/s15 Duplex: Full16 Port: MII17 PHYAD: 118 Transceiver: external19 Auto -negotiation: on20 Supports Wake -on: g21 Wake -on: d22 Link detected: yes

Baris ke 1 hanya di lakukan apabila mii-tool belum diinstall. Apabila sudah keluareth0 seperti baris 3 artinya perangkat jaringan kita menggunakan eth0. 100base-TX-FDartinya kita menggunakan kecepatan 100Mbps dan FD adalah Full-Duplex. dan Link okmenandakan perangkat kita sudah siap.

Apabila hasilnya bukan link ok artinya ada masalah dengan perangkat kita.

17

Page 18: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 root@air :~# mii -tool2 eth0: no link

Apabila tampilan seperti tersebut, artinya terjadi kesalahan dengan perangkat jaringankita.

11 Layer 2 (Network)

11.1 ARP (Address Resolution Protocol)

Untuk mengecek ARP dapat dilakukan dengan:

1 root@air :~# arp -n2 Address HWtype HWaddress Flags Mask Iface3 10.122.1.77 ether 00:E0:4D:20:FE:3C C eth04 10.122.1.1 ether 00:80:3E:67:71: E8 C eth05 10.122.1.77 ether 00:E0:4D:20:FE:3C C eth0

Ini menunjukkan tabel ARP yang ada di komputer kita artinya komputer kita baru sajaterhubung dengan komputer dengan IP diatas. Suatu host akan membroadcast ARP requestuntuk mendapatkan MAC address dari sebuah IP address. Host yang sesuai akan meresponsrequest dengan mengirimkan IP Address sekaligus MAC addressnya. Lalu host perequestakan menyimpan informasi ini pada ARP Cache[3].

1 root@air :~# tcpdump -enqti eth02 tcpdump: listening on eth03 0:80:c8:f8:4a:51 ff:ff:ff:ff:ff:ff 42: arp who -has 10.122.1.52 Tell 10.122.1.504 0:80:c8:f8:5c:73 0:80:c8:f8:4a:51 60: arp reply 10.122.1.52 is-at 0:80:c8:f8:5c:735 0:80:c8:f8:4a:51 0:80:c8:f8:5c:73 98: 10.122.1.50 > 10.122.1.52: icmp: echo request (DF)

• Baris 3: host 10.122.1.50 membroadcast ARP untuk host 10.122.1.52

• Baris 4: host yang sesuai (10.122.1.52) membalas dengan ARP reply dengan menyer-takan MAC Addressnya

• Baris 5: host 10.122.1.50 menghubungi host 10.122.1.52

11.2 IP Address

Untuk mengetahui dan mensetting IP address dapat dilakukan dengan perintah ifconfig.

1 root@air :~# ifconfig2 eth0 Link encap:Ethernet HWaddr 00:16:36: e8:83:c23 inet addr :10.122.1.52 Bcast :10.122.1.255 Mask :255.255.255.04 inet6 addr: fe80 ::216:36 ff:fee8 :83c2/64 Scope:Link5 UP BROADCAST RUNNING MULTICAST MTU :1500 Metric :16 RX packets :9932 errors :0 dropped :0 overruns :0 frame :07 TX packets :679 errors :0 dropped :0 overruns :0 carrier :08 collisions :0 txqueuelen :10009 RX bytes :1074312 (1.0 MB) TX bytes :133914 (130.7 KB)

10 Interrupt :20 Base address :0xa0001112 lo Link encap:Local Loopback13 inet addr :127.0.0.1 Mask :255.0.0.014 inet6 addr: ::1/128 Scope:Host15 UP LOOPBACK RUNNING MTU :16436 Metric :116 RX packets :2657 errors :0 dropped :0 overruns :0 frame :017 TX packets :2657 errors :0 dropped :0 overruns :0 carrier :018 collisions :0 txqueuelen :019 RX bytes :138080 (134.8 KB) TX bytes :138080 (134.8 KB)

Baris 2-10 adalah properti dari network card (eth0), sedangkan baris 12-19 adalah alamatloopback. Untuk mengubah ip address dapat dilakukan dengan:

18

Page 19: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 root@air :~# ifconfig eth0 192.168.0.1 netmask 255.255.25.0 up

Agar tiap kali booting tidak harus menambah ip address maka lebih baik konfigurasi inidisimpan dalam file. File konfigurasi ip address ada di /etc/network/interface, isilah denganformat seperti:

1 auto lo2 iface lo inet loopback34 auto eth05 iface eth0 inet static6 address 10.122.1.527 netmask 255.255.255.08 gateway 10.122.1.19 dns -nameserver 10.122.1.254

Untuk merestart interface dan meload konfigurasi di /etc/network/interface gunakan:

1 root@air :~# /etc/init.d/networking restart

11.3 Routing

Untuk mengetahui routing tabel dapat digunakan perintah route

1 root@air :~# route2 Kernel IP routing table3 Destination Gateway Genmask Flags Metric Ref Use Iface4 10.122.1.0 * 255.255.255.0 U 0 0 0 eth05 link -local * 255.255.0.0 U 1000 0 0 eth06 default 10.122.1.1 0.0.0.0 UG 100 0 0 eth0

Baris 4 menunjukkan bahwa untuk ke jaringan 10.122.1.0 tidak melewati gateway (* samadengan 0.0.0.0 yang berarti jaringan ini). Sedangkan baris 5 link-local (yang mempunyaialamat 169.254.0.0) juga tidak melewati gateway. Baris 6 Destination: default berarti semuajaringan selain 2 jaringan diatasnya selalu melewati Gateway: 10.122.1.1.

Untuk menambah routing misalnya kita ingin menambahkan routing ke jaringan 192.168.0.0dengan netmask 255.255.255.0 melewati 10.122.1.50 dapat dilakukan dengan:

1 root@air :~# route add -net 192.168.0.0 netmask 255.255.255.0 gateway 10.122.1.502 root@air :~# route3 Kernel IP routing table4 Destination Gateway Genmask Flags Metric Ref Use Iface5 192.168.0.0 10.122.1.50 255.255.255.0 UG 0 0 0 eth06 10.122.1.0 * 255.255.255.0 U 0 0 0 eth07 link -local * 255.255.0.0 U 1000 0 0 eth08 default 10.122.1.1 0.0.0.0 UG 100 0 0 eth0

Terlihat bahwa infomasi routing akan ditambahkan pada tabel routing (baris 5). Sedan-gkan untuk menghapus routing dapat dilakukan dengan:

1 root@air :~# route del -net 192.168.0.0 netmask 255.255.255.0

Selengkapnya dapat dibaca pada man route. Agar tiap kali booting tidak harus menam-bah informasi routing maka konfigurasi dapat disimpan di file sehingga akan di eksekusitiap kali booting. Script berikut (baris 11) bisa ditambahkan pada bagian akhir dari file/etc/network/interface untuk menambah informasi routing.

19

Page 20: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 auto lo2 iface lo inet loopback34 auto eth05 iface eth0 inet static6 address 10.122.1.527 netmask 255.255.255.08 gateway 10.122.1.19 dns -nameserver 10.122.1.254

1011 up route add -net 192.168.0.0 netmask 255.255.255.0 gateway 10.122.1.50

11.4 Ping dan traceroute

Ping adalah salah satu aplikasi dari protokol ICMP yang berfungsi mengetahui ada tidaknyakoneksi antara suatu host ke host lainnya.

1 kholis@air :~$ ping 10.122.1.12 PING 10.122.1.1 (10.122.1.1) 56(84) bytes of data.3 64 bytes from 10.122.1.1: icmp_seq =1 ttl=64 time =5.91 ms4 64 bytes from 10.122.1.1: icmp_seq =2 ttl=64 time =2.95 ms5 64 bytes from 10.122.1.1: icmp_seq =3 ttl=64 time =2.96 ms6 64 bytes from 10.122.1.1: icmp_seq =4 ttl=64 time =3.02 ms

Apabila host tidak berhasil dihubungi (tidak terdapat koneksi karena berbagai alasan),maka akan keluar seperti berikut:

1 kholis@air :~$ ping 10.122.1.992 PING 10.122.1.99 (10.122.1.99) 56(84) bytes of data.3 From 10.122.1.52 icmp_seq =1 Destination Host Unreachable4 From 10.122.1.52 icmp_seq =2 Destination Host Unreachable5 From 10.122.1.52 icmp_seq =3 Destination Host Unreachable

traceroute adalah program untuk mengetahui jalur yang dilewati paket menuju tujuan-nya.

1 root@air :~# traceroute 10.200.1.12 traceroute to 10.200.1.1 (10.200.1.1) , 30 hops max , 40 byte packets3 1 10.122.1.1 (10.122.1.1) 0.452 ms 0.638 ms 0.904 ms4 2 10.224.2.1 (10.224.2.1) 0.459 ms 0.952 ms 1.088 ms5 3 10.200.1.1 (10.200.1.1) 0.319 ms 0.327 ms 0.327 ms

Sedangkan mtr adalah tool gabungan dari ping dan traceroute sehingga lebih mudahuntuk di pahami.

1 root@air :~# mtr proxy.its.ac.id

Gambar 13: mtr

20

Page 21: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

12 Layer 3 (Transport)

Aplikasi yang digunakan untuk mengetahui penggunaan layer transport adalah perintahnetstat. Untuk mengetahui port berapa saja yang terbuka untuk koneksi pada PC kitadapat diketahui dengan perintah :

1 root@air :~# netstat -atupln2 Active Internet connections (servers and established)3 Proto Recv -Q Send -Q Local Address Foreign Address State PID/

Program name4 tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 5277/ smbd5 tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 5277/ smbd6 tcp 0 0 10.122.1.52:58809 202.46.129.134:22 ESTABLISHED 13696/ ssh7 tcp6 0 0 :::22 :::* LISTEN 12663/

sshd8 udp 0 0 0.0.0.0:40832 0.0.0.0:* 5210/

avahi -daemon:9 udp 0 0 10.122.1.52:137 0.0.0.0:* 5275/ nmbd

10 udp 0 0 0.0.0.0:137 0.0.0.0:* 5275/ nmbd11 udp 0 0 10.122.1.52:138 0.0.0.0:* 5275/ nmbd12 udp 0 0 0.0.0.0:138 0.0.0.0:* 5275/ nmbd13 udp 0 0 0.0.0.0:5353 0.0.0.0:* 5210/

avahi -daemon:

State LISTEN berarti service sedang berjalan dan siap melayani request. sedangkanstate ESTABLISHED berarti sedang ada koneksi yang terjadi saat ini.

13 File dan Tools Networking

13.1 File-file Networking

1. /etc/hosts

Berisi daftar mapping alamat IP dengan nama komputernya. File ini digunakan untukname resolving tanpa menghubungi DNS Server.

1 root@air :~# cat /etc/hosts2 127.0.0.1 localhost3 127.0.1.1 air4 10.122.1.200 www.computer.ee.its.ac.id56 # The following lines are desirable for IPv6 capable hosts7 ::1 ip6 -localhost ip6 -loopback8 fe00 ::0 ip6 -localnet9 ff00 ::0 ip6 -mcastprefix

10 ff02 ::1 ip6 -allnodes11 ff02 ::2 ip6 -allrouters12 ff02 ::3 ip6 -allhosts

2. /etc/resolv.conf

File ini berfungsi menunjuk DNS Server yang akan digunakan.

1 root@air :~# cat /etc/resolv.conf2 domain computer.ee.its.ac.id3 nameserver 192.168.1.254

3. /etc/network/interface

Didalam file ini terdapat konfigurasi network interface yang ada di komputer. File inidigunakan oleh perintah ifup saat komputer booting dan ifdown ketika komputer akandi matikan.

21

Page 22: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 root@air :~# cat /etc/network/interface2 auto lo3 iface lo inet loopback45 auto eth06 iface eth0 inet static7 address 10.122.1.528 netmask 255.255.255.09 network 10.122.1.0

10 broadcast 10.122.1.25511 gateway 10.122.1.112 dns -nameserver 10.122.1.254

4. /etc/services

File ini berisi daftar mapping nama service dan nomor portnya. Misalnya, untukkomunikasi dengan www service (mengakses webserver), koneksi harus ditujukan keport 80, atau jika ingin mengakses ftp service, koneksi harus ditujukan ke port 21.

1 root@air :~# cat /etc/services2 ...3 ftp -data 20/ tcp4 ftp 21/tcp5 fsp 21/udp fspd6 ssh 22/tcp # SSH Remote Login Protocol7 ssh 22/udp # SSH Remote Login Protocol8 telnet 23/ tcp9 # 24 - private

10 smtp 25/tcp mail11 # 26 - unassigned12 domain 53/ tcp nameserver # name -domain server13 domain 53/ udp nameserver14 mtp 57/tcp # deprecated15 bootps 67/ tcp # BOOTP server16 bootps 67/ udp17 bootpc 68/ tcp # BOOTP client18 ...

22

Page 23: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian IV

Domain Name SystemDNS atau Domain Name Server, yaitu server yang digunakan untuk mengetahui IP Addresssuatu host lewat host name-nya. Dalam dunia internet, komputer berkomunikasi satu samalain dengan mengenali IP Address-nya. Namun bagi manusia tidak mungkin menghafalkanIP address tersebut, manusia lebih mudah menghapalkan kata-kata seperti www.yahoo.com,www.google.com, atau www.friendster.com. DNS berfungsi untuk mengkonversi nama yangbisa terbaca oleh manusia ke dalam IP address host yang bersangkutan untuk dihubungi[1].

Cara kerja DNS adalah sebagai berikut:

• Ketika kita merequest suatu alamat, misalnya www.friendster.com dari host kita (nir-maladewi.its.ac.id – 202.154.63.26 ), maka host kita akan mengontak name server lokaluntuk menanyakan dimanakah www.friendster.com berada.

• Name server ITS (202.154.63.2) akan mencari request tersebut di database lokal. Kare-na tidak ada, maka name server akan mengontak root DNS server-nya, siapa yangmemegang domain untuk .com

• Beberapa daftar Top Level Domain (TLD) yang ada sekarang adalah: com, net,org, biz, info, name, museum, dan tv. Sedangkan Country Code Top Level Domain(ccTLD) adalah: us, uk, fr, es, de, it, jp, ie, dll.

• Root server akan memberitahu IP address dari server DNS dari www.friendster.com.Kemudian DNS server lokal akan mengontak server DNS yang mengelola www.friendster.com.Kemudian DNS server tersebut akan memberitahu IP address dari www.friendster.com.baru host nirmaladewi merequest www.friendster.com dengan IP address tersebut.

Gambar 14: Cara kerja DNS

14 Instalasi dan Konfigurasi BIND

BIND (Berkeley Internet Name Daemon) adalah salah satu DNS server yang banyak digu-nakan di sistem Unix/Linux, kali ini kita akan menggunakan BIND versi 9 sebagai DNSserver.

1. Install bind9

1 root@air :~# apt -get install bind9 dnsutils

23

Page 24: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

2. Edit file /etc/bind/named.conf.options

1 options {2 directory "/var/cache/bind";34 // If there is a firewall between you and nameservers you want5 // to talk to, you might need to uncomment the query -source6 // directive below. Previous versions of BIND always asked7 // questions using port 53, but BIND 8.1 and later use an unprivileged8 // port by default.9

10 query -source address * port 53;1112 // If your ISP provided one or more IP addresses for stable13 // nameservers , you probably want to use them as forwarders.14 // Uncomment the following block , and insert the addresses replacing15 // the all -0’s placeholder.1617 // dns server diatas server anda18 forwarders {19 202.46.129.2;20 };2122 auth -nxdomain no; # conform to RFC103523 listen -on-v6 { any; };24 };

• Baris 2: menunjukkan direktori tempat cache bind sementara disimpan

• Baris 10: BIND akan menerima query dari semua host lewat port 53

• Baris 18-20: DNS server yang akan yang akan dihubungi jika data yang direquesttidak ada dalam database lokal

3. Pastikan terdapat script berikut pada

1 include "/etc/bind/named.conf.local";

4. Buatlah zona baru yang akan anda tangani pada file /etc/bind/name.conf.local. Mis-alkan domain yang akan kita tangani adalah domainku.com dengan ip address 192.168.1.0netmask 255.255.255.0.

1 //2 // Do any local configuration here3 //45 // Consider adding the 1918 zones here , if they are not used in your6 // organization7 // include "/etc/bind/zones.rfc1918 ";89 zone "domainku.com" {

10 type master;11 file "/etc/bind/db.domainku.com";12 };1314 zone "1.168.192.in-addr.arpa" {15 type master;16 file "/etc/bind/db .1.168.192";17 };

• Baris 9: nama domain yang akan ditangani

• Baris 10: menyatakan bahwa dns server ini bertipe primary.

• Baris 11: file database forward

• Baris 14: ip address dari domain yang ditangani. Penting!: penulisan zone harusdalam format 3 oktet terakhir ip address yang di tulis terbalik lalu diakhiri den-gan kata “.in-addr.arpa”. Contoh: apabila ip domain adalah 10.122.1.0 netmask255.255.255.0 maka penulisan zona adalah “1.122.10.in-addr-arpa”.

24

Page 25: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

5. Buat file database sesuai dengan konfigurasi diatas. yaitu /etc/bind/db.domainku.com

1 ;2 ; BIND data file for zone "domainku.com" [via] Internal view3 ;4 $TTL 6048005 @ IN SOA ns.domainku.com. admin.domainku.com. (6 2008050601 ; Serial7 604800 ; Refresh8 7200 ; Retry9 2419200 ; Expire

10 604800 ) ; Negative Cache TTL11 ;12 ; ns records specifying the authoritative nameservers13 @ IN NS ns.domainku.com.14 @ IN MX 5 mail.domainku.com.1516 ns IN A 192.168.1.117 www IN A 192.168.1.218 mail IN A 192.168.1.3

• Baris 4: adalah nilai default TTL (Time To Live) untuk semua record pada zonefile. dalam satuan detik

• Baris 5: IN = Internet Name

• Baris 5: SOA = Start Of Authority

• Baris 5: ns.domainku.com = Nama host tempat penyimpanan zona file (dalamhal ini nama host yang beperan sebagai primary server)

• Baris 5: admin.domainku.com = Alamat email penanggung jawab isi zona file.Format penulisan antara username dan host dipisahkan “.” (titik). Contoh: ad-min.domainku.com berarti [email protected].

• Baris 6: Serial = Nomer seri perubahan zona file. Setiap kali terjadi perubahanzona file, Serial harus dinaikkan. Serial digunakan oleh secondary server untukmelakukan pengecekan apakah ada perubahan zona file[2].

• Baris 7: Refresh = Selang waktu (dalam detik) yang diperlukan oleh secondaryserver untuk melakukan pengecekan zona file pada primary server.

• Baris 8: Retry = Selang waktu (dalam detik) yang diperlukan secondary serveruntuk mengulang pengecekan zona file pada primary master jika terjadi kega-galan. Sebaiknya digunakan nilai lebih besar dari 1 jam (3600) karena nilai Retryyang terlalu kecil tidak menghasilkan apa-apa karena ada kemungkinan primaryserver sedang mati (down).

• Baris 9: Expire = Batas waktu (dalam detik) secondary server boleh menyimpanzona file jika tidak dapat melakukan refresh. Apabila telah masa expire dansecondary server masih belum bisa melakukan refresh zona file tersebut akandihapus. Sebaiknya gunakan nilai Expire yang cukup besar (misal 1 bulan).

• Baris 10: Minimum = Waktu minimal (dalam detik) yang digunakan sebagainilai awal TTL resource record. Nilai yang dianjurkan adalah 1 hari (86400).

• Baris 13: NS = Name Server, merupakan identifikasi DNS server suatu zona.

• Baris 14: MX = Mail Exchange, Berfungsi untuk mengalihkan alamat email yangditujukan ke suatu host atau domain ke host lain yang berfungsi sebagai serveremail.

• Baris 16: A = Address(IPv4), berfungsi memetakan dari nama host ke alamatIP.

25

Page 26: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 ;2 ; BIND data file for zone "1.168.192.in-addr.arpa"3 ;4 $TTL 6048005 @ IN SOA ns.domainku.com. admin.domainku.com. (6 2008050601 ; Serial7 604800 ; Refresh8 86400 ; Retry9 2419200 ; Expire

10 604800 ) ; Negative Cache TTL1112 @ IN NS ns.domainku.com.1314 1 IN PTR ns.domainku.com.15 2 IN PTR www.domainku.com.16 3 IN PTR mail.domainku.com.

• Baris 14: PTR = menunjukkan alamat nama host dari suatu alamat IP.

6. Restart service bind

1 root@air :~# /etc/init.d/bind9 restart

15 Testing Service DNS

Untuk mengetahui sekaligus menguji DNS server dapat digunakan aplikasi-aplikasi berikut:

15.1 host

1 kholis@air :~$ host www.domainku.com2 www.domainku.com has address 192.168.1.23 kholis@air :~$ host 192.168.1.24 2.1.168.192.in-addr.arpa domain name pointer www.domainku.com.

15.2 nslookup

1 kholis@air :~$ nslookup www.domainku.com2 Server: 192.168.1.13 Address: 192.168.1.1#5345 Name: www.domainku.com6 Address: 192.168.1.278 kholis@air :~$ nslookup 192.168.1.29 Server: 192.168.1.1

10 Address: 192.168.1.1#531112 2.1.168.192..in -addr.arpa name = www.domainku.com.

26

Page 27: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

15.3 dig

1 kholis@air :~$ dig www.domainku.com23 ; <<>> DiG 9.4.2 <<>> www.domainku.com4 ;; global options: printcmd5 ;; Got answer:6 ;; ->>HEADER <<- opcode: QUERY , status: NOERROR , id: 140067 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 189 ;; QUESTION SECTION:

10 ;www.domainku.com. IN A1112 ;; ANSWER SECTION:13 www.domainku.com. 604800 IN A 192.168.1.21415 ;; AUTHORITY SECTION:16 domainku.com. 604800 IN NS ns.domainku.com.1718 ;; ADDITIONAL SECTION:19 ns.domainku.com. 604800 IN A 192.168.1.12021 ;; Query time: 9 msec22 ;; SERVER: 192.168.1.1#53(192.168.1.1)23 ;; WHEN: Tue Jun 24 19:46:03 200824 ;; MSG SIZE rcvd: 952526 kholis@air :~$ dig -x www.domainku.com2728 ; <<>> DiG 9.4.2 <<>> -x www.domainku.com29 ;; global options: printcmd30 ;; Got answer:31 ;; ->>HEADER <<- opcode: QUERY , status: NXDOMAIN , id: 5357232 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 03334 ;; QUESTION SECTION:35 ;com.domainku.www.in-addr.arpa. IN PTR3637 ;; AUTHORITY SECTION:38 in-addr.arpa. 10800 IN SOA A.ROOT -SERVERS.NET. dns -ops.ARIN.NET.

2008062404 1800 900 691200 108003940 ;; Query time: 517 msec41 ;; SERVER: 192.168.1.1#53(192.168.1.1)42 ;; WHEN: Tue Jun 24 19:45:56 200843 ;; MSG SIZE rcvd: 126

27

Page 28: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian V

FirewallFirewall merupakan perangkat keamanan jaringan. Firewall dapat berupa software atauhardware yang di rancang untuk menfilter informasi yang diperbolehkan atau yang tidakdiperbolehkan antara jaringan privat dengan jaringan publik[3].

Alasan menggunakan firewall antara lain:

• Control (mengendalikan)

Saat jaringan pribadi kita terhubung dengan jaringan publik (internet), kita dapatmenfilter traffik yang masuk maupun yang keluar dengan mengizinkan tipe traffiktertentu dan memblok tipe yang lain.

• Secure (mengamankan)

Firewall berfungsi memblok usaha penyerangan serta akses tidak sah yang datang dariluar.

• Prevent (mencegah)

Kadang software yang bug atau mesin yang tidak terkonfigurasi dengan baik akanmengeluarkan sembarang paket keluar. Untuk mengantisipasinya, kita dapat men-ginstruksikan firewall agar memberitakan berbagai hal abnormal yang terjadi padajaringan.

16 Iptables

Iptables atau NetFilter adalah software Linux yang mengimplementasikan sebuah frame-work untuk firewall yang bersifat statefull. Iptables juga memiliki fiture Network AddressTranslation (NAT). Netfilter hanya bekerja pada kernel versi 2.4 atau 2.6 dan tidak dapatbekerja pada kernel yang lebih rendah dari 2.4. Netfilter membuat aturan-aturan apa yangdilakukan tentang paket-paket network yang lewat. Aturan tersebut bisa meneruskannya,menolaknya, dll.

28

Page 29: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

16.1 Dasar iptables

Gambar 15: iptables

Pada iptables di kenal istilah chain yaitu tempat terjadi proses pemfilteran (pada Gambar15 berwarna hijau). Macam-macam chain[6]:

• PREROUTING, titik dimana kita bisa memanipulasi paket network sebelum diamemasuki keputusan routing, apakah ia akan masuk ke dalam Linux kita atau cumasekedar ’lewat’.

• INPUT, titik dimana kita bisa melakukan pemeriksaan terhadap paket network yangakan MASUK ke dalam Linux kita.

• OUTPUT, titik dimana kita melakukan pemeriksaan terhadap paket network yangdihasilkan oleh Linux kita KELUAR sebelum routing.

• FORWARD, titik dimana kita melakukan pemeriksaan terhadap paket network yangcuma numpang LEWAT Linux kita.

• POSTROUTING, titik dimana kita bisa melakukan manipulasi terhadap paket yangakan keluar dari Linux kita.

Masing-masing chain berisi daftar rules. Ketika sebuah paket dikirim ke suatu chain, paketini dibandingkan dengan masing-masing rule di dalam chain dalam urutan atas ke bawah.rule bisa dalam bentuk user-defined chain atau salah satu dari built-in target: ACCEPT,DROP, QUEUE, atau RETURN.

• ACCEPT

Target ini menyebabkan iptables menerima paket. Paket yang diterima dari chainINPUT diizinkan lewat dan diterima oleh host lokal, sedangkan paket yang diterimadari chain OUTPUT akan diizinkan meninggalkan host, dan paket yang diterima darichain FORWARD akan diizinkan untuk di-route ke host.

• DROP

Target ini menyebabkan iptables mendrop paket tanpa proses yang lebih lanjut. Pakethilang tanpa ada indikasi yang diberikan ke host pengirim bahwa paket ini telah didrop.Yang tampak dari sender biasanya adalah communication timed-out.

29

Page 30: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• MASQUERADING

IPMASQ adalah algoritme perubahan source-NAT suatu paket data tanpa menye-butkan asal paket yang sebenarnya. Dengan IPMASQ administrator tidak perlumemasukkan ke daftar tabel routing ketika suatu alamat IP lokal baru ingin men-gakses internet lewat gateway IP live.

Pada iptables juga dikenal adanya table yaitu tempat rule-rule/aturan-aturan yang kita buatdisimpan (pada Gambar 15 berwarna kuning). Ada 3 buah table, secara general dapat kitadefinisikan:

• Table filter, adalah tempat rule-rule yang berkaitan dengan boleh/tidaknya suatu paketnetwork melewati sebuah CHAIN di atas. dalam table ini terdapat Chain INPUT,OUTPUT dan FORWARD

• Table nat, adalah singkatan dari Network Address Translation, yaitu table tempat rule-rule yang berkaitan dengan manipulasi suatu paket network ketika melewati CHAINPREROUTING, POSTROUTING, dan OUTPUT.

• Table mangle, adalah tempat rule-rule yang berkaitan dengan manipulasi suatu paketnetwork untuk keperluan advance, seperti QOS (quality of service), packet marking,dll. dalam table ini terdapat semua Chain diatas.

16.2 Dua pendekatan setup firewall

Di mailing list sering ada yang bertanya: ”Port apa saja sih yang harus kita TUTUP?” Iniadalah pendekatan ’negative list’, dimana secara DEFAULT semua port kita BUKA, barukemudian satu per satu kita TUTUP port yang diinginkan.

Pendekatan kedua adalah: ’positive list’, yaitu dimana secara DEFAULT semua portdi TUTUP, dan baru kemudian satu per satu kita BUKA port yang diinginkan. Manadari kedua pendekatan itu yang sebaiknya kita pakai? Berikut ini adalah kelebihan dankekurangan masing-masing.

• Negative List:

– Mudah disetup

– Beresiko lupa menutup port

• Positive List:

– Sangat secure, sebab semua port tertutup

– Relatif lebih sulit disetup

16.3 Syntax Iptables

Iptables memberikan keleluasaan yang sangat besar kepada kita di dalam mengatur firewall.Kita bisa membuat rule mulai dari yang general/umum sampai yang detail sekali.

Syntax Iptables seperti ini (perhatikan huruf besar kecil berpengaruh):

1 iptables [-t table] -[AD] CHAIN rule - specification [options]2 iptables [-t table] -I CHAIN [rulenum] rule -specification [options]3 iptables [-t table] -R CHAIN rulenum rule - specification [options]4 iptables [-t table] -D CHAIN rulenum [options]5 iptables [-t table] -[LFZ] [CHAIN] [options]6 iptables [-t table] -P CHAIN target [options]

Keterangan:

• -I : insert, maka secara default rule akan menempati baris nomor 1. Kita bisa menye-butkan ingin insert di baris keberapa.

30

Page 31: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• -A : append, rule akan ditambahkan di baris paling bawah.

• -D : delete, menghapus rule baris ke-berapa.

• -R : replace, mengganti rule baris ke-berapa.

• -L : list, menampilkan rule-rule yang ada.

• -P : policy, mengubah policy suatu chain.

16.4 Contoh Kasus

Terdapat jaringan sebagai berikut:

Gambar 16: Contoh jaringan

• Melihat status iptables

1 [root@server ~]# iptables -nL2 Chain INPUT (policy ACCEPT)3 target prot opt source destination45 Chain FORWARD (policy ACCEPT)6 target prot opt source destination78 Chain OUTPUT (policy ACCEPT)9 target prot opt source destination

– Semua Chain memiliki policy ACCEPT artinya secara default semua paket dapatmasuk ke host ini.

• Ubah policy default menjadi DROP (Positive list)

1 [root@server ~]# iptables -P INPUT DROP2 [root@server ~]# iptables - n L3 Chain INPUT (policy DROP)4 target prot opt source destination56 Chain FORWARD (policy ACCEPT)7 target prot opt source destination89 Chain OUTPUT (policy ACCEPT)

10 target prot opt source destination

– Baris 3: policy chain INPUT sudah berubah menjadi DROP. lakukan perubahanjuga pada chain yang lain.

– Perintah ini harus dilakukan pada baris terakhir. Jika ada perintah lain makaharus dilakukan sebelum perintah ini.

31

Page 32: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Membolehkan hanya PC1 (192.168.0.1) yang dapat mengakses Gateway

1 [root@server ~]# iptables -I INPUT -s 192.168.0.1 -j ACCEPT2 [root@server ~]# iptables -I OUTPUT -d 192.168.0.1 -j ACCEPT3 [root@server ~]# iptables -nL4 Chain INPUT (policy ACCEPT)5 target prot opt source destination6 ACCEPT all -- 192.168.0.1 0.0.0.0/078 Chain FORWARD (policy ACCEPT)9 target prot opt source destination

1011 Chain OUTPUT (policy ACCEPT)12 target prot opt source destination13 ACCEPT all -- 0.0.0.0/0 192.168.0.1

– Baris 1: Semua paket yang masuk ke mesin yang berasal dari 192.168.0.1 di-izinkan.

– Baris 2: Semua paket yang keluar dari mesin menuju 192.168.0.1 diizinkan

Konfigurasi 2 arah tersebut kadang sangat merepotkan. Oleh karenanya biasa di gu-nakan Connection tracking, yaitu dimana ketika kita sudah mendefinisikan sebuah ruledi chain tertentu, maka trafik network yang terkait dengan rule tersebut tidak perludisebutkan lagi. Jadi dalam hal kasus diatas, kita cukup mendefinisikan rule di chainINPUT saja, yang di OUTPUTnya tidak perlu lagi.

1 [root@server ~]# iptables -I INPUT -s 192.168.0.1 -j ACCEPT2 [root@server ~]# iptables -I INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT3 [root@server ~]# iptables -I INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT4 [root@server ~]# iptables -I INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT56 [root@server ~]# iptables -nL7 Chain INPUT (policy ACCEPT)8 target prot opt source destination9 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED ,ESTABLISHED

10 ACCEPT all -- 192.168.0.1 0.0.0.0/01112 Chain FORWARD (policy ACCEPT)13 target prot opt source destination14 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED ,ESTABLISHED1516 Chain OUTPUT (policy ACCEPT)17 target prot opt source destination18 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED ,ESTABLISHED

• Sharing Internet.

Ada dua langkah yang harus dilakukan agar semua host dapat terkoneksi denganinternet:

– memperbolehkan semua host untuk mengakses port http (80) host luar (internet)

1 [root@server ~]# iptables -A FORWARD -p tcp --dport 80 -s 192.168.0.1 -j ACCEPT

– membungkus tiap paket yang keluar menjadi ip gateway, sehingga bisa dikenalidalam internet

1 [root@server ~]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

• Mengatur agar kita bisa membuat sebuah web server yang terlindungi di belakanggateway

– menerima tiap paket yang bertujuan ke port 80

32

Page 33: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 [root@server ~]# iptables -A FORWARD -p tcp -i eth0 --dport 80 -j ACCEPT

– mengubah tujuan tiap paket yang bertujuan ke port 80 menuju ke host 192.168.0.201port 80

1 [root@server ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to192.168.0.201:80

17 Shorewall

Shorewall adalah kependekan dari Shoreline Firewall, yaitu suatu tool untuk mempermu-dah konfigurasi netfilter (iptables). Anda tinggal mendeskripsikan segala kebutuhan firewallmenggunakan files konfigurasi yang telah disediakan. Lalu shorewall akan membaca kon-figurasi tersebut dan dengan bantuan iptables, shorewall menset netfilter sesuai dengankebutuhan anda tersebut.

Sebagai contoh kita akan menggunakan jaringan seperti pada Gambar 16.

17.1 Instalasi dan konfigurasi

1. Install shorewall menggunakan apt-get install shorewall. File-file konfigurasi shore-wall berada pada direkori /etc/shorewall, pada debian dan turunannya umumnya filepada direktori tersebut kosong. Namun terdapat beberapa contoh konfigurasi di/usr/share/doc/shorewall-common/examples/ mulai dari 1 interface sampae 3 interface.Jadi copykan contoh konfigurasi yang sesuai dari direkori tersebut ke /etc/shorewall.

1 [root@server ~]# cp -R /usr/share/doc/shorewall -common/examples/two -interfaces/ /etc/shorewall/

2. Enable startup service dari 0 menjadi 1 pada file /etc/default/shorewall. (Baris 5)

1 [root@server ~]# vim /etc/default/shorewall2 # prevent startup with default configuration3 # set the following varible to 1 in order to allow Shorewall to start45 startup =167 # if your Shorewall configuration requires detection of the ip address of a ppp8 # interface , you must list such interfaces in "wait_interface" to get Shorewall to9 # wait until the interface is configured. Otherwise the script will fail because

10 # it won ’t be able to detect the IP address.11 #12 # Example:13 # wait_interface ="ppp0"14 # or15 # wait_interface ="ppp0 ppp1"16 # or, if you have defined in /etc/shorewall/params17 # wait_interface=1819 #20 # Startup options21 #2223 OPTIONS =""2425 # EOF

3. Konfigurasi file /etc/shorewall/zones. File Zones adalah file yang menangani zona yangakan ditangani oleh shorewall. Umumnya satu zona mewakili satu interface, tapi tidakmenutup kemungkinan satu interface menangani lebih dari satu zona.

33

Page 34: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 [root@server ~]# vim /etc/shorewall/zones2 #3 # Shorewall version 4.0 - Sample Zones File for two -interface configuration.4 # Copyright (C) 2006 by the Shorewall Team5 #6 # This library is free software; you can redistribute it and/or7 # modify it under the terms of the GNU Lesser General Public8 # License as published by the Free Software Foundation; either9 # version 2.1 of the License , or (at your option) any later version.

10 #11 # See the file README.txt for further details.12 #------------------------------------------------------------------------------13 # For information about entries in this file , type "man shorewall -zones"14 #15 # The manpage is also online at16 # http :// shorewall.net/manpages/shorewall -zones.html17 #18 ###############################################################################19 #ZONE TYPE OPTIONS IN OUT20 # OPTIONS OPTIONS21 fw firewall22 net ipv423 loc ipv42425 #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

• Baris 21: sesuai dengan topologi, zona fw adalah dirinya sendiri (komputer gate-way).

• Baris 22: net adalah zona luar (internet).

• Baris 23: loc adalah zona lokal (192.168.0.0/24)

4. Konfigurasi file /etc/shorewall/interfaces. File interfaces menunjukkan interface yangakan ditangani shorewall sesuai dengan zona yang di definisikan di atas. Oleh kare-nanya, kolom zone yang ada disini harus sama dengan zona yang didefinisikan diatas.

1 [root@server ~]# vim /etc/shorewall/interfaces2 #3 # Shorewall version 4.0 - Sample Interfaces File for two -interface configuration.4 # Copyright (C) 2006 by the Shorewall Team5 #6 # This library is free software; you can redistribute it and/or7 # modify it under the terms of the GNU Lesser General Public8 # License as published by the Free Software Foundation; either9 # version 2.1 of the License , or (at your option) any later version.

10 #11 # See the file README.txt for further details.12 #------------------------------------------------------------------------------13 # For information about entries in this file , type "man shorewall -interfaces"14 #15 # The manpage is also online at16 # http :// shorewall.net/manpages/shorewall -interfaces.html17 #18 ###############################################################################19 #ZONE INTERFACE BROADCAST OPTIONS20 net eth0 detect dhcp ,tcpflags ,routefilter ,nosmurfs ,logmartians21 loc eth1 detect tcpflags ,nosmurfs22 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

• Baris 20: zona net berada pada interface eth0 (202.111.2.2) dengan broadcast“detect” berarti shorewall akan mendeteksi otomatis alamat broadcast eth0. jikamenggunakan opsi ini maka eth0 harus up terlebih dahulu sebelum shorewalldijalankan. Sedangkan opsi-opsi diatas bisa digunakan bisa juga tidak, berikutarti dari beberapa opsi:

– dhcp: gunakan opsi ini jika interface mendapat ip address melalui dhcp,jika interface ini digunakan oleh DHCP server untuk melayani client, jikainterface ini mempunyai ip static tapi banyak DHCP client di jaringan lokalanda, jika interface ini adalah bridge dimana DHCP server berada di satusisi sedangkan DHCP client berada di sisi lain.

34

Page 35: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

– tcpflags: paket yang datang di interface ini akan di cek apakah mengandungkombinasi ilegal dari TCP flags.

– routefilter: menset on kernel route filtering untuk interface ini.– nosmurfs: memfilter paket smurfs (yaitu paket yang menggunakan alamat

broadcast sebagai sumber)– logmartians: menset on kernel martial logging. disarankan apabila anda

menggunaka opsi routefilter.– dan banyak opsi yang lain, silahkan baca man shorewall-interfaces untuk se-

lengkapnya.

• Baris 21: zona loc berada pada interface eth1 (192.168.0.250) dengan broadcast“detect”.

5. Konfigurasi file /etc/shorewall/policy. File ini mendefinisikan kebijakan yang umumpada paket yang melewati zona yang di definisikan pada /etc/shorewall/zones. Per-hatian!: Urutan tiap aturan pada file ini sangat penting. File ini melakukan apa yangharus dilakukan pada tiap koneksi yang tidak cocok dengan semua aturan yang adadi file /etc/shorewall/rules.

1 [root@server ~]# vim /etc/shorewall/policy2 ###############################################################################3 #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST45 #6 # Note about policies and logging:7 # This file contains an explicit policy for every combination of8 # zones defined in this sample. This is solely for the purpose of9 # providing more specific messages in the logs. This is not

10 # necessary for correct operation of the firewall , but greatly11 # assists in diagnosing problems. The policies below are logically12 # equivalent to:13 #14 # loc net ACCEPT15 # net all DROP info16 # all all REJECT info17 #18 # The Shorewall -perl compiler will generate the individual policies19 # below from the above general policies if you set20 # EXPAND_POLICIES=Yes in shorewall.conf.21 #2223 # Policies for traffic originating from the local LAN (loc)24 #25 # If you want to force clients to access the Internet via a proxy server26 # on your firewall , change the loc to net policy to REJECT info.27 loc net ACCEPT28 loc $FW REJECT info29 loc all REJECT info3031 #32 # Policies for traffic originating from the firewall ($FW)33 #34 # If you want open access to the Internet from your firewall , change the35 # $FW to net policy to ACCEPT and remove the ’info ’ LOG LEVEL.36 # This may be useful if you run a proxy server on the firewall.37 $FW net REJECT info38 $FW loc REJECT info39 $FW all REJECT info4041 #42 # Policies for traffic originating from the Internet zone (net)43 #44 net $FW DROP info45 net loc DROP info46 net all DROP info4748 # THE FOLLOWING POLICY MUST BE LAST49 all all REJECT info5051 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

• Baris 27: memperbolehkan zona loc untuk mengakses zona net

35

Page 36: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Baris 28: tidak mengizinkan zona loc untuk mengakses zona fw, info berarti akanmengeluarkan informasi penolakan ke standart output.

• Baris 29: tidak mengizinkan zona loc untuk mengakses semua zona.

• Baris 37: tidak mengizinkan zona fw untuk mengakses zona net

• Baris 38: tidak mengizinkan zona fw untuk mengases zona loc

• Baris 39: tidak mengizinkan zona fw untuk mengakses semua zona.

• Baris 44: tidak mengizinkan zona net untuk mengakses zona fw

• Baris 45: tidak mengizinkan zona net untuk mengakses zona loc

• Baris 46: tidak mengizinkan zona net untuk mengakses semua zona.

• Baris 49: tidak mengizinkan semua zona untuk mengakses semua zona. baris iniharus berada pada akhir konfigurasi.

• beda REJECT dengan DROP: REJECT memberikan flag reset (RST) pada pro-tokol TCP dan “unreachable” untuk yang lain. sedangkan DROP mengabaikanrequest koneksi sama sekali.

6. Konfigurasi file /etc/shorewall/rules. File ini medefinisikan aturan yang sifatnya khusus.File ini merupakan eksepsi dari semua aturan yang ada di /etc/shorewall/policy. Andadapat menuliskan semua aturan firewall di file ini.

1 [root@server ~]# vim /etc/shorewall/rules2 #3 # Shorewall version 4.0 - Sample Rules File for two -interface configuration.4 # Copyright (C) 2006 ,2007 by the Shorewall Team5 #6 # This library is free software; you can redistribute it and/or7 # modify it under the terms of the GNU Lesser General Public8 # License as published by the Free Software Foundation; either9 # version 2.1 of the License , or (at your option) any later version.

10 #11 # See the file README.txt for further details.12 #------------------------------------------------------------------------------13 # For information about entries in this file , type "man shorewall -rules"14 #15 # The manpage is also online at16 # http :// shorewall.net/manpages/shorewall -rules.html17 #18 ###########################################################################################

19 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINALRATE USER/ MARK

20 # PORT PORT(S) DESTLIMIT GROUP

21 #22 # Accept DNS connections from the firewall to the network23 #24 DNS/ACCEPT $FW net25 #26 # Accept SSH connections from the local network for administration27 #28 SSH/ACCEPT loc $FW29 #30 # Allow Ping from the local network31 #32 Ping/ACCEPT loc $FW3334 #35 # Reject Ping from the "bad" net zone.. and prevent your log from being flooded ..36 #3738 Ping/REJECT net $FW3940 ACCEPT $FW loc icmp41 ACCEPT $FW net icmp42 #4344 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

• Baris 24: mengizinkan koneksi DNS dari firewall ke internet.

36

Page 37: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Baris 28: mengizinkan koneksi SSH dari jaringan lokal ke firewall untuk admin-istrasi.

• Baris 32: mengizinkan ping dari jaringan local ke firewall

• Baris 38: tidak mengizinkan ping dari internet ke firewall

• Baris 40: mengizinkan ping dari firewall ke jaringan local. merupakan kebalikanbaris 32

• Baris 41: mengizinkan ping dari firewall ke internet. kebalikan dari baris 38

• Untuk mengizinkan hanya ip 192.186.0.1 saja yang boleh mengakses firewall, ma-ka gantilah baris 28 dengan:

1 SSH/ACCEPT loc :192.168.0.1 $FW

• Untuk meneruskan request http pada firewall dari internet ke ip lokal 192.168.0.201.tambahkan baris berikut:

1 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL2 # PORT PORT(S) DEST3 DNAT net loc :192.168.0.201 tcp http

7. Konfigurasi file /etc/shorewall/masq. file ini berguna untuk mendefinisikan translasiasal dan atau tujuan paket.

1 [root@server ~]# vim /etc/shorewall/masq2 #3 # Shorewall version 4.0 - Sample Masq file for two -interface configuration.4 # Copyright (C) 2006 by the Shorewall Team5 #6 # This library is free software; you can redistribute it and/or7 # modify it under the terms of the GNU Lesser General Public8 # License as published by the Free Software Foundation; either9 # version 2.1 of the License , or (at your option) any later version.

10 #11 # See the file README.txt for further details.12 #------------------------------------------------------------------------------13 # For information about entries in this file , type "man shorewall -masq"14 #15 # The manpage is also online at16 # http :// shorewall.net/manpages/shorewall -masq.html17 #18 ###############################################################################19 #INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK20 eth0 eth121 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

• Baris 20: semua paket yang berasal dari jaringan eth1 (192.168.0.0/24) akandiubah seakan-akan berasal dari eth0 (202.111.2.2).

37

Page 38: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian VI

Proxy ServerTeknik proxy adalah teknik yang standar untuk akses Internet secara bersama-sama oleh be-berapa komputer sekaligus dalam sebuah Local Area Network (LAN) melalui sebuah modematau sebuah saluran komunikasi. Istilah Proxy sendiri banyak dikenal / digunakan terutamadi dunia / kalangan diplomatik. Secara sederhana proxy adalah seseorang / lembaga yangbertindak sebagai perantara atau atas nama dari orang lain / lembaga / negara lain[7].

18 Keuntungan dan kerugian Proxy server[8]

18.1 keuntungan proxy server

• Dapat menghemat biaya bandwidth.

• mempercepat koneksi karena file-file web yang direquest (selanjutnya disebut object)disimpan di dalam cache sehingga tidak perlu keluar menuju internet.

• Dapat mengatur kecepatan bandwidth untuk subnet yang berbeda-beda (mirip denganHTB atau zaper).

• Dapat melakukan pembatasan untuk file-file tertentu.

• Dapat melakukan pembatasan akses kepada situs-situs tertentu (misalnya situs porno).

• Dapat melakukan pembatasan download untuk file-file tertentu (misalnya file-file mp3,wav, dsb).

• Dapat melakukan pembatasan waktu-waktu yang diperbolehkan untuk download.

• Dapat melakukan pembatasan siapa saja yang boleh mengakses internet dengan meng-gunakan autentikasi. Autentikasi yang biasa digunakan bisa basic, digest, ataupunntlm.

• Dapat melakukan pembatasan-pembatasan lainnya.

18.2 kerugian proxy server

• Pintu keluar menuju gerbang internet hanya lewat proxy, sehingga ketika terjadi over-load, akses internet menjadi lambat

• User akan melihat file yang kadaluarsa jika cache expire time-nya terlalu lama, se-hingga meskipun di website file tersebut sudah berubah, user masih melihat file yangtersimpan di cache memory

• Karena koneksi internet harus melalui gerbang proxy terlebih dahulu, maka kecepatanakses bisa jadi lebih lambat daripada kita melakukan koneksi langsung. Dalam hal inikeduanya akan mengakses file internet secara langsung

19 Pengenalan dan Cara Kerja Squid

Salah satu proxy server yang banyak digunakan di lingkungan Unix/Linux adalah squidhttp://www.squid-cache.org/. Tidak semua data bisa di cache oleh Squid, data-datayang bersifat dinamik seperti CGI-BIN tidak di cache oleh Squid, jadi tiap kali ada per-mintaan CGI-BIN, maka Squid akan menghubungi langsung server tujuan. Saat ini protokolyang bisa dilayani oleh Squid adalah HTTP, HTTPS, FTP, Gopher, dan Wais.

Squid pertama-tama akan memeriksa request yang datang. Jika squid diset denganautentikasi tertentu, squid akan memeriksa autentikasi user terlebih dahulu. Autentikasi

38

Page 39: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

ini termasuk subnet area, user account, jenis file yang direquest, alamat situs tujuan, danproperti-properti yang telah diset pada file konfigurasi squid. Jika lolos dan telah sesuaidengan konfigurasi, request tersebut kembali diperiksa apakah objek yang diminta telahberada di cache. Jika sudah ada maka proxy server tidak perlu melanjutkan request keinternet tetapi langsung mereply request dengan objek yang diminta. Jika tidak ada di cache,squid dapat menghubungi siblingnya agar bisa saling tukar cache informasi menggunakanprotocol icp. Jika masih tidak ada, squid akan merequest ke parentnya. Parent harusmenyediakan informasi yang diminta, entah mengambil dari cachenya atau langsung keinternet.

20 Bagian-bagian squid

20.1 ICP (Internet Cache Protocol)

ICP merupakan kependekan dari Internet Cache Protocol, yaitu merupakan protokol yang di-gunakan untuk mengkoordinasikan antara dua web cache atau lebih agar dapat bekerjasamadan berkomunikasi. Tujuan web-cache bekerja sama ini adalah supaya dapat mencari letakyang tepat untuk menerima objek yang direquest. Protokol ini tidak reliable namun memi-liki time out yang sangat pendek sehingga cocok untuk web-cache. Protokol ini tidak cocokuntuk delivery – UDP adalah protokol yang lebih umum digunakan untuk delivery protocol.

Dengan ICP, sistem cache bias mempunyai hirarki. Hirarki dibentuk oleh dua jenishubungan, yaitu parent dan sibling.

• Parent: cache server yang wajib mencarikan content yang diminta oleh klien

• Sibling: cache server yang wajib memberikan content yang diminta jika memang terse-dia. Jika tidak, sibling tidak wajib untuk mencarikannya

20.2 Access Control List

Access Control List (ACL) adalah daftar rule yang menyatakan pembagian previleges, un-tuk mencegah orang yang tidak memiliki hak akses menggunakan infrastruktur cache. ACLadalah konfigurasi yang paling penting dalam sebuah web-cache. Dalam Squid, ACL digu-nakan untuk mendefinisikan rule yang diterapkan dalam web-cache tersebut.

Squid mendukung tipe-tipe ACL seperti di bawah ini:

• Network, subnet, baik tujuan maupun asal

• Protokol dan port yang dituju, misalnya HTTP, FTP, SNMP, dsb

• Autentikasi user name

• Maksimal koneksi untuk setiap IP address

• Maksimal jumlah IP address yang diperbolehkan untuk user name yang sama

• Alamat website ,MIME dan header yang direquest yang terangkum dalam regularexpression

Squid akan memeriksa setiap request yang datang dengan ACL yang ada pada konfigurasidan mencocokannya dengan aturan yang ada. Pencocokan ini bisa berakibat diizinkan atauditolaknya suatu koneksi dari user, pemberian bandwidth yang sesuai dengan aturan, dansebagainya.

39

Page 40: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

20.3 Autentikasi pada Squid

Squid mendukung berberbagai cara autentikasi user mulai dari yang sederhana sampai keyang kompleks. Beberapa autentikasi yang didukung antara lain:

• LDAP: Uses the Lightweight Directory Access Protocol

• NCSA: Uses an NCSA-style username and password file.

• MSNT: Uses a Windows NT authentication domain.

• PAM: Uses the Linux Pluggable Authentication Modules scheme.

• SMB: Uses a SMB server like Windows NT or Samba.

20.4 Httpd Accelerator / Reverse Proxy Server

Reverse proxy server adalah proxy server yang terinstall di dalam satu neighbourhood den-gan satu atau lebih webserver. Semua request dari internet yang berasal dari internet yangmenuju ke salah satu webserver akan dilayani lewat proxy server, yang bisa jadi requesttersebut ke dirinya sendiri atau diteruskan ke webserver seluruhnya atau sebagian saja.

Ada beberapa alasan kenapa kita memakai reverse proxy server, diantaranya adalah;

• Alasan keamanan: Proxy server adalah lapisan keamanan tambahan sebelum masuklapisan webserver.

• Enkripsi/SSL accelerator: Ketika website yang aman dibentuk, enkripsi SSL mungkintidak dikerjakan oleh webserver untuk mengurangi beban kerja webserver, tetapi di-lakukan oleh proxy server yang dilengkapi dengan hardware acceleration untuk SSL.

• Load distribution: Reverse proxy dapat mendistribusikan beban ke beberapa webserv-er, sehingga masing-masing webserver hanya bekerja di areanya sendiri-sendiri.

• Caching content yang statis. Reverse proxy dapat meng-cache content-content yangstatisseperti image, sehingga memperingan beban kerja webserver.

20.5 Transparent Caching

Ketika kita menggunakan squid untuk melakukan caching dari web traffic, browser harusdikonfigurasi agar menggunakan squid sebagai proxy. Transparent caching adalah metodeagar browser tidak perlu dikonfigurasi menggunakan proxy, namun secara otomatis telahmenggunakan proxy. Web traffic yang menuju ke port 80 diarahkan menuju ke port yangdidengarkan oleh squid, sehingga squid bertindak sebagai layaknya standar web server untukbrowser.

• Keuntungan memakai transparent caching:

– Kita tidak perlu mengkonfigurasi browser untuk memakai proxy tertentu karenasudah otomatis. Teknik ini cocok jika pengguna dari suatu subnet sangat awamdan tidak mau melakukan konfigurasi terlalu rumit pada browsernya.

– Pengendalian yang terpusat oleh administrator

• Kerugian memakai transparent caching:

– Fungsi autentikasi menjadi tidak berjalan

– Request untuk HTTPS tidak akan di-cache

– Tidak kokoh, karena transparent proxy sangat bergantung pada kestabilan jalurnetwork (karena adanya pengalihan request)

40

Page 41: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

– Ketergantungan terhadap browser tertentu. Proxy server melayani request berdasarkanHTTP header dari browser dan beberapa browser yang kuno tidak menyediakaninformasi ini.

– Jika ada suatu webserver yang tidak mendengarkan di port 80, request jelas tidakakan pernah dilayani.

20.6 Delay Pool

Delay Pool adalah suatu cara untuk mengatur kecepatan akses untuk suatu alamat websitedari ACL tertentu. Squid tidak hanya mendukung delay pool hanya untuk subnet saja,namun untuk semua ACL yang telah dibahas di atas.

Dalam squid, Delay Pool dispesifikasi dalam beberapa konfigurasi, yaitu:

• Delay Pool

Menspesifikasi berapa jumlah pool atau kelompok bandwidth yang akan digunakandalam squid

• Delay Class

Menspesifikasi masing-masing kelompok pool untuk masuk dalam class apa. Dalamsquid ada beberapa class yang memiliki fungsi yang berbeda-beda, yaitu class 1 - class5. Class-class ini dispesifikasi berdasarkan IP address dari ACL.

Contohs:

delay pools 4 # 4 delay pools

delay class 1 2 # pool 1 is a class 2 pool

delay class 2 3 # pool 2 is a class 3 pool

delay class 3 4 # pool 3 is a class 4 pool

delay class 4 5 # pool 4 is a class 5 pool

• Delay Parameter

Delay parameter menspesifikasi berapa jumlah transfer rate atau lebih sering disebutbandwidth untuk suatu pool. Bandwidth dispesifikasi dalam transfer rate rata-ratadan transfer rate maksimum yang dapat dicapai suatu pool.

Format Delay parameter tiap class:

– Class 1: delay parameters pool aggregate

– Class 2: delay parameters pool aggregate individual

– Class 3: delay parameters pool aggregate network individual

– Class 4: delay parameters pool aggregate network individual user

– Class 5: delay parameters pool tag

• Delay Access

Delay Access adalah parameter untuk memasukkan suatu ACL ke pool tertentu. Disini juga disebutkan apakah ACL diterima atau ditolak untuk masuk ke pool tersebut.

21 Instalasi dan Konfigurasi

Untuk instalasi squid tidak berbeda dengan lainnya, cukup dengan apt-get install squid.Di Repository Ubuntu terdapat 2 versi squid yaitu versi 2 dan versi 3. Jika anda ingin meng-gunakan squid versi3 installah dengan menggunakan apt-get install squid3.

Konfigurasi utama squid berada pada file /etc/squid3/squid.conf. File ini berisi ribuanbaris karena selain mengandung syntax konfigurasi, file ini sekaligus mengandung manu-al sehingga user lebih mudah mengkonfigurasi squid. Secara umum format syntax pada/etc/squid3/squid.conf sebagai berikut:

41

Page 42: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 # TAG: cache_mgr2 # Email -address of local cache manager who will receive3 # mail if the cache dies. The default is "webmaster ."4 #5 #Default:6 # cache_mgr webmaster7 cache_mgr [email protected]

• Baris 1: TAG adalah penanda jenis konfigurasi (dalam contoh diatas adalah cache mgr)

• Baris 2-3: adalah penjelasan dari TAG ini

• Baris 5-6: adalah contoh konfigurasi bawaan squid. Upayakan semua konfigurasi tam-bahan kita diletakkan sesusah baris ini.

• Baris 7: adalah file tambahan user

Karena opsi-opsi pada file konfigurasi squid sangat banyak, tidak semua konfigurasi haruskita lakukan. Dengan beberapa konfigurasi dasar sebenarnya kita juga sudah bisa men-jalankan squid. Berikut beberapa konfigurasi penting squid:

21.1 auth parm

Seperti sudah dijelaskan sebelumnya, squid mendukung berbagai macam autentikasi. Kaliini kita akan mencoba metode autentikasi yang paling sederhana menggunakan NCSA. NC-SA menggunakan file text biasa untuk menyimpan username serta password yang di enkripsi.

• Buat file tempat kita menyimpan user dan password. misal file /etc/squid3/password user

1 root@air :~# mkdir /etc/squid3/squid.conf

• Tambahkan user satu-persatu.

1 root@air :~# htpasswd /etc/squid/squid_passwd kholis2 New password :3 Re-type new password :4 Adding password for user kholis

• Carilah TAG: auth parm di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/password_user2 auth_param basic children 53 auth_param basic realm Squid proxy -caching web server ku...4 auth_param basic credentialsttl 2 hours5 auth_param basic casesensitive off6 acl ncsa_users proxy_auth REQUIRED7 http_access allow ncsa_users

21.2 http port

Port HTTP yang didengarkan oleh Squid. Defaultnya adalah 3128. Biasanya port yangumum untuk sebuah proxy server adalah 8080. Terkadang Squid juga memakai port 80kalau sedang berfungsi sebagai reverse proxy server.

• Carilah TAG: http port di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: http_port2 # Usage: port [options]3 # hostname:port [options]4 # 1.2.3.4: port [options]5 # ... (dipotong)6 http_port 10.122.1.254:3128

42

Page 43: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

21.3 cache peer

Sintask dari cache peer ini digunakan untuk berhubungan dengan peer lain, dan peer lainyang dikoneksikan ini tipenya bergantung dari tipe peer yang telah dideklarasikan ini,bisa bertipe sibling maupun bertipe parent,dan port yang digunakan untuk hubungan ICPmaupun HTTP juga dideklarasikan disini, sedangkan untuk parameter option disini adabermacam-macam salah satunya adalah default yang berarti dia adalah satu-satunya par-ent yang harus dihubungi (jika bertipe parent) dan proxy-only yang berarti bahwa objectyang didapat dari peer tersebut tidak perlu disimpan dalam hardisk local4.

• Carilah TAG: cache peer di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: cache_peer2 # To specify other caches in a hierarchy , use the format:3 #4 # cache_peer hostname type http -port icp -port [options]5 #6 # For example ,7 #8 # # proxy icp9 # # hostname type port port options

10 # # -------------------- -------- ----- ----- -----------11 # cache_peer parent.foo.net parent 3128 3130 proxy -only default12 # cache_peer sib1.foo.net sibling 3128 3130 proxy -only13 # cache_peer sib2.foo.net sibling 3128 3130 proxy -only14 #15 cache_peer 202.95.150.10 parent 3128 3130 default

21.4 icp port

Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor portini akan dipakai untuk berhubungan dengan klien dan peer.

• Carilah TAG: icp port di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: icp_port2 # The port number where Squid sends and receives ICP queries to3 # and from neighbor caches. The standard UDP port for ICP is 3130.4 # Default is disabled (0).5 #Default:6 # icp_port 07 #8 icp_port 3130

21.5 dead peer timeout

Masing-masing peer yang telah didefinisikan sebelumnya mempunyai waktu timeout sebesaryang ditentukan dalam konfigurasi ini, Jika peer tidak menjawab kiriman sinyal ICP dalambatas waktu yang telah ditentukan, peer akan dianggap tidak akan dapat dijangkau, dancache server tidak akan mengambil object dari server yang bersangkutan dalam intervalwaktu tertentu.

• Carilah TAG: dead peer timeout di /etc/squid3/squid.conf. lalu tambahkan syntaxberikut

4http://wiki.i-wirelessinnovation.com/index.php/Konsep Proxy

43

Page 44: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 # TAG: dead_peer_timeout (seconds)2 # This controls how long Squid waits to declare a peer cache3 # as "dead." If there are no ICP replies received in this4 # amount of time , Squid will declare the peer dead and not5 # expect to receive any further ICP replies. However , it6 # continues to send ICP queries , and will mark the peer as7 # alive upon receipt of the first subsequent ICP reply.8 #9 # This timeout also affects when Squid expects to receive ICP

10 # replies from peers. If more than ’dead_peer ’ seconds have11 # passed since the last ICP reply was received , Squid will not12 # expect to receive an ICP reply on the next query. Thus , if13 # your time between requests is greater than this timeout , you14 # will see a lot of requests sent DIRECT to origin servers15 # instead of to your parents.16 #17 #Default:18 dead_peer_timeout 10 seconds

21.6 hierarchy stoplist

Sintaks ini digunakan untuk menyatakan apa yang harus tidak diminta dari peer, melainkanharus langsung dari web server origin, jika pola1 dan pola 2 adalah parameter cgi-bin, ?,dan lain-lain maka jika ada request URL yang mengandung karakter tersebut maka akandiambilkan langsung ke server origin.

• Carilah TAG: hierarchy stoplist di /etc/squid3/squid.conf. lalu tambahkan syntaxberikut

1 # TAG: hierarchy_stoplist2 # A list of words which , if found in a URL , cause the object to3 # be handled directly by this cache. In other words , use this4 # to not query neighbor caches for certain objects. You may5 # list this option multiple times.6 # Note: never_direct overrides this option.7 #We recommend you to use at least the following line.8 hierarchy_stoplist cgi -bin ?

21.7 cache mem

Sintaks ini akan menentukan batas atas jumlah memori yang digunakan untuk menyimpanantara lain : intransit object yaitu object yang dalam masa transisi antara waktu cachemendownload sampai object disampaikan ke klien, dan hot object, yaitu object yang seringdiakses.

• Carilah TAG: cache mem di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: cache_mem (bytes)2 # NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS SIZE.3 # IT ONLY PLACES A LIMIT ON HOW MUCH ADDITIONAL MEMORY SQUID WILL4 # USE AS A MEMORY CACHE OF OBJECTS. SQUID USES MEMORY FOR OTHER5 # THINGS AS WELL. SEE THE SQUID FAQ SECTION 8 FOR DETAILS.6 # ... (dipotong)7 #Default:8 cache_mem 8 MB

21.8 cache swap low/high

Squid akan menghapus object yang ada didalam hardisknya jika media tersebut mulai penuh.Ukuran penuh ini yang diset pada cache swap low dan cache swap high. Bila batas swap lowtelah tercapai maka squid mulai menghapus dan jika batas swap high tercapai maka squidakan semakin sering menghapus.

44

Page 45: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Carilah TAG: cache swap low di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: cache_swap_low (percent , 0-100)2 # TAG: cache_swap_high (percent , 0-100)3 #4 # The low - and high -water marks for cache object replacement.5 # Replacement begins when the swap (disk) usage is above the6 # low -water mark and attempts to maintain utilization near the7 # low -water mark. As swap utilization gets close to high -water8 # mark object eviction becomes more aggressive. If utilization is9 # close to the low -water mark less replacement is done each time.

10 #11 # Defaults are 90% and 95%. If you have a large cache , 5% could be12 # hundreds of MB. If this is the case you may wish to set these13 # numbers closer together.14 #15 #Default:16 cache_swap_low 9017 cache_swap_high 95

21.9 cache dir

Sintaks ini akan menjelaskan direktori cache yang dipakai, pertama adalah jenis file sistem-nya, lalu didirektori mana cache tersebut akan disimpan, selanjutnya ukuran cache tersebutdalam MegaBytes lalu jumlah direktori level 1 dan direktori level 2 yang akan digunakansquid untuk menyimpan objectnya.

• Carilah TAG: cache dir di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: cache_dir2 # Usage:3 #4 # cache_dir Type Directory -Name Fs -specific -data [options]5 #... (dipotong)6 #Default:7 cache_dir ufs /var/spool/squid3 1000 16 256

21.10 access log

sintaks ini menjelaskan tempat log squid akan di simpan.

• Carilah TAG: access log di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: access_log2 # These files log client request activities. Has a line every HTTP or3 # ICP request. The format is:4 # ...( dipotong)5 access_log /var/log/squid3/access.log squid

21.11 cache mgr

adalah alamat email yang harus di hubungi bila squid mengalami gangguan.

• Carilah TAG: cache mgr di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: cache_mgr2 # Email -address of local cache manager who will receive3 # mail if the cache dies. The default is "webmaster ."4 #5 #Default:6 cache_mgr [email protected]

45

Page 46: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

21.12 acl

ACL atau access control list berfungsi untuk membatasi hak akses internet client. DenganACL proxy server dapat menentukan mana kata atau URL yang boleh diakses dan yangtidak boleh diakses oleh client.

ACL sendiri terdiri dari beberapa tipe antara lain :

• src - IP Address asal yang digunakan klien

• dst - IP Address tujuan yang diminta klien

• myip - IP Address local dimana klien terhubung

• srcdomain - Nama domain asal klien

• dstdomain - Nama domain tujuan klien

• srcdom regex- Pencarian pola secara string dari nama domain asal klien

• dstdom regex - Pencarian pola secara string dari nama domain tujuan klien

• time - Waktu dinyatakan dalam hari dan jam

• proto - Protokol transfer (http, ftp, gopher)

• method - Metode permintaan http (get, post, connect)

Misalnya kita medefiniskan lokal adalah jaringan 192.168.0.0 netmask 255.255.255.0

• Carilah TAG: acl di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: acl2 # Defining an Access List3 #4 # acl aclname acltype string1 ...5 # acl aclname acltype "file" ...6 #Recommended minimum configuration:7 acl manager proto cache_object8 acl localhost src 127.0.0.1/329 acl to_localhost dst 127.0.0.0/8

10 # tambahanku11 acl lokal src 192.168.0.0/2412 acl filebesar url_regex -i \.exe13 acl filebesar url_regex -i \.mp314 acl filebesar url_regex -i \.avi15 acl filebesar url_regex -i \.mpeg

21.13 http access

adalah penentu kebijakan ditolak atau diterima semua aturan pada acl.

• Carilah TAG: http access di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: http_access2 # Allowing or Denying access based on defined access lists3 #...( dipotong)4 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS5 http_access allow lokal67 # Example rule allowing access from your local networks.8 # Adapt localnet in the ACL section to list your (internal) IP networks9 # from where browsing should be allowed

10 #http_access allow localnet11 http_access allow localhost1213 # And finally deny all other access to this proxy14 http_access deny all

46

Page 47: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Pada konsep sintaks konfigurasi squid adalah bahwa sesuatu yang telah dieksekusi padabaris yang lebih atas maka dia tidak dieksekusi lagi dibaris yang paling bawah, walaupundalam parameter ACL yang dibawah tersebut dia juga termasuk, untuk lebih jelasnya, ji-ka ada IP Address 192.168.100.0/24 maka IP Address yang berkisar dari 192.168.100.1 –192.168.100.254 (ACL localnet) telah diijinkan untuk mengakses http yang ditunjukkanoleh http access allow localnet, dan dibawahnya ada ACL allsrc yang itu adalah men-cakup semua daftar IP Address dan ACL itu tidak diperbolehkan mengakses http, yaituhttp access deny allsrc, tapi karena pada ACL localnet dia telah dieksekusi untuk sebagaiIP Address yang boleh mengakses, maka walaupun dibaris bwahnya di dieksekusi lagi, itutidak akan berpengaruh,hal-hal seperti itu digunakan untuk seorang administrator cacheserver untuk melakukan pengontrolan agar tidak akan terlalu detail melakukan pengaturanjika baris atas dan bawah sama-sama saling mempengaruhi.

21.14 delay pool

Kita mendefinisikan 2 delay pool untuk menampung bandwidth. Satu pool masuk dalamkategori class 2 untuk mendefinisikan aturan overall 256 Kbs dan per-network 64 Kbps.Satu pool lainnya masuk kategori class 3 untuk mendefinisikan aturan tambahan jika usermendownload file-file yang didefinisikan dalam ACL url regex dengan bandwidth maksimal2 Kbps.

• Carilah TAG: delay pool di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: delay_pools2 # This represents the number of delay pools to be used. For example ,3 # if you have one class 2 delay pool and one class 3 delays pool , you4 # have a total of 2 delay pools.5 #6 #Default:7 delay_pools 2

21.15 delay class

• Carilah TAG: delay class di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: delay_class2 # This defines the class of each delay pool. There must be exactly one3 # delay_class line for each delay pool. For example , to define two4 # delay pools , one of class 2 and one of class 3, the settings above5 # and here would be:6 #7 #Example:8 delay_class 1 2 # pool 1 is a class 2 pool9 delay_class 2 3 # pool 2 is a class 3 pool

21.16 delay access

• Carilah TAG: delay access di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

47

Page 48: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 # TAG: delay_access2 # This is used to determine which delay pool a request falls into.3 #4 # delay_access is sorted per pool and the matching starts with pool 1,5 # then pool 2, ..., and finally pool N. The first delay pool where the6 # request is allowed is selected for the request. If it does not allow7 # the request to any pool then the request is not delayed (default).8 #9 # For example , if you want some_big_clients in delay

10 # pool 1 and lotsa_little_clients in delay pool 2:11 #12 #Example:13 delay_access 1 allow lokal14 delay_access 1 deny all15 delay_access 2 allow lokal filebesar16 delay_access 2 deny all

21.17 delay parameter

• Carilah TAG: delay parameter di /etc/squid3/squid.conf. lalu tambahkan syntax berikut

1 # TAG: delay_parameters2 # This defines the parameters for a delay pool. Each delay pool has3 # a number of "buckets" associated with it, as explained in the4 # description of delay_class. For a class 1 delay pool , the syntax is:5 delay_parameters 1 32000/32000 8000/80006 delay_parameters 2 32000/32000 8000/8000 250/250

48

Page 49: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian VII

File Sharing

22 Samba

Samba adalah aplikasi linux yang menggunakan SMB protokol (Server Message Block).Banyak system operasi seperti Windows dan OS/2 yang menggunakan SMB protocol untukmendukung client-server networking. Dengan menggunakan protokol ini, SAMBA memu-ngkinkan server yang berbasis Unix/Linux berkomunikasi dengan system jaringan yangberbasis Windows (Win95, Win 98, Win 2000 atau Win NT).

Dengan kata lain, samba memungkinkan sebuah mesin unix menjadi sebuah server bagiclient berbasis windows dan menyediakan layanan :

• Berbagi data/file

• Berbagi printer baik printer yang terhubung ke server maupun yang terhubung keclient

• Client dapat melihat isi server yang berbasis unix/linux dengan fasilitas WindowsNeigborhood

• Client dapat login ke system windows maupun unix

• Menunjang penggunaan WINS name server

Samba terdiri dari dua daemon utama yaitu smbd dan nmbd.

• smbd

smbd adalah suatu daemon (proses yang selalu aktif di memory) yang bertanggungjawab untuk mengatur layanan bersama (shared resources) antara samba server dankomputer client. Smbd menyediakan layanan berbagi data dan berbagi printer un-tuk komputer client. Smbd juga bertanggung jawab terhadap proses otentikasi ataupengecekan password bagi user yang menggunakan sistem jaringan

• nmbd

nmbd adalah daemon yang berfungsi sebagai nameserver yang merupakan perpaduanantara WINS dan NetBIOS Dengan menggunakan nmbd ini user dapat menjalankanfasilitas Windows Neighborhood untuk mesin unix

Selain itu terdapat beberapa utility samba yang penting, antara lain:

• smbclient

smbclient berguna untuk mengakses share komputer lain dengan interface seperti ftp.smbclient akan memberikan prompt untuk password, dan passwordnya seperti biasatidak akan ditampilkan. Kalau semuanya beres akan keluar prompt ’ smb:>’ padaprompt ini anda dapat mengetikkan perintah-perintah yang dipakai di ftp seperti ls,get, put, mget, mput, binary dsb. Kalau sudah selesai ketik saja quit. Syntaxnyaadalah5

smbclient service [options]

– dimana service mempunyai format //namaKomputer/namaFolderShare

– options yang sering di pake antara lain:

∗ -U namauser = Koneksi dengan nama user lain dari username linux5http://pemula.linux.or.id/pengguna/samba-client.html

49

Page 50: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

∗ -W workgroup = Koneksi dengan nama workgroup selain yang di setting di/etc/smb.conf

∗ -n NetBios Name = Koneksi dengan nama host yang berbeda dengan namahost komputer

∗ -I IP address = Koneksi ke host tertentu dengan IP tersebut. Sangat bergunajika samba tidak berhasil me-resolve nama host yang di tuju.

contoh:

1 kholis@air :~$ smbclient //gf/fullshare2 Password:3 Domain =[GF] OS=[ Windows 5.1] Server =[ Windows 2000 LAN Manager]4 smb: \> ls5 . D 0 Mon Jun 30 14:39:56 20086 .. D 0 Mon Jun 30 14:39:56 20087 Daftar Film.xls A 103424 Mon Jun 30 14:39:36 20088 kitty.exe A 300544 Mon Aug 27 08:21:30 20079 59992 blocks of size 524288. 37525 blocks available

10 smb: \> get kitty.exe11 getting file \kitty.exe of size 300544 as kitty.exe (8385.7 kb/s) (average 8385.7 kb/s)12 smb: \> quit

• smbmount

Cara lain mengakses share adalah me-mount remote share tersebut ke suatu direk-tori dengan menggunakan smbmount. Setelah di mount anda bisa mengakses shsretersebut seperti anda mengakses direktori biasa. Seperti juga mount, smbmount harusdijalankan oleh root. Syntaxnya adalah sebagai berikut:

smbmount service mountpoint [-o options]

– service dalam format //namaKomputer/namaFolderShare

– Dimana option yang sering digunakan adalah:

∗ username=user : Koneksi dengan nama user lain dari username linux (root)∗ netbiosname=name : Koneksi dengan memakai nama host yang berbeda

dengan nama host komputer∗ workgroup=name : Koneksi dengan nama workgroup selain yang di setting

di /etc/smb.conf∗ ip=1.2.3.4 : Koneksi ke host tertentu dengan IP tertentu misalnya 1.2.3.4.

Sangat berguna jika samba tidak berhasil me-resolve nama host yang di tuju.

Contoh:

1 [root@linux :~]# smbmount "//gf/my documents" /mnt/gf2 Password:

• smbpassword

adalah program untuk menambah user yang berhak mengakses samba. User ini harusmerupakan user real di sistem. Selain itu juga berfungsi untuk mengubah passworduser.

• smbstatus

Program yang memberikan informasi tentang jumlah komputer yang sedang terhubungdengan samba server

• testparm

tool untuk mengecek kebenaran konfigurasi smb.conf

50

Page 51: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

22.1 Instalasi dan Konfigurasi

Instalasi samba dapat dilakukan dengan:

1 root@air :~# apt -get install samba samba -common smbfs

Konfigurasi samba berada pada file /etc/samba/smb.conf. Pada file ini terdapat bagian-bagian konfigurasi, secara default terdapat konfigurasi global dan printer. berikut adalahcontoh konfigurasi global

1 [global]2 workgroup = WORKGROUP3 server string = %h server (Samba , Ubuntu)4 dns proxy = no5 log file = /var/log/samba/log.%m6 max log size = 10007 syslog = 08 panic action = /usr/share/samba/panic -action %d9 security = user

10 username map = /etc/samba/smbusers11 encrypt passwords = true12 passdb backend = tdbsam13 obey pam restrictions = yes14 invalid users = root15 unix password sync = yes16 passwd program = /usr/bin/passwd %u17 passwd chat = *Enter\snew\s*\ spassword :* %n\n *Retype\snew\s*\ spassword :* %n\n *

password\supdated\ssuccessfully* .18 pam password change = yes19 map to guest = bad user20 socket options = TCP_NODELAY21 usershare allow guests = yes22 guest account = nobody

• Baris 2: nama workgroup dalam jaringan

• Baris 3: nama server yang akan terlihat dalam jaringan

• Baris 4: mencegah nmbd mencari NetBIOS name ke DNS

• Baris 9: jenis security, bisa “user”, “share”, “server”, atau “domain”.

Lalu anda dapat menambahkan share direktori dengan format sebagai berikut:

1 [source]2 comment = kode sumber3 path = /home/kholis/Source4 browseable = yes5 valid users = kholis lukman @admin6 read only = no7 force user = kholis8 create mask = 07779 directory mask = 0777

10 hosts allow = 192.168.0.0/24 10.1.1.3

• Baris 1: nama direktori share yang tampak dalam jaringan.

• Baris 2: komentar yang dari direktori di Baris 1

• Baris 3: adalah letak dari direktori yang akan di share.

• Baris 4: browseable = yes akan menyebabkan direktori yang di share akan terlihat,demikian sebaliknya.

• Baris 5: berarti yang boleh mengakses direktori ini hanya user kholis, user lukmandan user dengan group admin.

• Baris 6: direktori share dapat ditulisi

51

Page 52: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Baris 7: apabila user lukman membuat file atau direktori baru maka kepemilikannyatetap kholis bukan milik lukman.

• Baris 8: menunjukkan permission dari file baru yang di perbolehkan. nilai dari createmask akan di and kan dengan permission yang diinginkan.

• Baris 9: mirip baris 8 tetapi untuk direktori.

• Baris 10: host atau jaringan yang di perbolehkan mengakses direktori share.

• sebetulnya masih banyak lagi opsi yang dapat di pake, antara lain:

– public = yes/no : digunakan untuk sharing yang anonymouse (tanpa login)

– guest ok = yes/no: mirip opsi public

– writeable = yes/no: mirip opsi read only

– write lists = kholis lukman @admin: mirip opsi valid users

untuk menjalankan (baris 1), menghentikan (baris 2) dan merestart (baris 3) service dapatdilakukan dengan:

1 root@air :~# /etc/init.d/samba start2 root@air :~# /etc/init.d/samba stop3 root@air :~# /etc/init.d/samba restart

22.2 Konfigurasi dengan GUI

• Install plugin nautilus untuk samba.

1 root@air :~# apt -get install nautilus -share

• Buka nautilus. Klik kanan folder yang ingin di share. pilih Sharing Options, akankeluar tampilan:

Gambar 17: Share pada nautilus

• Centang opsi Share this folder lalu isi share name-nya, pilih opsi lain seperti bolehtidaknya di tulis atau mengizinkan guest untuk mengakses folder share. Klik tombolModify Share.

52

Page 53: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

23 FTP

File Transfer Protokol (FTP) adalah suatu aplikasi yang berfungsi untuk tukar-menukar filedalam suatu network yang mensupport TCP/IP protokol. Dua hal penting yang ada dalamFTP adalah FTP server dan FTP Client. FTP server menjalankan software yang digunakanuntuk tukar menukar file, yang selalu siap memberian layanan FTP apabila mendapat re-quest dari FTP client. FTP client adalah komputer yang merequest koneksi ke FTP serveruntuk tujuan tukar menukar file (mengupload atau mendownload file)6.

FTP menggunakan dua jenis hubungan (connection) untuk mentransfer suatu file, yaitu[2]:

• Control Connection

digunakan pada umumnya hubungan client-server. Server membuka diri secara pasif disebuah port khusus yaitu port 21. Selanjutnya client secara aktif akan membuka konek-si ke port 21 untuk membangun control connection. koneksi ini akan dipertahankanselama client masih berkomunikasi dengan server. Hubungan ini digunakan oleh clientuntuk mengirim perintah-perintah, dan server menggunakannya untuk merespon.

• Data Connection

dibangun setiap kali sebuah file ditransfer antara client-server.

Untuk dapat terhubung dengan ftp server umumnya user menggunakan autentikasi denganmemasukkan username serta password. Tapi ada juga ftp yang khusus disediakan bagi semuaorang tanpa membutuhkan autentikasi, yang dikenal dengan anonymous ftp.

23.1 FTP Server

Ada banyak sekali FTP server yang umum dipakai di Unix/Linux, beberapa yang populerantara lain:

• proftpd - Versatile, virtual-hosting FTP daemon

• vsftpd - The Very Secure FTP Daemon

• ftpd - FTP server

• wu-ftpd - powerful and widely used FTP server

• wzdftpd - A portable, modular, small and efficient ftp server

• pure-ftpd - Pure-FTPd FTP server

Kali ini kita akan menggunakan vsftpd, cara instalasinya mudah saja:

1 root@air :~# apt -get install vsftpd

File konfigurasi vsftpd terdapat di /etc/vsftpd.conf. Pada file tersebut juga terdapatsedikit manual dari opsi-opsi yang tersedia sehingga memudahkan pengguna. Berikut iniadalah opsi-opsi yang penting:

• listen=YES, vsftpd akan dijalankan dalam mode standalone.

• anonymous enable=YES, mode yang digunakan adalah anonymouse dimana user da-pat login menggunakan user: ftp dan tanpa password.

• local enable=YES, user local server diijinkan mengakses ftp dan menggunakan homedirektorinya masing-masing sebagai default direktori saat login ke ftp server.

• write enable=YES, mengijinkan user membuat, memodifikasi atau mengkopi file dandirektori ke server.

6http://aminudin.net/?p=60

53

Page 54: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• local umask=022, permission default saat pembuatan file oleh user lokal

• anon upload enable=YES, memperbolehkan anonymous user mengupload file

• chroot local user=YES, lokal user hanya dibatasi hanya diperbolehkan mengakses homedirektorinya sendiri.

• ftpd banner=String, banner saat login ftp server.

vsftpd akan membuat direktori /home/ftp sebagai home direktori saat anonymous ftp digu-nakan.

1 kholis@cygnus :~$ ftp 10.122.1.522 Connected to 10.122.1.52.3 220 (vsFTPd 2.0.6)4 Name (10.122.1.52: kholis): ftp5 331 Please specify the password.6 Password:7 230 Login successful.8 Remote system type is UNIX.9 Using binary mode to transfer files.

10 ftp > pwd11 257 "/home/ftp"12 ftp > ls13 200 PORT command successful. Consider using PASV.14 150 Here comes the directory listing.15 -rw-r--r-- 1 0 0 0 Jul 01 02:26 test16 226 Directory send OK.17 ftp > ?18 Commands may be abbreviated. Commands are:1920 ! debug mdir qc send21 $ dir mget sendport site22 account disconnect mkdir put size23 append exit mls pwd status24 ascii form mode quit struct25 bell get modtime quote system26 binary glob mput recv sunique27 bye hash newer reget tenex28 case help nmap rstatus tick29 cd idle nlist rhelp trace30 cdup image ntrans rename type31 chmod lcd open reset user32 close ls prompt restart umask33 cr macdef passive rmdir verbose34 delete mdelete proxy runique ?35 ftp > bye36 221 Goodbye.

• Baris 4: username yang digunakan

• Baris 6: masukkkan passwordnya (karena anonymous di kosongkan saja)

• Baris 17: untuk mengetahui perintah-perintah yang bisa dilakukan ketik ?

Sedangkan pada mode non-anonymouse home direktori masing-masing user yang akan di-gunakan.

1 kholis@cygnus :~$ ftp 10.122.1.522 Connected to 10.122.1.52.3 220 Welcome on AIR server. selamat menikmati ...4 Name (10.122.1.52: kholis): kholis5 331 Please specify the password.6 Password:7 230 Login successful.8 Remote system type is UNIX.9 Using binary mode to transfer files.

10 ftp > pwd11 257 "/home/kholis"

FTP sebenarnya cara yang tidak aman untuk mentransfer file karena file tersebut ditrans-fer tanpa melalui enkripsi terlebih dahulu tetapi melalui clear text. Solusi yang digunakanadalah dengan menggunakan SFTP (SSH FTP) yaitu FTP yang berbasis pada SSH ataumenggunakan FTPS (FTP over SSL) sehingga data yang dikirim terlebih dahulu dienkripsi(dikodekan).

54

Page 55: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

23.2 FTP Client

adalah program yang digunakan untuk mengakses ftp server. ada banyak program yangbisa digunakan umunya terbagai 2 yaitu mode text dan mode grafis. untuk yang mode textdapat dilihat seperti pada kode 23.1. Sedangkan untuk mode grafis dapat menggunakanfile browser seperti: konqueror, nautilus. web browser seperti: firefox, opera maupun FTPClient seperti: Filezilla, gftp, dll. berikut beberapa screenshot:

Gambar 18: Firefox sebagai ftp client

Gambar 19: Nautilus sebagai ftp client

55

Page 56: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Gambar 20: FileZilla sebagai ftp client

24 NFS

Network File System atau sistem berkas jaringan adalah sekumpulan protokol yang di-gunakan untuk mengakses beberapa sistem berkas melalui jaringan. Bisa dikatakan jugabahwa NFS merupakan sebuah implementasi dan spesifikasi dari sebuah perangkat lunakuntuk mengakses remote file melalui jaringan LAN atau WAN.

NFS yang dikembangkan oleh Sun Micro Systems Inc. Tujuan dari NFS adalah untukmemungkinkan terjadinya pertukaran sistem berkas secara transparan antara mesin-mesinbebas tersebut. Hubungan yang terjadi di sini didasarkan pada hubungan client-server yangmenggunakan perangkat lunak NFS server dan NFS client yang berjalan diatas workstation7.

NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang berjalan diatas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi antara clientdan server di dalam jaringan. Client NFS selanjutnya akan mengimpor sistem berkas remotedari server NFS, sementara server NFS mengekspor sistem berkas lokal kepada client.

24.1 NFS Server

Instalasi NFS server dapat dilakukan dengan:

1 root@air :~# apt -get install nfs -common nfs -kernel -server portmap

File konfigurasinya berada di /etc/exports.

1 # /etc/exports: the access control list for filesystems which may be exported2 # to NFS clients. See exports (5).3 #4 # Example for NFSv2 and NFSv3:5 # /srv/homes hostname1(rw,sync) hostname2(ro ,sync)6 #7 # Example for NFSv4:8 # /srv/nfs4 gss/krb5i(rw,sync ,fsid=0,crossmnt)9 # /srv/nfs4/homes gss/krb5i(rw ,sync)

10 #11 /home/kholis/share 192.168.1.0/24(rw,sync ,no_root_squash ,no_subtree_check)

7http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-2/ch18s05.html

56

Page 57: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Baris 11:

– /home/kholis/share: adalah direktori yang di share

– 192.168.1.0/24: hanya bisa diakses oleh jaringan 192.168.1.0 netmask 255.255.255.0

– rw: bisa ditulisi

– sync: akan memaksakan agar proses dilakukan secara sinkron. Sync akan men-jaga agar tidak ada korupsi data pada saat server reboot / mati pada saat filewrite, tentunya dengan sedikit pengorbanan performance di bandingkan jika kitamenggunakan mekanisme async.

– no root squash: root yang pada mesin client akan memiliki tingkatan akses ke filesama dengan root pada server

– no subtree check: membuat NFS client bisa mengakses direktori-direktori di bawah/ di dalam direktori yang dibagi tadi.

Jalankan service NFS dengan:

1 root@air :~# /etc/init.d/nfs -kernel -server start

24.2 NFS Client

Instalasi NFS client dapat dilakukan dengan:

1 root@air :~# apt -get install nfs -user -server

Mount direktori share pada server dengan menambahkan entri berikut di /etc/fstab agartiap kali booting selalu di mount otomatis.

1 # <file system > <mount point > <type > <options > <dump > <pass >2 192.168.0.1:/ home/kholis/share /home/lukman/nfs_share nfs defaults 0 0

57

Page 58: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian VIII

Print Server

25 CUPS

Common Unix Printing System (CUPS) adalah sebuah sistem pencetak komputer yangmodular (modularised computer printing system) untuk komputer dengan sistem operasiUnix-like seperti Linux, BSD dan Mac OSX, yang memungkinkan komputer berfungsi se-bagai print servers. Komputer yang menjalankan CUPS adalah host yang dapat menerimatugas cetak dari semua komputer klien, memroses perintah tersebut dan mengirimkannyake printer yang terkait.

CUPS terdiri dari sebuah Unix print spooler dan scheduler, sebuah sistem filter yangmenterjemahkan print data ke format yang dapat dimengerti mesin pencetak (printer), ter-masuk sebuah sistem dilatar belakang (backend system) yang mensuplai data tersebut kemesin pencetak. CUPS memanfaatkan Internet Printing Protocol (IPP) sebagai basis untukmengelola tugas cetak dan antrean (print jobs and queues).

25.1 Instalasi dan Konfigurasi CUPS server

Install CUPS dengan perintah berikut:

1 root@air :~# apt -get install cupsys cupsys -driver -gutenprint foomatic -db -gutenprintfoomatic -filters fontconfig libtiff4 libfreetype6

File konfigurasi terletak di /etc/cups/cupsd.conf.

58

Page 59: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 # Log general information in error_log - change "info" to "debug" for2 # Encryption3 Encryption IfRequested45 # troubleshooting ...6 LogLevel warning78 # Administrator user group ...9 SystemGroup lpadmin

101112 # Only listen for connections from the local machine.13 Listen localhost :63114 Listen 192.168.1.115 Listen /var/run/cups/cups.sock1617 # Show shared printers on the local network.18 Browsing On19 BrowseOrder allow ,deny20 BrowseAllow all21 BrowseAddress @LOCAL2223 # Default authentication type , when authentication is required ...24 DefaultAuthType Basic2526 # Restrict access to the server ...27 <Location />28 Order allow ,deny29 Allow localhost30 Allow 192.168.1.*31 Deny all32 </Location >3334 # Restrict access to the admin pages ...35 <Location /admin >36 Order allow ,deny37 Allow localhost38 Deny all39 </Location >4041 # Restrict access to configuration files ...42 <Location /admin/conf >43 AuthType Default44 Require user @SYSTEM45 Order allow ,deny46 Allow localhost47 </Location >

• Baris 12-15: digunakan untuk setting ip serta port yang digunakan server.

• Baris 17-21: Opsi Browsing On agar printer server bisa terlihat dan dibrowse dalamjaringan.

• Baris 26-32: pengaturan hak izin mengakses server. yang diperbolehkan mengakseshanya localhost dan jaringan 192.168.1.0/24

• Baris 34-39: pengaturan hak izin mengakses halaman admin server. hanya localhostyang diperbolehkan

• Baris 41-47: mirip baris 34-39 tetapi untuk halaman konfigurasi.

Mengaktifkan Dukungan untuk Driver PCL Windows. Driver PCL mengirimkan datamentah ke server print. Untuk mengaktifkan pencetakan data mentah di CUPS andaperlu mengedit /etc/cups/mime.types dan menghapus tanda komentar pada baris-barisapplication/octet-stream. Anda juga perlu melakukan hal yang sama pada /etc/cups/mime.convs.

1 root@air :~# vim /etc/cups/mime.types2 # Hapus tanda komentar dari baris berikut3 application/octet -stream45 root@air :~# vim /etc/cups/mime.convs6 # Hapus tanda komentar dari baris berikut7 application/octet -stream application/vnd.cups -raw 0 -

59

Page 60: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Restart service cups

1 root@air :~# /etc/init.d/cupsys restart

Sekarang anda coba dari browser anda dengan mengetik http://localhost:631 . Jika prosesinstalasi berhasil maka anda tinggal install driver printer melalui menu yang ada.

25.2 Instalasi dan Konfigurasi CUPS client

Install CUPS client dengan perintah berikut:

1 root@air :~# apt -get install cupsys cupsys -client

Setelah itu buatlah file /etc/cups/client.conf dan isi dengan code berikut.

1 # Servername2 ServerName 192.168.1.13 # Encryption4 Encryption IfRequested

Restart service cups

1 root@air :~# /etc/init.d/cupsys restart

60

Page 61: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian IX

DHCP ServerDHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitekturclient/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan.Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepadasemua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua kom-puter yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari serv-er DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP,seperti default gateway dan DNS server.

Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server,maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP Server dan DHCP Client.

DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat ”menye-wakan” alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya.DHCP client merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yangmemungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server.

DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikankepada klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa ala-mat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hinggabeberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akanmeminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya.

DHCP Client akan mencoba untuk mendapatkan ”penyewaan” alamat IP dari sebuahDHCP server dalam proses empat langkah berikut:

• DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untukmencari DHCP Server yang aktif.

• DHCPOFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCPserver kemudian menawarkan sebuah alamat kepada DHCP client.

• DHCPREQUEST: Client meminta DCHP server untuk menyewakan alamat IP darisalah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangku-tan.

• DHCPACK: DHCP server akan merespons permintaan dari klien dengan mengirimkanpaket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat(dan konfigurasi TCP/IP lainnya) kepada klien, dan memperbarui basis data databasemiliknya.

Klien selanjutnya akan memulai proses binding dengan tumpukan protokol TCP/IP dankarena telah memiliki alamat IP, klien pun dapat memulai komunikasi jaringan. Empattahap di atas hanya berlaku bagi klien yang belum memiliki alamat.

Untuk klien yang sebelumnya pernah meminta alamat kepada DHCP server yang sama,hanya tahap 3 dan tahap 4 yang dilakukan, yakni tahap pembaruan alamat (address renew-al), yang jelas lebih cepat prosesnya.

DHCP bersifat stand-alone, sehingga jika dalam sebuah jaringan terdapat beberapaDHCP server, basis data alamat IP dalam sebuah DHCP Server tidak akan direplikasike DHCP server lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara dua DHCPserver tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki alamatyang sama.

Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat mene-tapkan sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu kewaktu.

26 DHCP Server

Berikut ini adalah instalasi dan konfigurasi DHCP Server:

61

Page 62: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Install DHCP Server

1 root@air :~# apt -get install dhcp3 -server dhcp3 -common

• Tentukan interface yang akan digunakan untuk melayani service DHCP dengan menged-it file /etc/default/dhcp3-server.

1 root@air :~# vim /etc/default/dhcp3 -server2 # Defaults for dhcp initscript3 # sourced by /etc/init.d/dhcp4 # installed at /etc/default/dhcp3 -server by the maintainer scripts56 #7 # This is a POSIX shell fragment8 #9

10 # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?11 # Separate multiple interfaces with spaces , e.g. "eth0 eth1".12 INTERFACES ="eth0"

– Baris 12: adalah interface yang digunakan.

• File Konfigurasi utama DHCP berada di /etc/dhcp3/dhcpd.conf. Berikut adalah kon-figurasi sederhana sebagai contoh

1 # A slightly different configuration for an internal subnet.2 subnet 10.122.1.0 netmask 255.255.255.0 {3 range 10.122.1.101 10.122.1.150;4 option domain -name -servers ns.computer.ee.its.ac.id;5 option domain -name "computer.ee.its.ac.id";6 option routers 10.122.1.1;7 option broadcast -address 10.122.1.255;8 default -lease -time 600;9 max -lease -time 7200;

10 }

– Baris 2: menunjukkan jaringan yang akan ditangani

– Baris 3: adalah range IP Address yang dialokasikan untuk DHCP

– Baris 4: adalah DNS Server yang akan diberikan ke client.

– Baris 5: adalah domain dari client.

– Baris 6: adalah default gateway yang akan di berikan ke client.

– Baris 7: adalah alamat broadcast client.

– Baris 8: lama waktu peminjaman (dalam satuan detik)

– Baris 9: waktu maksimal peminjaman (detik).

Untuk memberikan alamat yang tetap pada client dapat ditambahkan konfigurasiberikut:

1 host fantasia {2 hardware ethernet 08:00:07:26: c0:a5;3 fixed -address fantasia.fugue.com;4 }

– Baris 1: nama host

– Baris 2: MAC Address ethernet card client

– Baris 3: FQDN (Full Qualified Domain Name) jika terdapat DNS Server. ataubisa juga diganti denga IP Address bila tidak terdapat DNS Server di jaringan.

62

Page 63: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

27 DHCP Client

Untuk client cukup menginstall paket dhcp3-client. dan mengubah settingan IP Addresspada /etc/network/interface menjadi dhcp.

1 auto lo2 iface lo inet loopback34 auto eth05 iface eth0 inet dhcp

63

Page 64: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian X

Network Monitoring

28 SNMP (Simple Network Management Protocol)

SNMP adalah protokol yang didesain untuk memberikan kemampuan ke pemakai untukmengelola jaringan komputernya dari jarak jauh. SNMP menggunakan protokol UDP padaport 161(agent) dan 162(manager)[2].

SNMP terdiri dari tiga elemen yaitu:

1. MIB (Management Information Base)

adalah struktur database variabel elemen jaringan yang dikelola. Struktur ini bersifathirarki dan memiliki aturan sehingga informasi setiap variabel dapat diketahui dandiset dengan mudah.

2. Manager

software yang berjalan pada sebuah host di jaringan yang berfungsi mengumpulkaninformasi dari agen-agen

3. Agent

adalah software yang dijalankan di setiap node jaringan yang akan di monitor.

28.1 Instalasi SNMP Server

Instalasi SNMP dapat dilakukan dengan:

1 root@air :~# apt -get install snmp snmpd

File utama SNMP berada pada /etc/snmp/snmpd.conf.

64

Page 65: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 ####2 # First , map the community name (COMMUNITY) into a security name3 # (local and mynetwork , depending on where the request is coming4 # from):56 # sec.name source community7 com2sec paranoid default b201crew8 #com2sec readonly default public9 #com2sec readwrite default private

1011 ####12 # Second , map the security names into group names:1314 # sec.model sec.name15 group MyROSystem v1 paranoid16 group MyROSystem v2c paranoid17 group MyROSystem usm paranoid18 group MyROGroup v1 readonly19 group MyROGroup v2c readonly20 group MyROGroup usm readonly21 group MyRWGroup v1 readwrite22 group MyRWGroup v2c readwrite23 group MyRWGroup usm readwrite2425 ####26 # Third , create a view for us to let the groups have rights to:2728 # incl/excl subtree mask29 view all included .1 8030 view system included .iso.org.dod.internet.mgmt.mib -2. system3132 ####33 # Finally , grant the 2 groups access to the 1 view with different34 # write permissions:3536 # context sec.model sec.level match read write notif37 access MyROSystem "" any noauth exact all none none38 access MyROGroup "" any noauth exact all none none39 access MyRWGroup "" any noauth exact all all none4041 # -----------------------------------------------------------------------------

• Baris 7: adalah deklarasi community name dan security name. jika ingin memonitorseluruh jaringan bisa diganti dengan com2sec localNet 192.168.0.0 /24 public

• Baris 15-17: adalah memetakan security paranoid ke dalam 3 group tersebut.

Konfigurasi opsional, menunjukkan orang yang bertanggungjawab terhadap SNMP.

1 ###############################################################################2 # System contact information3 #45 # It is also possible to set the sysContact and sysLocation system6 # variables through the snmpd.conf file. ** PLEASE NOTE** that setting7 # the value of these objects here makes these objects READ -ONLY8 # (regardless of any access control settings). Any attempt to set the9 # value of an object whose value is given here will fail with an error

10 # status of notWritable.1112 syslocation Lab B-20113 syscontact kholis <[email protected]>

Restart service SNMP

1 root@air :~# /etc/init.d/snmpd restart

Untuk melihat hasilnya dapat digunakan perintah berikut, dan akan muncul keluaranseperti berikut.

65

Page 66: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 root@air :~# snmpwalk localhost -c public -v12 SNMPv2 -MIB:: sysDescr .0 = STRING: Linux sritest 2.4.27 -2 -386 #1 Wed Aug 17 09:33:35 UTC

2005 i6863 SNMPv2 -MIB:: sysObjectID .0 = OID: NET -SNMP -MIB:: netSnmpAgentOIDs .104 SNMPv2 -MIB:: sysUpTime .0 = Timeticks: (656698) 1:49:26.985 SNMPv2 -MIB:: sysContact .0 = STRING: [email protected] SNMPv2 -MIB:: sysName .0 = STRING: debiantest7 SNMPv2 -MIB:: sysLocation .0 = STRING: Maindatacenter8 SNMPv2 -MIB:: sysORLastChange .0 = Timeticks: (0) 0:00:00.009 SNMPv2 -MIB:: sysORID .1 = OID: IF-MIB::ifMIB

10 SNMPv2 -MIB:: sysORID .2 = OID: SNMPv2 -MIB:: snmpMIB11 SNMPv2 -MIB:: sysORID .3 = OID: TCP -MIB:: tcpMIB12 SNMPv2 -MIB:: sysORID .4 = OID: IP-MIB::ip13 SNMPv2 -MIB:: sysORID .5 = OID: UDP -MIB:: udpMIB14 SNMPv2 -MIB:: sysORID .6 = OID: SNMP -VIEW -BASED -ACM -MIB:: vacmBasicGroup15 SNMPv2 -MIB:: sysORID .7 = OID: SNMP -FRAMEWORK -MIB:: snmpFrameworkMIBCompliance16 SNMPv2 -MIB:: sysORID .8 = OID: SNMP -MPD -MIB:: snmpMPDCompliance17 SNMPv2 -MIB:: sysORID .9 = OID: SNMP -USER -BASED -SM -MIB:: usmMIBCompliance

28.2 Instalasi SNMP Client

Instalasi SNMP Client dapat dilakukan dengan8:

1 root@air :~# apt -get install snmp scli tkmib

Fille konfigurasinya terdapat pada /etc/snmp/snmp.conf . Editlah file tersebut padabagian com2sec menjadi seperti berikut

1 #com2sec paranoid default public2 com2sec readonly 127.0.0.1 public3 #com2sec readwrite default private

Restart dan test konfigurasi

1 root@air :~# /etc/init.d/snmp restart2 root@air :~# snmpwalk -v 2c -c public remotemachineipaddress system3 SNMPv2 -MIB:: sysDescr .0 = STRING: Linux sritest 2.4.27 -2 -386 #1 Wed Aug 17 09:33:35 UTC

2005 i6864 SNMPv2 -MIB:: sysObjectID .0 = OID: NET -SNMP -MIB:: netSnmpAgentOIDs .105 SNMPv2 -MIB:: sysUpTime .0 = Timeticks: (168871) 0:28:08.716 SNMPv2 -MIB:: sysContact .0 = STRING: [email protected] SNMPv2 -MIB:: sysName .0 = STRING: debiantest8 SNMPv2 -MIB:: sysLocation .0 = STRING: maindatacenter9 SNMPv2 -MIB:: sysORLastChange .0 = Timeticks: (0) 0:00:00.00

10 SNMPv2 -MIB:: sysORID .1 = OID: IF-MIB::ifMIB11 SNMPv2 -MIB:: sysORID .2 = OID: SNMPv2 -MIB:: snmpMIB12 SNMPv2 -MIB:: sysORID .3 = OID: TCP -MIB:: tcpMIB13 SNMPv2 -MIB:: sysORID .4 = OID: IP-MIB::ip14 SNMPv2 -MIB:: sysORID .5 = OID: UDP -MIB:: udpMIB15 SNMPv2 -MIB:: sysORID .6 = OID: SNMP -VIEW -BASED -ACM -MIB:: vacmBasicGroup16 SNMPv2 -MIB:: sysORID .7 = OID: SNMP -FRAMEWORK -MIB:: snmpFrameworkMIBCompliance17 SNMPv2 -MIB:: sysORID .8 = OID: SNMP -MPD -MIB:: snmpMPDCompliance18 SNMPv2 -MIB:: sysORID .9 = OID: SNMP -USER -BASED -SM -MIB:: usmMIBCompliance19 SNMPv2 -MIB:: sysORDescr .1 = STRING: The MIB module to describe generic objects for network

interface sub -layers20 SNMPv2 -MIB:: sysORDescr .2 = STRING: The MIB module for SNMPv2 entities21 SNMPv2 -MIB:: sysORDescr .3 = STRING: The MIB module for managing TCP implementations22 SNMPv2 -MIB:: sysORDescr .4 = STRING: The MIB module for managing IP and ICMP

implementations23 SNMPv2 -MIB:: sysORDescr .5 = STRING: The MIB module for managing UDP implementations24 SNMPv2 -MIB:: sysORDescr .6 = STRING: View -based Access Control Model for SNMP.

29 MRTG (Multi Router Traffic Grapher)

adalah salah satu tool yang digunakan untuk mengetahui statistic jaringan maupun re-source/hardware anda. MRTG hanya menampilkan saja, dia mengambil data dari tool lainseperti SNMP atau iptables dll.

8http://www.debianhelp.co.uk/snmp.htm

66

Page 67: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 root@air :~# apt -get install mrtg

akan membuat suatu file mrtg.cfg di /etc. agar lebih teratur kita pindah saja ke /etc/m-rtg/mrtg.cfg. file ini (mrtg.cfg) yang nantinya akan dicompile oleh /usr/bin/mrtg menja-di halaman html, gambar png dan file log yang nantinya akan ditampilkan. file mrtg.cfgini didapatkan dari snmpd yang sudah kita jalankan dg cara men-generate menggunakancfgmaker:

1 root@air :~# cfgmaker b201@localhost > /etc/mrtg/mrtg.cfg

untuk mengubahnya menjadi halaman html serta gambar png, kita gunakan:

1 root@air :~# mrtg /etc/mrtg/mrtg.cfg

untuk mendapatkan informasi yang selalu update, maka kita harus mengeksekusi syntaxtersebut tiap range waktu (misal tiap 5 menit sekali). untuk itu kita letakkan di cron.buatlah file /etc/cron.d/mrtg yang berisi:

1 */5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg/mrtg.cfg ]; then envLANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi

selanjutnya kita buat index.html dr halaman2 html tadi dengan cara:

1 root@air :~# indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html

seharusnya anda bisa melihatnya di http://ipaddress/mrtg. yaitu aktifitas dari masing2network interface yang ada. selanjutnya anda juga bisa menampilkan statistic hardwareseperti cpu usage, memory usage, disk usage dll.

• buatlah file /etc/mrtg/cpu.cfg yang berisi

1 WorkDir: /var/www/mrtg2 LoadMIBs: /usr/share/snmp/mibs/UCD -SNMP -MIB.txt3 Target[localhost.cpu]: ssCpuRawUser .0& ssCpuRawUser .0: public@127 .0.0.1+ ssCpuRawSystem .0&

ssCpuRawSystem .0: public@127 .0.0.1+ ssCpuRawNice .0& ssCpuRawNice .0: public@127 .0.0.14 RouterUptime[localhost.cpu]: public@127 .0.0.15 MaxBytes[localhost.cpu]: 1006 Title[localhost.cpu]: CPU Load7 PageTop[localhost.cpu]: Active CPU Load %8 Unscaled[localhost.cpu]: ymwd9 ShortLegend[localhost.cpu]: %

10 YLegend[localhost.cpu]: CPU Utilization11 Legend1[localhost.cpu]: Active CPU in % (Load)12 Legend2[localhost.cpu]:13 Legend3[localhost.cpu]:14 Legend4[localhost.cpu]:15 LegendI[localhost.cpu]: Active16 LegendO[localhost.cpu]:17 Options[localhost.cpu]: growright ,nopercent

• buat juga file /etc/mrtg/mem.cfg yang berisi

1 LoadMIBs: /usr/share/snmp/mibs/HOST -RESOURCES -MIB.txt2 Target[localhost.mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0: public@localhost

PageTop[localhost.mem]:Free Memory3 WorkDir: /var/www/mrtg4 Options[localhost.mem]: nopercent ,growright ,gauge ,noinfo5 Title[localhost.mem]: Free Memory6 MaxBytes[localhost.mem]: 10000007 kMG[localhost.mem]: k,M,G,T,P,X8 YLegend[localhost.mem]: bytes9 ShortLegend[localhost.mem]: bytes

10 LegendI[localhost.mem]: Free Memory:11 LegendO[localhost.mem]:12 Legend1[localhost.mem]: Free memory , not including swap , in bytes

67

Page 68: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• buatlah script untuk masing-masing *.cfg tadi agar di compile/di ubah menjadi filehtml, gambar png, dan log di /var/www/mrtg (atau di directory lain sesuai yang ada difile). buatlah di sembarang directory misalnya di /etc/cron.mrtg. file tersebut adalah:

– /etc/cron.mrtg/cpu yang berisi

1 #!/ bin/sh2 env LANG=C /usr/bin/mrtg /etc/mrtg/cpu.cfg

– /etc/cron.mrtg/mem yang berisi

1 #!/ bin/sh2 env LANG=C /usr/bin/mrtg /etc/mrtg/mem.cfg

– ubahlah menjadi executable:

1 root@air :~# chmod ugo+x -R /etc/cron.mrtg

• agar selalu update maka harus di cron juga seperti diatas. tambahkan saja di /etc/cron.d/mrtgmenjadi:

1 */5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg/mrtg.cfg ]; then envLANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi

2 */5 * * * * root /bin/run -parts /etc/cron.mrtg 1> /dev/null

68

Page 69: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

Bagian XI

Network Time Protocol (NTP)

Network Time Protocol (NTP) adalah protokol TCP/IP untuk sinkronisasi waktu antar-komputer di seluruh dunia. NTP menggunakan protokol UDP dengan port 123 sebagailayer transport nya. NTP menggunakan sistem packet-switched dan didesain untuk tahanterhadap latency jaringan. NTP merupakan salah satu protokol internet tertua (sejak tahun1985 ) dan masih digunakan sampai sekarang. NTP diciptakan oleh Dave Mills dari Uni-versity of Delaware9.

30 NTP Server

1. Install paket berikut

1 root@air :~# apt -get install ntp ntpdate ntp -server

2. File konfigurasi NTP berada di /etc/ntp.conf. Buka dan Editlah seperti berikut:

1 # /etc/ntp.conf , configuration for ntpd23 driftfile /var/lib/ntp/ntp.drift45 # Enable this if you want statistics to be logged.6 statsdir /var/log/ntpstats/78 statistics loopstats peerstats clockstats9 filegen loopstats file loopstats type day enable

10 filegen peerstats file peerstats type day enable11 filegen clockstats file clockstats type day enable1213 # You do need to talk to an NTP server or two (or three).14 #server ntp.your -provider.example1516 # pool.ntp.org maps to about 1000 low -stratum NTP servers.17 # Your server will pick a different set every time it starts up.18 # *** Please consider joining the pool! ***19 # *** <http :// www.pool.ntp.org/join.html > ***2021 server 0.sg.pool.ntp.org22 server 1.sg.pool.ntp.org23 server 2.sg.pool.ntp.org24 server 3.sg.pool.ntp.org2526 # By default , exchange time with everybody , but don ’t allow configuration.27 # See /usr/share/doc/ntp -doc/html/accopt.html for details.28 restrict -4 default kod notrap nomodify nopeer noquery29 restrict -6 default kod notrap nomodify nopeer noquery3031 # Local users may interrogate the ntp server more closely.32 restrict 127.0.0.133 restrict ::13435 # Clients from this (example !) subnet have unlimited access ,36 # but only if cryptographically authenticated37 restrict 10.122.1.0 mask 255.255.255.0 nomodify3839 # If you want to provide time to your local subnet , change the next line.40 # (Again , the address is an example only.)41 broadcast 10.122.1.2554243 # If you want to listen to time broadcasts on your local subnet ,44 # de-comment the next lines. Please do this only if you trust everybody45 # on the network!46 #disable auth47 #broadcastclient

9http://en.wikipedia.org/wiki/Network Time Protocol

69

Page 70: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

• Baris 21-24: adalah NTP Server yang akan anda hubungi. Carilah yang terdekatdekan wilayah anda.

• Baris 37: adalah network yang akan ditangani

• Baris 41: Broadcast network yang ditangani

3. Edit pula file /etc/default/ntpdate

1 # The settings in this file are used by the program ntpdate -debian , but not2 # by the upstream program ntpdate.34 # Set to "yes" to take the server list from /etc/ntp.conf , from package ntp ,5 # so you only have to keep it in one place.6 NTPDATE_USE_NTP_CONF=yes78 # List of NTP servers to use (Separate multiple servers with spaces .)9 # Not used if NTPDATE_USE_NTP_CONF is yes.

1011 NTPSERVERS ="0.sg.pool.ntp.org 1.sg.pool.ntp.org 2.sg.pool.ntp.org 3.sg.pool.ntp.org"12 # Additional options to pass to ntpdate13 NTPOPTIONS =""

• Baris 11: isilah sesuai dengan server NTP pada /etc/ntp.conf

4. Jalankan ntpdate untuk mengupdate waktu lokal agar sesuai dengan waktu server

1 root@air :~# ntpdate 0.sg.pool.ntp.org

5. Test kecocokan waktu dengan

1 root@air :~# ntpq -c lpee2 remote refid st t when poll reach delay offset jitter3 ==============================================================================4 *starlite.ispwor 128.250.36.2 2 u 57 64 377 371.361 -32.693 105.0885 10.122.1.255 .BCST. 16 u - 64 0 0.000 0.000 0.002

• Baris 4: tanda * menandakan waktu telah sinkron dengan server.

6. Jalankan daemon ntp untuk melayani client.

1 root@air :~# /etc/init.d/ntp start

31 NTP Client

Pada NTP Client tidak banyak perbedaan dengan NTP Server karena pada dasarnya NTPServer adalah NTP Client dari server yang dihubunginya.

Installah paket berikut pada NTP Client:

1 root@air :~# apt -get install ntp ntpdate

Pada file /etc/ntp.conf. Ubahlah string pada server sesuai dengan IP Address dari NTPServer yang telah anda setting sebelumnya.misalkan NTP Server mempunyai IP Address192.168.1.254.

70

Page 71: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

1 # /etc/ntp.conf , configuration for ntpd23 driftfile /var/lib/ntp/ntp.drift45 # Enable this if you want statistics to be logged.6 statsdir /var/log/ntpstats/78 statistics loopstats peerstats clockstats9 filegen loopstats file loopstats type day enable

10 filegen peerstats file peerstats type day enable11 filegen clockstats file clockstats type day enable1213 # You do need to talk to an NTP server or two (or three).14 #server ntp.your -provider.example1516 # pool.ntp.org maps to about 1000 low -stratum NTP servers.17 # Your server will pick a different set every time it starts up.18 # *** Please consider joining the pool! ***19 # *** <http :// www.pool.ntp.org/join.html > ***2021 server 192.168.1.2542223 # By default , exchange time with everybody , but don ’t allow configuration.24 # See /usr/share/doc/ntp -doc/html/accopt.html for details.25 restrict -4 default kod notrap nomodify nopeer noquery26 restrict -6 default kod notrap nomodify nopeer noquery2728 # Local users may interrogate the ntp server more closely.29 restrict 127.0.0.130 restrict ::1

Edit file /etc/default/ntpdate.

1 # The settings in this file are used by the program ntpdate -debian , but not2 # by the upstream program ntpdate.34 # Set to "yes" to take the server list from /etc/ntp.conf , from package ntp ,5 # so you only have to keep it in one place.6 NTPDATE_USE_NTP_CONF=yes78 # List of NTP servers to use (Separate multiple servers with spaces .)9 # Not used if NTPDATE_USE_NTP_CONF is yes.

1011 NTPSERVERS ="192.168.1.254"12 # Additional options to pass to ntpdate13 NTPOPTIONS =""

Sinkronkan dengan server. lalu jalankan daemon.

1 root@air :~# ntpdate 192.168.1.2542 root@air :~# /etc/init.d/ntp start

Pustaka

[1] Modul Praktikum Jaringan Komputer Politeknik Elektronika ITS Surabaya (EEPIS).

[2] Onno W. Purbo, dkk, Buku Pintar Internet TCP/IP, Elek Media Komputindo, 2001

[3] Rachmat Rafiudin, IP Routing dan Firewall dalam Linux, Penerbit Andi Yogyakarta,2006

[4] Galih Satriaji, Sekilas Domain Name Server dan Iptables, Teknik Informatika ITS, 2005

[5] [email protected], Training Domain Name Server dengan BIND

[6] Fajar Priyanto, PANDUAN PRAKTIS FIREWALL DENGAN IPTABLES,http://linux2.arinet.org, 25 April 2008.

[7] Onno W. Purbo. Proxy - untuk sharing internet. http://onno.vlsm.org

71

Page 72: 76594927 Pengenalan Jaringan Komputer Serta Aplikasinya Di GNU Linux

[8] Galih Satriaji, Sekilas Proxy Server dan Webserver Dengan Squid dan Apache, TeknikInformatika ITS, 2005

[1] Sritrusta Sukaridhoto, Buku Jaringan Komputer, EEPIS-ITS

72