Anda di halaman 1dari 101

BAB I

INSTALASI DEBIAN 6 SQUEEZE

Instalasi system operasi adalah suatu proses pemasangan atau penempatan sebuah
system dasar computer yang mampu untuk memanejemen atau mengatur semua perangkat
computer yang ada, karena fungsi utama dari sebuah system operasi adalah sebagai pengatur
perangkat keras computer untuk dapat bekerja sama antara suatu komponen yang satu dengan
yang lainnya.

Debian adalah sistem operasi bebas yang dikembangkan secara terbuka oleh
banyakprogramer sukarela(pengembang Debian) yang tergabung dalam Proyek Debian. Sistem
operasi Debian adalah gabungan dari perangkat lunak yang dikembangkan dengan lisensi
GNU, dan utamanya menggunakan kernel Linux, sehingga populer dengan nama Debian
GNU/Linux. Sistem operasi Debian yang menggunakan kernel Linux merupakan salah satu
distro Linux yang populer dengan kestabilannya. Dengan memperhitungkan distro berbasis
Debian, seperti Ubuntu, Xubuntu, Knoppix, Mint, dan sebagainya, maka Debian merupakan
distro Linux yang paling banyak digunakan di dunia. (anonim, http://id.wikipedia.org/wiki/
Debian).Dalam modul ini saya akan menjelaskan langkah demi langkah tentang bagaimana
cara menginstall system operasi Linux Debian pada sebuah computer.

Untuk instalasi Debian kita memerlukan minimum spesifikasi hardware sebagai berikut:

Hal-hal yang perlu anda persiapkan sebelum instalasi system operasi Debian adalah :

- CD/DVD installer Debian


- Atur BIOS pada computer anda, buat CD/DVD-ROM anda menjadi first boot
- Simpan konfigurasi BIOS, lalu restart computer anda

Page | 1
- Masukan CD/DVD installer Debian anda
- Tunggu beberapa saat hingga proses booting selesai

Setelah anda selesai dengan persiapan diatas maka langkah selanjutnya adalah installasi Debian,
berikut adalah tahapan-tahapannya :

1. Tampilan awal instalasi akan muncul, pilih install (tekan enter) seperti terlihat pada
gambar dibawah ini

Jika anda menginginkan proses instalasi dengan mode grafis (GUI) maka anda dapat
memilih opsi Graphical Install namun dalam modul ini saya hanya akan menerangkan
tentang installasi dengan menggunakan mode text atau CLI
2. Pilih bahasa yang anda inginkan lalu tekan enter seperti terlihat pada gambar dibawah ini

Gambar diatas menunjukkan daftar bahasa yang bisa anda gunakan

Page | 2
3. Setelah anda memilih bahasa yang ingin anda gunakan maka tahap selanjutnya adalah memilih
lokasi/Negara anda berada

Untuk memilih wilayah Indonesia, anda cukup memilih opsi other pada tampilan awal
pemilihan wilayah lalu pilih Asia dan anda akan menemukan Negara Indonesia disana seperti
terlihat pada gambar diatas
4. Untuk tahap selanjutnya karena tidak ada daftar Negara Indonesia maka anda pilih saja United
States. Lihat gambar dibawah ini

5. Kemudian akan muncul lagi opsi keymap/keyboard yang anda gunakan

Page | 3
6. Tunggu hingga beberapa saat ketika persiapan instalasi berjalan
7. Anda akan diminta untuk konfigurasi jaringan. Anda pilih saja Configure network
manually seperti terlihat pada gambar dibawah ini

Setting secara manual, ini akan mempermudah anda untuk melakukan setting IP Address

Masukan IP Address yang anda inginkan untuk computer anda. IP Address ini nantinya
akan dijadikan sebagai alamat computer anda dalam jaringan

Masukkan netmask sesuai dengan IP Address yang anda masukkan tadi. Saya
menggunakan IP Address kelas C maka netmask yang sesuai dengan IP Address tersebut
adalah 255.255.255.0

Gateway disini maksudnya adalah apakah computer anda terhubung dengan computer lain
dalam jaringan atau tidak. Jika tidak maka anda isi gateway sesuai dengan IP Address yang anda
masukan tadi. Masukan lagi IP DNS yang ada dari ISP anda

Page | 4
Masukan nama hostname atau nama computer anda

Masukan nama domain anda

Sawal.com

Masukan root password dua kali (harus sama), root password digunakan untuk
manajemen system operasi Debian sebagai user yang memiliki kedudukan tertinggi yang
dapat mengatur hak akses (Super User)

Page | 5
Masukan nama lengkap pengguna di computer anda

Sawal

Sawal

Masukan nama pengguna biasa untuk computer anda

Page | 6
Masukan password dua kali (harus sama) untuk user biasa (bukan root). Jika anda
pengguna baru saya rekomendasikan untuk membuat password yang mudah diingat, tidak perlu
password yang panjang dan sulit

8. Jika tadi anda memilih wilayah Negara Indonesia maka akan tampil gambar seperti dibawah ini,
anda hanya tinggal memilih zona waktu yang sesuai dengan daerah anda

9. Pada opsi partitioning method anda pilih Guided use entire disk

10. Pada pilihan select disk to partition anda pilih disk yang anda akan gunakan untuk
system Debian nantinya (opsi default akan muncul, anda tekan saja enter)

11. Sedangkan pada pilihan Partitioning scheme anda pilih All files in one partition

Page | 7
12. Tahap akhir dari partisi hardisk, anda pilih opsi Finish partitioning and write to change
disk seperti telihat pada gambar dibawah ini

Setelah itu pilih Yes pada opsi Write the changes to disks

13. Tunggu hingga proses installasi base system selesai

14. Saat muncul opsi Scan another CD or DVD, apakah anda masih memiliki repository Debian
dalam CD/DVD yang lainnya? Jika ada masukan segera dan pilih opsi Yes. Karena saya tidak
memiliki CD/DVD repository Debian yang lainnya maka saya pilih No

15. Use network mirror digunakan untuk pengambilan repository secara online berbeda dengan tadi
yang menggunakan CD/DVD repository Debian, jika anda menginginkan repository
secara online dengan menggunakan mirror yang ada syaratnya computer anda meski terhubung
ke internet. Karena computer saya tidak terhubung ke internet maka saya pilih opsi No
16. Pilih saja continue jika anda melihat tampilan seperti gambar dibawah ini

Page | 8
Hal diatas tidak menandakan apapun, itu hanya akan terjadi jika saat installasi computer
anda tidak terkoneksi ke internet

17. Saat anda diminta untuk berpartisipasi dengan pihak Debian anda pilih Yes jika anda
ingin mengikutinya dan pilih opsi No untuk sebaliknya. Jika anda pilih Yes computer
anda meski terkoneksi ke internet

18. Pada opsi Choose software to install, anda pilih paket software apa saja yang ingin anda install
langsung sehingga nantinya anda tidak perlu repot-repot untuk menginstall paket software yang
tertera di menu. Perhatian, opsi Graphical desktop environment adalah opsi yang akan
menginstall tampilan desktop (mode GUI) pada computer, saya hilangkan karena saya nantinya
akan belajar bagaimana cara mengoperasikan computer server dengan Debian yang berbasis
CLI Saya hanya memilih Standard software utilities karena ini untuk pembelajaran saja
nantinya.
19. Tunggu beberapa saat hingga proses installasi selesai

20. Pada pilihan Install the GRUB boot loader anda pilih Yes

21. Installasi berakhir sampai disini, anda pilih Continue setelah tampil pesan seperti gambar
dibawah ini dan computer akan mereboot dengan sendirinya

22. Selamat anda telah berhasi menginstall Debian 6 Squeeze sebagai system operasi dasar
di computer anda

Page | 9
BAB II
ROUTER GATEWAY DAN PROXY SERVER

Proxy Server merupakan suatu model filtrasi dalam jaringan dimana komputer yang berada
dalam Proxy Server tersebut melalui sebuah penyaringan atau perantara untuk selanjutnya
diteruskan ke internet. Saat komputer klien meminta layanan internet, komputer tersebut terlebih
dahulu masuk ke Proxy Server dan dieksekusi oleh Proxy Server itu sendiri apakah komputer
klien tersebut diizinkan untuk mengakses konten yang ada di internet atau tidak. Proxy
Server juga dapat berperan sebagai cache (penyimpanan sementara) dalam jaringan dimana
ketika anda mengakses beberapa situs, sebagian konten akan tersimpan dalam Proxy Server yang
akan membuat anda dapat dengan lebih cepat mengakses situs yang sama dengan yang
sebelumnya. Seperti telah saya sebutkan diatas bahwasanya Proxy Server berperan sebagai filter
atau penyaring dalam jaringan, ketika komputer anda terhubung dengan Proxy dan hendak
mengakses sebuah situs, misalnya facebook.com. Proxy Server akan melihat, apakah situs
facebook.com diizinkan untuk diakses atau tidak, jika tidak komputer anda akan diblok dan tidak
akan bisa masuk dan menikmati layanan dari facebook.com. Mungkin hanya itu pemaparan
yang dapat saya berikan untuk anda, kemudian saya akan jelaskan bagaimana installasi dan
konfigurasi Proxy Server di Debian dengan menggunakan Squid.

Konfigurasi Server

1. IP Internet = Sesuai dengan Network yang diberikan ISP


2. IPLAN = 192.168.10.1/24
3. Gateway = Sesuai Dengan IP yang diberikan oleh ISP

Page | 10
Konfigurasi Proxy Server

1. Sistem Operasi = OS (Linux Debian 6)


2. Port proxy = 3128
3. Cache Manager = admin@sawal.com
4. Visible host = proxy.sawal.com
5. Blocking Site = www.facebook.com, www.youtube.com

Konfigurasi Router : NAT = yes

Berikut merupakan tahapan-tahapan yang harus anda ikuti :

2.1 Konfigurasi Network


- Lakukan Login

Kemudian masuk ke root , kemudian masukkan password:

sawal @sawal:^$ su

cirinya kalau sudah masuk ke root maka prompt berubah menjadi

root@sawal:/home/sawal#

- Seting Ethernet Card


Edit file /etc/network/interfaces, bisa menggunakan vi, pico atau nano
# nano /etc/network/interfaces
Isi file /etc/network/interfaces rubah menjadi berikut:
auto eth0
iface eth0 inet static
address 192.168.1.88
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 203.130.206.250
auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
Page | 11
Kemudian di save , tekan Ctrl + O di keyboard untuk menyimpan dan Ctrl + X untuk keluar

Lakukan restart/start pada network:


# /etc/init.d/networking restart
Lihat hasil seting kartu jaringan pada eth0 dan eth1:
# ifconfig

2.2 Konfigurasi Server Sebagai Router

Karena server kita di gunakan untuk memforwardkan/melewatkan paket IP maka hilangkan tanda #
pada baris net/ipv4/ip_forward=1 di dalam file /etc/sysctl.conf

# nano /etc/sysctl.conf

Cari teks

# net.ipv4.ip_forward=1

Aktifkan dengan menghilangkan tanda #, menjadi:

net.ipv4.ip_forward=1

Untuk meningkatkan pengamanan sebaiknya anti spoofing attack dan kernel map protect diaktifkan,
cari teks2 di bawah ini:

# net.ipv4.conf.default.rp_filter=1

# net.ipv4.conf.all.rp_filter=1

Aktifkan dengan menghilangkan tanda #, menjadi:

net.ipv4.conf.default.rp_filter=1

Setelah itu simpan hasil konfigurasi, aktifkan konfigurasi sysctl dengan perintah

# sysctl p

Karena internet mengenal IP Public, maka perlu diatur agar jaringan client dengan ip local/private
bisa digunakan untuk berinternet. Maka disini kita menggunakan MASQUERADING, dengan
masquerading maka jaringan local akan diwakilkan dengan IP Public di sisi router, gunakan perintah
berikut:

Page | 12
# nano /etc/rc.local

Masukkan perintah berikut

iptables t nat A POSTROUTING s 192.168.10.0/24 d 0/0 j MASQUERADE

Kemudian di simpan

Untuk mencoba skrip tersebut, lakukan restart computer

# reboot

Setelah itu kita lihat konfigurasi Masquerade kita pada iptables

# iptables L t nat

Hasilnya

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

MASQUERADE all -- 192.168.10.0/24 anywhere

2.3 Konfigurasi Proxy Server

- Install paket software Squid dengan memasukan perintah

root@sawal:~# apt-get install squid

- Sebelum anda mengkonfigurasi Squid sebaiknya anda matikan terlebih dahulu dengan
memasukan perintah

root@sawal:~# /etc/init.d/squid stop

- Lakukan konfigurasi untuk file squid.conf yang terletak didirektori /etc/squid dengan
memasukan perintah

root@sawal:~# nano /etc/squid/squid.conf

Cari bebrapa script dan tambah seperti yang saya intruksikan seperti dibawah ini

http_port 3128 transparent

# tambahkan kata transparent setelah 3128 dan hilangkan tanda # didepannya

Page | 13
cache_mgr admin@sawal.com

# ganti kata webmaster dengan alamat e-mail anda dan hilangkan tanda # didepannya

cache_mem 8 MB

# hilangkan tanda # didepannya dan anda dapat merubah ukurannya menjadi 64 MB

visible_hostname proxy.sawal.com

# pada tag visible_hostname secara default akan tampil script # none. Yang perlu
anda lakukan adalah dengan mengganti script tersebut dengan alamat untuk Proxy
anda nantinya seperti proxy.sawal.com namun jika anda tidak mengkonfigurasinya
tidak akan jadi suatu masalah.

- Masih dalam file squid.conf anda cari script yang bertuliskan acl CONNECT
method CONNECT kemudian tepat dibawahnya anda masukan beberapa deret script
seperti gambar dibawah ini
acl CONNECT method CONNECT

acl url dstdomain /etc/squid/url

acl key url_regex i /etc/squid/key

http_access deny url

http_access deny key

acl lan src 192.168.10.0/24

http_access allow lan

http_access allow all


- Masih tetap di file squid.conf anda cari script bertuliskan http_access deny all (ada dua
buah) kemudian anda masukan tanda # didepannya (keduanya). Setelah selesai
simpan konfigurasi untuk file squid.conf
- Anda buat dua buah file yakni file key dan url. File key berisi beberapa buah kata
dimana jika ada komputer yang mengakses internet dengan kata-kata yang anda
masukan maka Proxy Server akan secara otomatis memblok komputer klien tersebut
sedangkan file url berisi alamatsitus yang ingin anda blok sehingga ketika ada klien
yang ingin memasuki alamat situs tersebut akan secara otomatis di blok oleh Proxy Server.

Page | 14
Misalkan :

- Setelah anda selesai dengan semua file diatas, anda restart lalu jalankan squid anda
dengan memasukan perintah

root@sawal:~# /etc/init.d/squid restart

- Lihat apakah Proxy Server anda sudah berjalan atau belum dengan memasukan perintah

root@sawal:~# squid -z

- Karena saya menggunakan port untuk Proxy Server itu adalah port default yakni 3128 maka
anda perlu merubah IPTABLES untuk melaukan sebuah redirect dari port yang anda
gunakan untuk Web Server default 80 atau 8080 ke port 3128 dengan memasukan perintah
berikut : Jika anda menggunak port 80 untuk Web Server masukan perintah berikut

root@sawal:~# nano /etc/rc.local

Masukkan script berikut ini:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Sedangkan jika anda menggunakan port 8080 untuk Web Server masukan perintah berikut
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port
3128

- Simpan konfigurasi IPTABLES , kemudian di reboot, dengan memasukan perintah


root@sawal:~# reboot
- Untuk melakukan sebuah pengujian anda memerlukan sebuah komputer klien, disini
saya menggunakan Windows XP dengan Mozilla Firefox sebagai web browsernya.
- Kemudian pada address bar anda masukan alamat yang telah anda blok di Proxy
Server seperti facebook.com atau pada mesin pencari anda ketikan kata-kata yang

Page | 15
sudah anda blok pula di Proxy Server seperti kata sex maka akan tampil seperti gambar
dibawah ini

- Anda dapat pula merubah tampilan untuk halaman pemblokiran, anda masuk ke
direktori /usr/share/squid/errors/English

Semua halaman diatas menggunakan bahasa HTML jadi anda dapat berkreasi sendiri
untuk membuat halaman pemblokiran sesuai selera anda.

Page | 16
BAB III
DHCP SERVER

3.1 DHCP (Dynamic Host Control Protocol)


DHCP memperbolehkan client dalam sebuah network mendapatkan ip dan parameter-parameter lainnya
seperti gateway, DNS server, dan Wins server secara otomatis dari DHCP server.

3.2 Memulai Instalasi


Untuk server, mungkin perlu DHCP Server agar computer client yang terhubung langsung mendapat IP
tanpa seting manual
- Install dulu DHCP Server, dan repository tersebut sudah tersedia dalam CD yang bernama DHCP3
Server, cara mengaktifkannya sebagai berikut:
- Masukkan DVD Distro Debian 6 Server
Kemudian install DHCP3 Server
# apt-get install dhcp3-server
- Setelah itu seting pada DHCP3-Server . Edit file /etc/dhcp3/dhcpd.conf
# nano /etc/dhcp/dhcpd.conf
Rubah menjadi
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.2 192.168.10.30;
option domain-name-servers 192.168.10.1;
option domain-name sawal.com;
option router 192.168.10.1;
option broadcast-address 192.168.10.255
default-lease-time 600;
max-lease-time 7200;
}
Catatan,
Untuk option domain-name-servers nanti bisa diganti dengan DNS ISP yang bersangkutan kalau
tidak menginstal DNS Server dan seandainya DNS lebih dari satu tinggal diberi tanda koma ,.
Begitu juga option netbios-name-servers bisa dihilangkan kalau nanti tidak membuat WINS Server.
Lakukan restart DHCP3-server dengan
# /etc/init.d/isc-dhcp-server restart
Akan muncul dilayar
Starting DHCP Server [ok ]

Page | 17
Jika ingin memberikan IP tertentu sesuai MAC Address, maka tambahkan konfigurasi berikut pada
file /etc/dhcp/dhcpd.conf

Host (disini letak nama computer) {

hardware ethernet (disini diisi MAC-Address client yang bersangkutan);

fixed-address (ip yang akan diberikan);

Penjelasan

subnet 192.168.10.0 netmask 255.255.255.0


Baris ini menjelaskan sub network kita yang akan di berikan ip otomatis.
range 192.168.10.2 192.168.10.30;
Baris ini membahas range ip yang akan diberikan ke client sebagai ipotomatis.
option domain-name-servers 192.168.10.1;
Baris ini menjelaskan IP/Domain DNS Server
option domain-name "sawal.com";
Baris ini menjaskan domain yang dipakai client.
option routers 192.168.10.1;
Baris ini menjelaskan IP default gateway yang di pakai client
option broadcast-address 192.168.10.255;
Baris ini menjelaskan alamat broadcast network
default-lease-time 600; dan max-lease-time 7200;
baris ini menjelaskan batas pemakaian IP.

Page | 18
BAB IV
DNS SERVER

4.1 Domain Name Services

Setiap kali kita meggunakan internet dalam kegiatan anda sehari-hari, maka setiap kali itu pula secara
tidak langsung anda menggunakan DNS (Domain Name System). Penggunaan DNS meliputi aplikasi email
(electronic-mail), browsing, ssh/telnet, ftp, maupun aplikasi yang lain yang ada kaitannya dengan internet.
Fungsi utama dari sebuah system DNS adalah menerjemahkan nama-nama host (hostnames) menjadi nomor
IP (IP address) ataupun sebaliknya, sehingga nama tersebut mudah diingat oleh pengguna internet. Fungsi
lainnya adalah untuk memberikan suatu informasi tentang suatu host ke seluruh jaringan internet.
Cara kerja DNS misal ketika anda membuka sebuah situs pada suatu browser kesebuah host misalnya
mail.smkn2tebingtinggi.com maka DNS client menghubung DNS server agarmendapatkan IP domain
mail.smkn2tebingtinggi.com. DNS server akan mencari data mengenaimail.smkn2tebingtinggi.com dengan
cara menghubungi DNS server tertinggi yaitu . (dot) atau rootserver. DNS root server menghubungi DNS
Server com. DNS server com menghubungi DNSserver smkn2tebingtinggi.com. DNS server
smkn2tebingtinggi.commengenal subdomain mail.smkn1-cmi.sch.id dan berhasil menterjemahkan
mail.smkn2tebingtinggi.com ke IP. IP tersebut dikirimkankembali ke DNS client kemudian diberikan ke
browser. Browser mengarahkan langsung ke IPmail.smkn2tebingtinggi.commisal 202.51.226.35 untuk
menghubungi web server pada ip tersebut.
DNS terdiri dari 2 jenis yaitu :
Primary Name Server adalah DNS server yang bertanggung jawab atas resolusi domaindan
subdomain yang di kelolanya.
Secondary Name Server adalah DNS server yang secara hierarki setara dengan Primar Name Server
namun data-data domain dan sub domain diperoleh dengan menyalin Primary Name Server.

4.2 Instalasi Bind

- Instalasi paket BIND9 dari dvd Debian 6, apabila paket BIND9 belum di install.
# apt-get install bind9

Page | 19
4.3 Konfigurasi File Dns Server Pada Directory Bind
- Buka file /etc/bind/named.conf.options; file tersebut berisi DNS forward ditujukan kemana, isinya
menjadi;
# nano /etc/bind/named.conf.options
options {
directory /var/cache/bind;
forwarders {
192.168.10.1;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 ( any; );
};

- Buka file /etc/bind/named.conf.local file yang berisi dimana letak file zona yang berisi DNS Record
local.Tambah atau edit isinya menjadi:
# nano /etc/bind/named.conf
Pada bagian bawah tambahkan skript berikut:
zone sawal.com {
type master;
file /etc/bind/db.sawal.zone;
};

zone 10.168.192.in-addr.arpa {
type master;
file /etc/bind/db.sawal.rev;
};

- Kemudian duplicate file db local sesuai nama file yang disebutkan /etc/bind/named.conf
# cp /etc/bind/db.local /etc/bind/db.sawal.zone
# cp /etc/bind/db.127 /etc/bind/db.sawal.rev

Page | 20
- Edit file /etc/bind/db.sawal.zone
# nano /etc/bind/db.sawal.zone

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.sawal.com. admin.sawal.com. (
2010101709 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ; Negative Cache TTL
;
@ IN NS ns.sawal.com.
IN MX 10 mail.sawal.com.
ns IN A 192.168.10.1
www IN CNAME ns
mail IN CNAME ns
ftp IN CNAME ns
proxy IN CNAME ns
elearning IN CNAME ns

Edit file /etc/bind/db.sawal.rev


# nano /etc/bind/db.sawal.rev

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns. sawal.com. admin.sawal.com. (
2010101708 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ; Negative Cache TTL
;
@ IN NS ns.sawal.com.
1. IN PTR ns.sawal.com.

- Edit file /etc/hosts dan tambahkan sawal.com


# nano /etc/hosts
127.0.0.1 localhost
192.168.10.1 elearning. sawal.com smkn2

- Edit file /etc/resolv.conf


# nano /etc/resolv.conf
search sawal.com
nameserver 192.168.10.1

Page | 21
- Restart jaringan dan Bind9
# /etc/init.d/bind9 restart

- Untuk menguji dengan perintah nslookup


# nslookup
set type=any
sawal.com

hasilnya seperti dibawah

Server : 192.168.10.1

Address : 192.168.10.1#53

sawal.com

origin = ns. sawal.com

mail addr = admin. sawal.com

serial = 2010101709

refresh = 604800

retry = 86400

expire = 2419200

minimum = 604800

Page | 22
BAB V
WEB SERVER

5.1 Web Server

Web merupakan salah satu layanan internet yang popular karena ke populerannya maka layanan ini
menjadi media yang dapat dimanfaatkan untuk mempromosikan lembaga, institusi atau perusahaan. Fasilitas
ini juga memungkinkan kita mengakses informasi dan data efektif dan efisien.
Web server menggunakan protocol HTTP yang menggunakan arsitektur client-server,yaitu ada sebuah
web server yang dapat memberikan layanan HTTP yang di minta oleh aplikasiclient.

5.2 Apache, MySQL, PHP

Apache adalah salah satu aplikasi web server yang terbaik karena kehandalannya, kecepatannya, dan
selain itu apache juga bersifat open source. Apache secara default terdapat di distro distro linux.
MySQL merupakan salah satu software database yang sangat terkenal di dunia. Terkenal karena
kecepatan, kemudahan penggunaan, konektifitas dan sekuritas yang baik, serta harga yang masih cenderung
gratis untuk pengguna tertentu.
PHP adalah bahasa pemograman yang bersifat server side dan menyatu dengan HTML. Server side
adalah sintaks dan perintah-perintah yang kita berikan akan sepenuhnya dijalankan di server sedangkan yang
diterima klien hanya HTML biasa.

5.3 Setting Web Server

- Install beberapa paket software yang dibutuhkan seperti mysql, php, phpyadmin dan apache2.
Pertama kita install mysql-server terlebih dahulu, masukan perintah dibawah ini

root@sawal:~# apt-get install mysql-server

Anda akan diminta untuk membuat sebuah password untuk user root yang dapat mengakses
mysql-server anda nantinya

Page | 23
Untuk masuk ke mysql-server anda caranya cukup mudah yakni dengan memasukan perintah
berikut

root@sawal:~# mysql u root -p

Masukan password root untuk mysql anda yang telah anda buat tadi saat installasi mysql-server

- Install PHP5 beserta apache2, masukan perintah berikut

root@sawal:~# apt-get install php5 apache2

- Install phpmyadmin

root@sawal:~# apt-get install phpmyadmin

Page | 24
Pilih apache2 dengan menekan tombol space dan enter atau ok

Pilih Yes

Masukan password untuk phpmyadmin namun saya sarankan untuk membuat password itu

sama dengan password anda di mysql-server supaya anda tidak keliru nantinya

Page | 25
- Setelah tahap installasi selesai maka langkah selanjutnya adalah melakukan percobaan, anda
coba apakah web server dapat berjakan diserver anda atau tidak dengan membuka domain
anda. Namun pertama-tama anda perlu menginstall paket software web browser yang dapat
berjalan di mode text, masukan perintah berikut ini
root@sawal:~# apt-get install lynx
root@sawal:~# lynx sawal.com

Gambar diatas menunjukan bahwa aplikasi web server yang anda telah install sudah dapat
berjalan dengan bukti dapat menampilkan tampilan default website anda Anda dapat melakukan
hal yang sama di Windows XP Client dengan membuka web browser yang anda dan masukan
nama domain anda di address barnya
- Sekarang untuk database server anda masuk ke Windows XP Client dan di web browser
masukan alamat domain sawal.com/phpmyadmin. Masukan user root beserta password yang pernah
anda buat

- Dengan menggunakan phpmyadmin anda dapat dengan mudah mengadministrasi database

Page | 26
- Buat directory file web yang akan dijalankan
# mkdir /var/www/web
- Konfigurasi Apache Web Server
Berikut adalah langkah-langkah mengkonfigurasi Web Server:

Edit file /etc/apache2/sites-available/default


# nano /etc/apache2/sites-available/default
Dengan isi file seperti berikut :

<VirtualHost *:80>
ServerAdmin webmaster@sawal.com
ServerName www.sawal.com
DocumentRoot /var/www/web
<Directory /var/www/web/>
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
# This directive allows us to have apache2s default start page
# in /apache2-default/, but still have /go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>

</VirtualHost>

- Membuat web pada directory /var/www/web/


# nano /var/www/web/index.html
Isikan file html seperti contoh berikut:
<h1><marquee> SELAMAT DATANG DI WEBSERVER SAWAL</marquee></h1>

- Restart apache
# /etc/init.d/apache2 restart
- Lakukan browsing dari klien menuju alamat http://www.sawal,com
SELAMAT DATANG DI WEB SERVER SAWAL

Page | 27
5.4 Membuat Subdomain
- Membuat directory untuk subdomain
# mkdir /home/elearning/
# mkdir/home/elearning/public_html/
# mkdir/home/elearning/public_html/cgi-bin
# mkdir/home/elearning/public_html/logs

- Akses kedalam directory /home/elearning/public_html


# cd /home/elearning/public_html

- Buat file uji coba untuk melakukan pengetesan dari pengetesan webserver bernama index.html
# nano index.html
<h1><marquee> SELAMAT DATANG DI SUBDOMAIN SAWAL</marquee></h1>

- Ganti hak akses, hak pengguna, dan hak grup secara rekursif dari directory dan semua isi
didalamnya.

# chmod R 755 /home/elearning/public_html

# chown R www-data:www-data /home/elearning/public_html

- Selanjutnya konfigurasi di apache server


# nano /etc/apache2/site-available/elearning

Dengan isinya sebagai berikut:

<VirtualHost *:80>
ServerAdmin elearning@sawal.com
ServerName elearning.sawal.com
DirectoryIndex index.html
DocumentRoot /home/elearning/public_html
<Directory /home/elearning/public_html/>
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/elearning/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

</Directory>
ScriptAlias /cgi-bin/ /home/elearning/public_html/cgi-bin/
<Directory "/home/elearning/public_html/cgi-bin">
AllowOverride None
Options +ExecCGI MultiViews +SymLinksIfOwnerMatch

Page | 28
</Directory>

ErrorLog /home/elearning/public_html/logs/error.log

CustomLog /home/elearning/public_html/logs/access.log combined

</VirtualHost>

- Kemudian, lakukan link simbolik menggunakan perintah a2ensite,


# a2ensite elearning

- Restart kembali apache2


# /etc/init.d/apache2 restart

Coba test di client dengan mengetikkan di browser http://elearning.sawal.com

SELAMAT DATANG DI SUBDOMAIN SAWAL

5.5 Konfigurasi Virtual Directory

Virtual Directory pada Web Server memilki fungs yang hampir sama dengan FTP Server, yaitu sebagai
media untuk transfer data yang bersifat Client-Server. Akan tetapi Virtual Directory menggunakan
protokol HTTP (Hypertext Transfer Protocol) dengan FTP Server menggunakan protokol FTP (File
Transfer Protocol).
:~/var/www# ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/ (lalu Enter)
~/var/www# ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/ (lalu Enter)

Setelah menjalankan kedua perintah diatas, kemudian jalankan lagi perintah seperti berikut:
:~/var/www# mkdir /etc/skel/public_html (lalu Enter)
:~/var/www#

Jalankan perintah diatas, kemudian lanjut perintah berikutnya:


:~/var/www# adduser datasekolah (lalu Enter)
Adding user `datasekolah' ...
Adding new group `datasekolah' (1001) ...
Adding new user `datasekolah' (1001) with group `datasekolah' ...
Creating home directory `/home/datasekolah' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: -->> Masukkan password usernya
Retype new UNIX password: -->> Masukkan kembali Passowrd Usernya
passwd: password updated successfully
Page | 29
Changing the user information for datasekolah
Enter the new value, or press ENTER for the default
Full Name []: Data Sekolah -->> Masukkan Full Name
Room Number []:
Work Phone []:
Home Phone []:
Other []:
-->> Tekan Enter
-->> Tekan Enter
Is the information correct? [Y/n] y -->> Tekan Y lalu Enter
:~/var/www#

Setelah itu Restart service dari Web Server dengan perintah seperti berikut:
:/var/www# /etc/init.d/apache2 restart (lalu Enter)
Restarting web server: apache2apache2: Could not reliably determine ther server's

Page | 30
BAB VI
FTP SERVER

6.1 FTP (File Transfer Protocol)

FTP (File Transfer Protocol) Server menurut Wikipedia adalah sebuah protokol Internet yang berjalan di
dalam lapisan aplikasi yang merupakan standar untuk pengiriman berkas (file) komputer antar mesin-
mesin antarjaringan. FTP Server ini merupakan sebuah protocol internet yang paling pertama
dikembangkan dan hingga kini masih tetap berjalan dan banyak digunakan dalam jaringan. Dengan
adanya FTP Server ini memungkinkan setiap computer untuk mengunduh ataupun menggunggah
berbagai file ke jaringan dimana ia berada hingga dapat dinikmati oleh setiap orang yang ada
didalamnya.
Tidaklah sulit membuat sebuah FTP Server dalam Debian, anda hanya cukup menginstall sebuah
software yang dapat menjalankan FTP Server pada Debian. Untuk paket software ftp ada 2 buah yaitu
VSFTPD dan PROFTPD. Berikut merupakan tahapan dalam membangun sebuah FTP Server :

6.2 Instalasi paket software VSFTPD


- Membuat directory ftp
# mkdir /home/ftp

- Membuat user ftp


# adduser ftp....
# passwd ftp...
Masukkan password ftp 2 kali
Dengan dibuatnya user baru bernama ftp maka akan secara otomatis terdapat sebuah directory untuk
user ftp tersebut yang berada di directory /home. Directory dari ftp inilah yang nantinya akan anda
buat sebagai directory utama tempat meletakan file-file yang akan diunggah ke FTP Server

- Instalasi software vsftpd


root@sawal:~# apt-get install vsftpd
File vsftpd.conf yang akan kita gunakan berada di directory /etc

- Edit file vsftpd.conf dengan memasukan perintah berikut


root@sawal:~# nano vsftpd.conf

Page | 31
Anda akan menemukan beberapa deret script, namun yang perlu anda ubah hanyalah deret
script yang saya tuliskan dibawah ini, anda hapus tanda # didepannya
anonymous_enable=NO
Yes memungkinkan computer yang berada diluar jaringan bisa masuk ke FTP Server
No tidak memungkinkan computer yang berada diluar jaringan bisa masuk ke FTP Server,
meskipun bisa akan diminta user & password

local_enable=YES
Memungkinkan computer yang berada dalam jaringan bisa mengakases FTP Server atau tidak

write_enable=YES
Memungkinkan untuk dapat memasukan perintah seperti memindahkan file

local_umask=022
anon_upload_enable=YES
Memungkinkan computer klient bisa mengunggah sebuah file ke FTP Server atau tidak

anon_mkdir_write_enable=YES
Memungkinkan computer klient bisa membuat sebuah directory baru atau tidak
anon_root=/home/ftp // Tambahkan dibawah script anon_mkdir_write_enable
Tempat meletakan directory atau file dalam FTP Server

xferlog_file=/var/log/vsftpd.log
Untuk melihat aktifitas FTP Server, siapa saja yang mengaksesnya, apa saja yang dilakukannya dan
lain sebagainya

ftpd_banner=Welcome to blah FTP service.


Pesan yang akan tampil ketika klient mengakses FTP Server
Simpan konfigurasi dengan menekan kombinasi tombol Ctrl + x lalu y dan enter

- Setelah anda selesai dengan konfigurasi diatas sebaiknya anda restart vsftpd dengan
memasukan perintah
root@sawal:~# /etc/init.d/vsftpd restart

Page | 32
6.3 Instalasi paket software PROFTPD
FTP Server yang kali ini saya akan membuatnya dengan metode tanpa autentikasi password
atau biasa disebut anonymous. Pertama masukkan CD Debian yang pertama, lalu install Proftpd nya
dengan perintah ini :
# apt-get install proftpd
Jika muncul seperti gambar dibawah ini, pilih pilihan yang kedua yaitu standalone.

Setelah instalasi selesai, sekarang saatnya untuk mengedit file konfigurasinya. Ketikkan perintah
dibawah ini :
# nano /etc/proftpd/proftpd.conf
Lalu pada baris paling bawah, tambahkan skrip berikut :
<Anonymous ~ftp>
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 10
DisplayLogin welcome.msg
DisplayFirstChdir .message

<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>

</Anonymous>

IdentLookups off
UseReverseDNS off
ListOptions maxdepth 3
ListOptions maxdirs 10
ListOptions maxfiles 1000

Save dan tutup file tersebut dengan menekan CTRL + X, Y, lalu Enter.Terakhir restart service
proftpd dengan perintah berikut :
# service proftpd restart

Page | 33
- Buat beberapa directory atau file baru didalam directory /home/ftp yang dijadikan directory
utama FTP Server anda
root@sawal:~# cd /home/ftp
root@sawal:~# nano file, .....masukkan beberapa informasi di file tersebut..
- Tahap selanjutnya, anda coba lakukan pengecekan apakah konfigurasi yang anda lakukan sudah
benar atau belum dengan membuka FTP Server di web browser pada Debian Server anda

- Pengujian juga dapat dilakukan di computer klient seperti Windows XP yang selalu saya
gunakan, caranya buka salah satu web browser yang anda gunakan di Windows XP
kemudian masukan alamat ftp.sawal.com

- Uji Konfigurasi FTP Server


Setelah mengetik alamat FTP pada address bar Web Browser, lalu tekan Enter,
kemudian akan tampil halaman FTP Server seperti berikut: masukkan username=ftp
password=123456 seperti yang kita buat sebelumnya.

ftp://ftp.sawal.com

ftp://ftp.sawal.com

-
- Gambar Halaman FTP Server
Jika halaman FTP tampil seperti diatas, maka FTP Server yang Anda konfigurasi pada
PC Server, sudah berhasil.

Page | 34
BAB VII
MAIL SERVER

7.1 Mail Server

Mail adalah salah suatu layanan internet yang popular. Layanan ini menggunakan arsitekture client-
server, artinya ada aplikasi client mengakses server email. Protocol yang umum digunakan adalah protocol
SMTP ( Simple Mail Transfer Prorokol ), POP3 ( Post Office Protokol v3 ), IMAP (Internet Mail
Application Protokol ). SMTP di gunakan sebagai standar untuk menampung dan mendistribusikan email.
Sedangkan POP3 dan IMAP digunakan agar user dapat mengambil dan membaca email secara remote.
Port-port yang digunakan Mail Server

Cara kerja Mail Server

7.2 Klasifikasi Program Program Email


Secara umum, aplikasi email di klasifikasikan menjadi tiga jenis :
MTA (Mail Transfer Agent)
MTA bertugas Mengirim dan mentransfer email antar computer denganmenggunakan SMTP.
Contoh aplikasi MTA, yaitu : Sendmail, Postfix, qmail, danlain-lain.
MDA ( Mail Delivery Agent )
Berkerjasama dengan MTA untuk menangani pesan pesan email yang datang untuk
diletakan/didistribusikan sesuai pada mailbox user masing-masing.

Page | 35
MUA ( Mail User Agent )
MUA adalah sebuah program yang memungkinkan user membaca dan membuatpesan-pesan email.
Beberapa contoh MUA, yaitu Mozila mail, mutt, pine,Microsoft Outlook, Netscape, dan lain-lain.

7.3 POSTFIX Mail Server


Postfix merupakan salah satu MTA (Mail Transfer Agent) yang di kembangkan oleh Dr.Wietse Zweitze
Venema, dengan tujuan sebagai MTA yang cepat, mudah di implementasikandan yang paling penting adalah
'keamanan' nya terjamin.Beberapa fitur yang ditawarkan oleh Postfix :
Performance. Postfix mampu melayani sejuta email dalam sehari Kompatibilitas.
Postfix sangat kompatibel dengan Sendmail (yang sudah banyak dipergunakanorang sebagai MTA di
UNIX.
Terdiri beberapa program kecil yang saling tidak percaya. Jika Sendmail hanya mampunyai satu
program besar dan satu file konfigurasi besar, maka Postfixmemiliki program-program kecil yang
menjalankan tugasnya secara spesifik.
Keamanan. Postfix dijalankan dengan proteksi bertingkat, oleh program-program kecil yang saling
tidak percaya. Masing-masing program dijalankan oleh userkhusus (bukan setuid).
Multiple Transport. Postfix dapat mengirim surat dengan modus SMTP (SimpleMail Transfer
Protocol) dan UUCP (Unix to Unix Copy Protocol) sekaligus.
Mendukung format Maildir. Maildir adalah format boks penyimpanan surat dalambentuk folder
daripada berbentuk satu fila (mbox).
Kemudahan konfigurasi. Meskipun Postfix terdiri dari banyak program kecil, namun hanya memiliki
satu file konfigurasi yang mudah untuk di seting yakni/etc/postfix/main.cf

7.4 SETTING MAIL SERVER, WEBMAIL METODE COURIER


- Menambahkan repo DVD 2
Langkah pertama yaitu menambahkan repository dari DVD 2. Masukin DVD 2 nya, terus
ketik perintah ini.
# apt-cdrom add
# apt-get update
Terus keluarin lagi DVD 2 nya, dan masukkan DVD 1 kembali.
- Install semua paket.

# apt-get install postfix courier-imap

courier-pop squirrelmail

Page | 36
Nanti akan muncul gambar seperti dibawah ini, pilih OK

Kemudian pilih Internet Site.

Disini isikan dengan domain kalian. Misalnya saja saya disini domainnya adalah sawal.com.

Sawal.com

Pilih Yes jika muncul pertanyaan seperti dibawah ini.

Page | 37
Nanti di tengah-tengah proses install, kalian akan disuruh memasukkan DVD yang ke 2,
masukkan saja dan tunggu hingga proses install selesai.

- Membuat folder penyimpanan surat


Setelah instalasi selesai, sekarang saatnya proses konfigurasi. Pertama buat folder Mail
tempat seluruh surat akan disimpan dengan perintah berikut :
# maildirmake /etc/skel/Maildir
- Konfigurasi Postfix
Edit file /etc/postfix/main.cf dengan perintah berikut :
# nano /etc/postfix/main.cf
Pada baris paling bawah file tersebut tambahkan baris baru seperti ini :
home_mailbox = Maildir/

Setelah itu simpan dan tutup file tersebut.


- Mengkonfigurasi ulang Postfix
Tahapan selanjutnya adalah tahap mengkonfigurasi ulang postfix, silahkan eksekusi perintah
berikut :
# dpkg-reconfigure postfix

Akan muncul tampilan seperti saat awal instalasi, pilih OK.

Page | 38
Kemudian pilih Internet Site.

Disini telah terisi domain yang telah kalian isi sebelumnya. Biarkan saja, pilih OK.

Sawal.com

Kosongkan saja jika diminta untuk memasukkan password postmaster.

Biarkan apa adanya pada bagian ini, pilih OK.

Page | 39
Kemudian pilih No pada bagian Force Synchronous mail.

Pada bagian ini, di baris terakhir tambahkan 192.168.10.0/24

192.168.10.0/24

Selanjutnya pilih No lagi.

Biarkan apa adanya pada Mailbox Size Limit. Lanjut, pilih OK.

Page | 40
Langsung pilih OK saja.

Terakhir pilih ipv4 kemudian pilih OK.

- Edit file apache


Agar Squirrelmail tampil di Web Browser ketikkan perintah berikut :
# nano /etc/apache2/apache2.conf

pada baris terakhir tambahkan:


Include /etc/squirrelmail/apache.conf
# nano /etc/squirrelmail/apache.conf
Pada baris terakhir tambahkan :

Page | 41
<VirtualHost *:80>
DocumentRoot /usr/share/squirrelmail
ServerName mail.sawal.com
</VirtualHost>
- Buat User Baru
Buatlah beberapa user baru yang akan kalian gunakan untuk saling bertukar kirim email
nanti dengan perintah berikut :
# adduser namauser

adduser sawal
passwd sawal
buat passwordnya contoh 123456
buat user kedua dengan nama udin
adduser udin
passwd udin
buat passwordnya contoh 123456
- Restart semua servicenya
Supaya efeknya berjalan, kita harus merestart semua service-service aplikasinya :
# /etc/init.d/postfix restart
# /etc/init.d/courier-imap restart
# /etc/init.d/courier-pop restart
# /etc/init.d/apache2 restart

7.5 SETTING MAIL SERVER, WEBMAIL METODE DOVECOT


- Menambahkan Repo DVD 1
Langkah pertama yaitu menambahkan repository dari DVD 1. Masukin DVD 1 nya.
- Install Paket Mail Server.
# apt-get install postfix dovecot-common dovecot-imapd dovecot-
pop3d squirrelmail

Nanti akan muncul gambar seperti dibawah ini, pilih OK

Page | 42
Kemudian pilih Internet Site

Kalo yang ini kalian disuruh menentukan apa nama sistem mail nya. sepertiyahoo.com dan
gmail.com. Disini saya menuliskannya sawal.com, kalian boleh bebas menggantinya.

Nanti di tengah-tengah proses install, kalian akan disuruh memasukkan DVD yang ke 2,
masukkan saja dan tunggu hingga proses install selesai.

- Menambahkan repo DVD 2


Langkah pertama yaitu menambahkan repository dari DVD 2. Masukin DVD 2 nya, terus
ketik perintah ini.
# apt-cdrom add
# apt-get install dovecot-common dovecot-imapd

Pilih Y, kemudian masukkan DVD 1 enter , masukkan DVD 2 enter

- Konfigurasi dovecot.conf

Edit file dovecot.conf :


# nano /etc/dovecot/dovecot.conf

Cari bagian Protocols, tidak jauh dari atas kok. Lalu edit hingga menjadi persis seperti
gambar dibawah ini :

Page | 43
protocols = imap imaps pop3 pop3s

Kemudian tekan ctrl + w, lalu ketikkan kata kunci mbox:~ . Nanti akan ketemu
mail_location = mbox:~ ...... Nah, hapus tanda pagar yang ada di depannya. Untuk lebih
jelasnya lihat gambar dibawah ini :

Tekan ctrl + x>y>enter. Untuk mengesave filenya.

- Konfigurasi Postfix
Edit file /etc/postfix/main.cf dengan perintah berikut :
# nano /etc/postfix/main.cf
Pada baris paling bawah file tersebut tambahkan baris baru seperti ini :
home_mailbox = Maildir/

Page | 44
Setelah itu simpan dan tutup file tersebut.
- Mengkonfigurasi ulang Postfix
Tahapan selanjutnya adalah tahap mengkonfigurasi ulang postfix, silahkan eksekusi perintah
berikut :
# dpkg-reconfigure postfix

Akan muncul tampilan seperti saat awal instalasi, pilih OK.

Kemudian pilih Internet Site.

Disini telah terisi domain yang telah kalian isi sebelumnya. Biarkan saja, pilih OK.

Sawal.com
Page | 45
Kosongkan saja jika diminta untuk memasukkan password postmaster.

Biarkan apa adanya pada bagian ini, pilih OK.

Kemudian pilih No pada bagian Force Synchronous mail.

Pada bagian ini, di baris terakhir tambahkan 192.168.10.0/24

Page | 46
192.168.10.0/24

Selanjutnya pilih No lagi.

Biarkan apa adanya pada Mailbox Size Limit. Lanjut, pilih OK.

Langsung pilih OK saja.

Terakhir pilih ipv4 kemudian pilih OK.

Page | 47
- Edit file apache
Agar Squirrelmail tampil di Web Browser ketikkan perintah berikut :
# nano /etc/apache2/apache2.conf

pada baris terakhir tambahkan:


Include /etc/squirrelmail/apache.conf

# nano /etc/squirrelmail/apache.conf
Pada baris terakhir tambahkan :
<VirtualHost *:80>
DocumentRoot /usr/share/squirrelmail
ServerName mail.sawal.com
</VirtualHost>
- Buat User Baru
Buatlah beberapa user baru yang akan kalian gunakan untuk saling bertukar kirim email
nanti dengan perintah berikut :
# adduser namauser
adduser sawal
passwd sawal
buat passwordnya contoh 123456
buat user kedua dengan nama udin
adduser udin
passwd udin
buat passwordnya contoh 123456
- Restart semua servicenya
Supaya efeknya berjalan, kita harus merestart semua service-service aplikasinya :
# /etc/init.d/postfix restart
# /etc/init.d/dovecot restart
# /etc/init.d/apache2 restart

7.6 PENGUJIAN KONFIGURASI PC SERVER PADA PC CLIENT DAN KONFIGURASI


NETWORK DI PC CLIENT
- Konfigurasi IP Address PC Client.
Page | 48
Pada jendela InternetProtocol Version 4 (TCP/IPv4), klik Use the following IP Address dan
Use the following DNS Server addresses,, kemudian isi alamat IP Address, Subnet Mask, Gateway
dan Alamat DNSnya, seperti Gambar Jendela internet Protocol Version 4 (TCP/IP) berikut:

- Uji koneksi antara PC Client dengan PC Server


Untuk melakukan uji Konfigurasi Router PC Server dari PC Client dengan melakuakn
Ping ke salah satu alamat DNS Server, yaitu membuka menu RUN, dengan cara: tekan tombol
kombinasi WinKey + R, lalu akan tampil menu RUN dan ketik pada menu RUN perintah ping -t
192.168.10.1 seperti berikut:

Gambar Menu Run

Kemudian pada Menu RUN ketik perintah seperti yang ditunjukkan pada gambar diatas,
kemudian klik OK, maka akan tampil Jendela CMD, dengan proses ping ke alamat IP
Address PC Server seperti berikut:

Gambar Proses Ping ke PC Server


Jika tampilan proses Ping seperti diatas, maka koneksi antara PC Clien dan PC Server dinyatakan baik
dan konfigurasi IP Address kedua pihak sudah berhasil.
Page | 49
- Uji Konfigurasi DNS Server
Hal pertama yang dilakukan pada bagian ini yaitu :
Uji DNS Server dengan perintah nslookup untuk alamat ns.sawal.com
Uji DNS Server dengan perintah nslookup untuk alamat www.Sawal.com.
Kemudian pada menu RUN, ketik cmd, pada kolom Open seperti gambar diatas, lalu tekan
Enter atau klik OK. Lalu akan tampil jendela Command Prompt seperti berikut:

Gambar Jendela Command Prompt


Kemudian pada menu prompt C:\Users\Sawal>, ketik perintah nslookup ns.sawal.com,
lalu Enter seperti berikut:
Nslookup.ns.sawal.com
server: ns.sawal.com
address: 192.168.10.1
Name: ns.sawal.com
Address: 192.168.10.1
Setelah menggunakan perintah nslookup untuk alamat ns.Sawal.com seperti diatas, maka
konfigurasi DNS Server pada PC Server dinyatakan berhasil, dan selanjutkan, kita akan menguji
konfigurasi Web Server dan FTP Server, sebagai berikut:

- Uji Konfigurasi Webmail


Proses pengujian untuk web server yaitu menggunakan aplikasi Web Browser seperti
Mozilla Firefox, Google Chrome, dll., dan berikut langkah-langkahnya:
Buka aplikasi Web Browser anda kemudian masukkan alamat Mail Server yaitu
mail.sawal.com, seperti berikut:

mail.sawal.com

Gambar . Masukkan alamat mail.sawal.com

Page | 50
Masukkan username = sawal password= 123456 untuk masuk kehalaman email user sawal, lalu
tekan login, kemudian akan tampil halaman dari website tersebut yaitu seperti berikut:

mail.sawal.com

Gambar Halaman dari website masuk ke user sawal

Uji coba kirim email ke user udin dengan compose, masukkan alamat email udin@sekolah.sch.id
beserta judul surat, kemudian isikan surat email yang akan di kirim. Setelah itu kirim email dengan
klik send

mail.sawal.com

udin@sawal.com

Gambar Halaman kirim email


Kemudian klik Sign Out untuk keluar di halaman user sawal. Masukkan username=udin dan
password=123456 untuk masuk ke halaman user udin.

mail.sawal.com

Gambar masuk login ke user udin

Page | 51
Maka kita akan masuk ke halaman email udin, apabila email yang di kirim melalui user sawal
terkirim akan tampil di inbox hasil surat kiriman dari email sawal, seperti gambar berikut:

mail.sawal.com

Gambar halaman email udin

BAB VIII
NTP SERVER

8.1. NTP Server


NTP Server atau Network Time Protocol Server merupakan fasilitas yang dimiliki oleh server
Debian untuk mengsingkronkan waktu dalam jaringan, sehingga setiap komputer yang terhubung
dengan jaringan tersebut akan secara otomatis menerima pembaruan waktu yang sama dengan server Debian.
Inti dari NTP Server ini adalah menyamakan waktu dari setiap komputer yang terhubung
dengan jaringan dengan komputer server dalam jaringan tersebut. Tidaklah sulit mengkonfigurasi NTP
Server.

8.2. Instalasi Paket Software NTP


- Install paket software NTP Server dengan memasukan perintah seperti dibawah ini
root@sawal:~# apt-get install ntp ntpdate
File konfigurasi untuk NTP Server (ntp.conf) berada di direktori /etc
- Lakukan pengeditan untuk file ntp.conf dengan memasukan perintah
root@sawal:~# nano /etc/ntp.conf
Cari beberapa deret script seperti saya tuliskan dibawah ini
# statsdir /var/log/netstats/
Hilangkan tanda # didepannya agar anda dapat melihat statistic NTP Server nantinya

# server ntp.your-provider.example
Hilangkan tanda # didepannya dan ganti ntp.your-provider.example dengan domain anda
Page | 52
(saya gunakan ntp.sawal.com)
Cari beberapa script seperti gambar dibawah ini dan tambahkan tanda # didepannya serta
tambahkan pula script server 127.127.1.0 dan fudge 127.127.1.0 staratum 1

Kemudian tambahkan pula deret script restrict 192.168.10.0 mask 255.255.255.0 nomodify
notrap dibawah script # restrict 192.168.123.0 mask 255.255.255.0 notrust lebih lengkapnya lihat
gambar

- Setelah selesai mengkonfigurasi file ntp.conf anda, restart NTP Server dengan memasukan
perintah seperti dibawah ini
root@sawal:~# /etc/init.d/ntp restart
- Lihat apakah NTP Server anda sudah berjalan dan sudah dengan benar terkonfigurasi atau
belum dengan memasukan beberapa perintah dibawah ini
root@sawal:~# ntpq p
root@sawal:~# ntpdate u ntp.sawal.com
root@sawal:~# ntpdate u 127.0.0.1
Tampilan yang benar akan terlihat seperti gambar dibawah ini

- Sekarang saya akan coba mengsinkronkan waktu dari Debian Server dengan komputer klien
yang menggunakn Windows XP, pada Windows XP anda akan melihat jam dibagian kanan
bawah desktop, anda klik dua kali jamnya dan pilih menu Internet Time, centang bagian
Automatically synchronize ... Pada bagian Server : anda masukan IP Address Debian Server
anda atau domainnya, karena saya menggunakan domain ntp.sawal.com maka saya masukan
domain tersebut kemudian klik tombol update.
Page | 53
ntp.sawal.com

BAB IX

FIREWALL DAN IPTABLES

9.1 Konfigurasi Firewall

Apa itu Firewall?

Firewall dalam dunia jaringan adalah sebuah perangkat baik itu perangkat lunak ataupun
perangkatkeras atau gabungan dari keduanya, yang berfungsi untuk membatasi, mengatur, dan
menginspeksilalu lintas antar jaringan. Firewall akan mengijinkan lalu lintas mana yang dianggap
aman danmelarang lalu lintas yang tidak dianggap aman. Biasanya Firewall akan diletakkan sebagai
sebuahmesin gateway pembatas antara jaringan lokal dengan jaringan internet yang bertujuan
untukmelindungi jaringan lokal dari serangan-serangan pihak luar.

Dalam dunia jaringan, Firewall merupakan komponen yang sangat penting sekali
untukmeningkatkan keamanan. Firewall akan membatasi akses-akses dari ip atau port-port yang
dianggapberbahaya untuk meminimalisir resiko serangan yang mungkin terjadi. Ibarat sebuah
rumah,Firewall ini adalah seorang satpam yang siap siaga memeriksa semua orang orang yang ingin
masukatau keluar dari rumah tersebut. Apabila orang tersebut sudah memiliki ijin yang telah
dipercayamaka ia akan diperbolehkan masuk, dan apabila ia tidak memiliki ijin maka akan langsung
ditolakoleh si satpam. Yah, kira-kira seperti itulah.

Page | 54
Apa itu Iptables?

Di Linux Debian 6, bentuk pengimplementasian Firewall adalah denganmenggunakan


Iptables. Iptables merupakan salah satu dari beberapa aplikasi Firewall yang dapatdijalankan di
Linux. Sebenarnya ada beberapa aplikasi Firewall yang berjalan di Linux sepertiipfwadm, ipchains,
dan iptables. Iptables saya pilih karena ia sudah terinstall secara default di Debian 6 jadi kita tidak
perlu repot-repot lagi untuk menginstallnya. Selain ituiptables juga ringan dan sangat powerfull.

Dalam pengaturan paketnya, ada 3 buah tabel pada Iptables, yaitu :

Tabel Filter

Tabel ini yang berkaitan dengan filteringpaket. Tabel Filter terbagi menjadi 3, yaitu :

- INPUT, yaitu untuk mengatur semua paket-paket yang masuk (incoming traffic)
- FORWARD, yaitu untuk mengatur semua paket-paket yang diteruskan atau dirouting
(routing traffic)
- OUTPUT, yaitu untuk mengatur semua paket-paket yang keluar (outgoing traffic)
Tabel NAT

Di tabel NAT ini, iptables akan mengganti header paket, berupa source/destination
IPaddress dan port. NAT terbagi lagi menjadi 3 buah chain, yaitu :

- PREROUTING chain.
- OUTPUT chain.
- POSTROUTING chain.

Page | 55
Tabel Mangle

Tabel mangling digunakan untuk mengubah (alteration) informasi paket, seperti Type OfService
(TOS), Time To Live (TTL), dan MARK (bandwidth limiting dan class basedqueuing). Tabel
Mangle terbagi lagi menjadi 5, yaitu :

- PREROUTING chain.
- INPUT chain.
- OUTPUT chain.
- FORWARD chain.
- POSTROUTING chain.

Jika dilihat sekilas, mungkin kalian bertanya-tanya, kok banyak chain yang sama?.
Memangbanyak chain-chain yang sama seperti chain INPUT, FORWARD, OUTPUT,
PREROUTING, POSTROUTING, dll. Akan tetapi yang sebenarnya melakukan tugas filtering
paket hanyalah tabel Filter. Sedangkan tabel NAT dan Mangle hanya sebagai pelengkap saja. Tabel
NAT dan MANGLE memang jarang digunakan pada Firewall sederhana yang hanya menggunakan
satu buah LAN Ethernet Card saja. Namun karena Firewall umumnya diimplementasikan
berbarengan dengan Router, maka penggunaan tabel NAT dan MANGLE ini tidak dapat kita
hindari.

Memahami tabel Filter

Tabel Filter akan saya bahas terlebih dahulu sebagai dasar pengimplementasian Firewall di Debian
6, karena seperti yang sudah saya tuliskan sebelumnya, bahwa sebenarnya prosesfilterisasi pada
Firewall itu ya terjadinya di tabel Filter ini. Oleh karena itu penting bagi kalianuntuk memahami
tabel Filter ini terlebih dahulu sebelum masuk ke proses Firewall yang lebih kompleks. Secara
default, 3 buah chain (INPUT, FORWARD, dan OUTPUT) pada tabel Filter menggunakanaturan
ACCEPT. Dimana berarti seluruh paket akan diperbolehkan baik itu paket yang masuk(INPUT),
diteruskan/dirouting (FORWARD), ataupun yang keluar (OUTPUT). Aturan ini biasadisebut
dengan Policy. Kebalikan dari Policy ACCEPT adalah DROP. Dimana kebalikan dariPolicy
ACCEPT yaitu seluruh paket akan ditolak baik itu paket yang masuk
(INPUT),diteruskan/dirouting (FORWARD), ataupun yang keluar (OUTPUT). Untuk melihat
informasi Iptables ini, pertama kalian harus masuk terlebih dahulu kedalam mode root :

su i

Setelah itu ketikkan perintah berikut :

Page | 56
iptables L

Pada dasarnya, ada 4 buah jenis Policy yang dapat diterapkan, yaitu :

ACCEPT, menerima paket


DROP, membuang paket
QUEUE, memasukkan paket ke antrian
RETURN, menghentikan atau keluar dari pemrosesan pada suatu chain rulesdan kembalike
chain rulesutama.

Walaupun ada 4 Policy, untuk INPUT, FORWARD, dan OUTPUT hanya bisa memakai 2 buah
Policy. Yaitu ACCEPT dan DROP saja. Untuk mengubah Policy, gunakan perintah berikut :

iptables -P [chain] [policy]

Sebagai contoh saya ingin mengubah Policy chain INPUT menjadi DROP :

iptables -P INPUT DROP

Lihat hasilnya dengan perintah iptables -L:

Page | 57
Contoh lain, saya ingin mengembalikan chain INPUT menjadi ACCEPT dan merubah chain lainnya

menjadi DROP :

iptables -P INPUT ACCEPT

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

Lihat lagi hasilnya :

Cobalah untuk merubah-rubah Policy diatas kemudian tes hasilnya dari komputer klien
denganmenggunakan berbagai utilitas seperti ping, ssh, nmap, ataupun telnet. Sebagai contoh, jika
kalianmembuat Policy chain INPUT menjadi DROP maka bisa dipastikan kalian tidak akan
bisamelakukan ping, ssh, telnet, atau apapun terhadap si Firewall.

Sebenarnya dengan melakukan Policy ACCEPT dan DROP ini merupakan sesuatu yang
sangatekstrim. Karena Policy tersebut akan melakukan tugasnya tanpa pandang bulu. Misalnya saja
jikakalian menerapkan Policy DROP pada chain INPUT, maka secara otomatis tidak akan ada
satupaket pun yang bisa masuk ke dalam Firewall, tanpa terkecuali. Ini sangat berbahaya
sekali.Bagaimana jika kita hanya ingin memblokir beberapa service tertentu saja, atau ingin
memblokirbeberapa ip address tertentu saja, sedangkan yang lainnya diperbolehkan? Untung saja
Iptablesmemiliki kemampuan untuk hal tersebut. Jadi kita dapat melakukan penambahan rules atau
aturanuntuk masing-masing chain. Bagaimana cara untuk pengimplementasiannya akan kita bahas
padasub-bab sub-bab berikut.

Page | 58
Implementasi Firewall Melakukan bloking service tertentu

Fungsi dari Firewall yang sebenarnya adalah filterisasi. Jadi Firewall akan melakukan
penyaringanpaket-paket mana saja yang boleh masuk, diteruskan, atau keluar dari jaringan. Nah,
salah satupengimplementasian filterisasi ini adalah dengan membuat rule-rule untuk
memfilterservice-service tertentu yang boleh keluar masuk jaringan. Contohnya misal kita akan
membloksemua akses jaringan masuk dan keluar (INPUT dan OUTPUT) kecuali service
HTTP. Atausebaliknya, kita ingin memperbolehkan semua paket jaringan masuk dan keluar
(INPUT danOUTPUT) kecuali paket HTTP. Dan sebagainya.

Rumus untuk menentukan rule tambahan adalah sebagai berikut :

iptables -A [chain] -j [policy] [opsi lain]

Contoh pada kasus diatas, misal kita hanya ingin memblok akses masuk dan keluar paket
HTTPyang bekerja di port 80 yang menggunakan protokol TCP, konfigurasinya adalah seperti ini :

iptables -A INPUT -p tcp --dport 80 -j DROP

iptables -A OUTPUT -p tcp --sport 80 -j DROP

Namun sebelum kita menentukan rule-rule tambahan tersebut, kita harus memutuskan apakah
Policy yang digunakan bersifat terbuka seluruhnya (ACCEPT) atau tertutup seluruhnya
(DROP).Jika kita memilih untuk membuka seluruhnya (ACCEPT), maka kita harus membuat rule-
ruletambahan apa-apa saja yang ingin ditutup atau diblok. Sebaliknya, apabila kita ingin
menutupseluruhnya (DROP), rule-rule tambahan yang harus kita buat adalah apa-apa saja yang
ingin kitabuka/perbolehkan.

Misal pada kasus kali ini kita ingin membuat seluruh akses masuk dan keluar (INPUT
danOUTPUT) tertutup seluruhnya, tetapi untuk akses HTTP (Web) dan SSH kita perbolehkan
masukdan keluar. Konfigurasinya adalah sebagai berikut :

Pertama-tama masuklah kedalam mode root terlebih dahulu :

su -i

Hapus semua rule tambahan yang mungkin sebelumnya sudah pernah dibuat :

iptables -F

Setelah itu buatlah Policy chain INPUT dan OUTPUT menjadi DROP :

Page | 59
iptables -P INPUT DROP

iptables -P OUTPUT DROP

Lalu buatlah rule tambahan yang mengijinkan paket HTTP yang bekerja pada port 80 danSSH
yang bekerja pada port 22 yang menggunakan protokol TCP :

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

Cobalah cek hasilnya dengan menggunakan perintah ini :

iptables L

Sekarang cobalah tes menggunakan komputer lain untuk memastikan apakah benar bahwa
hanyadua buah service tersebut saja yang diperbolehkan. Kalian bisa mengetesnya dengan
menggunakanaplikasi port scanning seperti nmap atau mengetes secara langsung menggunakan web
browser atau putty.

Untuk contoh konfigurasi lainnya kalian dapat melakukan eksperimen sendiri karena
memangkombinasi perintah iptables sangatlah banyak sehingga tidak akan bisa kita bahas
semuanya disini.Implementasi Firewall Melakukan blocking ip address tertentuSelain melakukan
blocking terhadap service-service atau port tertentu, kita juga dapat melakukanfilterisasi terhadap ip
address yang boleh mengakses atau tidak ke jaringan yang dilindungi olehFirewall kita. Konfigurasi
seperti ini lazim digunakan mengingat seringnya serangan-serangan yangdilancarkan ke dalam

Page | 60
Firewall. Sehingga kita dapat melakukan blocking terhadap ip address ipaddress yang sering
melakukan serangan terhadap Firewall kita.

Rumus untuk menentukan rule tambahan untuk memblock ip address tertentu ini hampir
miripdengan cara melakukan blocking service tertentu yang telah dibahas di sub bab sebelumnya.
Namun disini ada 2 parameter yang baru yaitu opsi -syang mendeskripsikan ip address sumber, dan
opsi d yang mendeskripsikan ip address tujuan. Untuk lebih memahaminya, mari kita praktekkan
langsung saja dengan contoh berikut.

Misal kalian ingin memperbolehkan semua akses jaringan baik itu yang masuk maupun
keluar.Namun kalian ingin membatasi akses SSH hanya boleh diakses dari internet oleh ip
address 10.0.4.1, sedangkan jika dari jaringan lokal semua boleh mengaksesnya. Maka
konfigurasinyaadalah sebagai berikut :

Seperti biasa, pertama-tama masuklah kedalam mode root terlebih dahulu :

su -i

Hapus semua rule tambahan yang mungkin sebelumnya sudah pernah dibuat :

iptables -F

Setelah itu buatlah Policy chain INPUT dan OUTPUT menjadi ACCEPT :

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

Lalu buatlah rule tambahan untuk memperbolehkan satu ip saja yaitu ip address
10.0.4.1yang boleh mengakses SSH dari internet yang melalui interface eth0:

iptables -A INPUT -i eth0 -p tcp -s 10.0.4.1 --dport 22 -j ACCEPT

Kemudian buat lagi rule yang memblok semua akses SSH dari internet :

iptables -A INPUT -i eth0 -p tcp --dport 22 -j DROP

Cobalah cek hasilnya dengan menggunakan perintah ini :

iptables -L

Page | 61
Kita coba contoh lain dengan menggabungkan teknik bloking servicetertentu dan bloking ip
address tertentu. Misalnya saya ingin membuat rule-rule sebagai berikut :

1. Semua akses masuk, routing, dan keluar Firewall diperbolehkan.


2. Semua akses web keluar dari jaringan lokal menuju situs porno xxx.com yang mempunyaiip
address 100.100.100.1 tidak diijinkan
3. Semua akses Telnet tidak diijinkan baik itu dari dalam jaringan lokal maupun dari
jaringaninternet.
4. Semua akses web ke Webserver yang berada pada komputer Server dengan ip
address192.168.1.1 tidak diijinkan. Ingat, letak mesin maupun ip address dari komputer
Serverdengan komputer Router berbeda, (disinikalian akan mempelajari perbedaan chain
INPUT dengan FORWARD).
5. Semua akses masuk ICMP echo requestsdari internet ke Firewall tidak diijinkan.

Dengan ketentuan rule diatas, kita akan coba melakukan konfigurasi sebagai berikut :

Masuklah kedalam mode root :

su -i

Hapus semua rule tambahan yang mungkin sebelumnya sudah pernah dibuat :

iptables -F

Setelah itu buatlah Policy chain INPUT, FORWARD, dan OUTPUT menjadi ACCEPT :

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

Buat rule tambahan untuk memblokir semua akses web dari jaringan lokal yang menujusitus
xxx.com dengan ip address 100.100.100.1 :

Page | 62
iptables -A OUTPUT -p tcp -o eth0 --dport 80 -d 100.100.100.1 -j DROP

Buat lagi rule tambahan untuk memblokir semua akses Telnet yang berada pada port 23 :

iptables -A INPUT -p tcp --dport 23 -j DROP

iptables -A OUTPUT -p tcp --sport 23 -j DROP

Selanjutnya adalah membuat semua akses web yang bekerja pada port 80 menuju
komputerServer yang memiliki ip address 192.168.1.1 ditolak :

iptables -A FORWARD -p tcp --dport 80 -d 192.168.1.1 -j DROP

Dan terakhir membuat rule tambahan untuk memblokir semua akses ICMP echo
requestsdari Internet menuju Firewall tidak diijinkan :

iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP

Sekarang amatilah hasilnya dengan menggunakan perintah berikut :

iptables -L

Cobalah melakukan testing untuk memastikan bahwa Firewall memang benar-benar sudah
berjalan.Seperti misalnya dengan mengakses situs xxx.com tadi, seharusnya situs tersebut tidak
akan bisaterbuka karena ip addressnya memang sudah kalian blok. Coba juga untuk
melakukan tesmenggunakan utilitas pinguntuk memastikan bahwa Router/Firewall kalian memang
sudah tidakbisa menerima permintaan ICMP echo requests. Dan lakukan juga proses testing-testing
yang lainuntuk memastikan bahwa semuanya memang sudah terkonfigurasi dengan baik.Masih ada
ribuan kemungkinan konfigurasi yang dapat dilakukan dengan aplikasi iptables ini. Danini sangat
menarik untuk dicoba. Silahkan kalian kembangkan sendiri dengan melakukan berbagaieksperimen-
eksperimen berdasarkan contoh konfigurasi dasar yang sudah saya jelaskan diatas.
Page | 63
Implementasi Firewall Redirect DNS ke DNS Nawala

Sub bab ini saya masukkan ke dalam salah satu dari cara implementasi Firewall karena menurutsaya
konfigurasi ini sangat penting untuk kalian ketahui. Mungkin kalian ada yang bertanya apamaksud
dari judul sub-bab ini. Sub-bab ini akan membahas teknik bagaimana caranya
untukmengalihkan seluruh alamat DNS yang digunakan oleh para klien ke alamat DNS milik
Nawala.Nawala sendiri adalah sebuah proyek milik orang-orang Indonesia yang berfokus pada
layananDNS yang bebas digunakan oleh pengguna akhir atau penyedia jasa internet untuk
mendapatkanakses internet bersih dan aman. DNS Nawala melakukan penapisan situs-situs
berkandungan negatif yang tidak sesuai dengan norma kesusilaan dan budaya Indonesia, seperti
situs berkandunganpornografi atau perjudian. Selain itu DNS Nawala juga menapis situs-situs yang
berbahaya danmelanggar aturan perundangan, seperti situs penipuan, malware dan phising.

Pertama kali saya memikirkan teknik seperti ini berawal dari suatu kejadian yang pernah saya alami
sendiri yaitu ketika suatu hari saya pernah iseng-iseng mencoba untuk membuka sebuah situs porno
pada saat saya sedang terhubung ke sebuah hotspot yang ada di sebuah pusat perbelanjaan. Ketika
saya buka, ternyata situs itu tidak dapat ditemukan oleh Browser dan muncul pesan error server not
found yang berarti situs tersebut tidak terdaftar ke dalam DNS. Seperti yang kalian ketahui, fungsi
dari sebuah DNS adalah mentranslasikan ip address menjadi domain dan sebaliknya,
mentranslasikan domain menjadi ip address. Nah, ketika kita mengakses sebuah situs menggunakan
nama domain dan ternyata situs tersebut tidak mau terbuka, maka bisa dipastikan berarti domain
tersebut tidak terdaftar pada DNS server yang kalian gunakan. Lalu bagaimanakah cara
mengatasinya ? Ternyata caranya sangatlah mudah. Yaitu denganmengganti alamat DNS yang
kalian gunakan dengan alamat DNS milik Google yang beralamatkanip address 8.8.8.8dan 8.8.4.4.
Cara ini sangat ampuh karena memang DNS milik Google ini samasekali tidak memblokir situs-
situs apapun baik itu yang berunsur pornografi, judi, sara, dll.

Karena berdasarkan pengalaman saya diatas, saya tidak mau kalau suatu saat jika saya
memilikijaringan sendiri, akan dapat dibobol dengan mudah oleh trik sederhana seperti diatas.
Akhirnya saya pun mendapatkan cara penanggulangannya dengan menggunakan teknik pengalihan
seluruh aksesDNS ke DNS milik Nawala. Jadi ketika ada user yang mengganti DNS mereka
dengan DNSGoogle atau OpenDNS atau semacamnya, mereka tetap saja akan dialihkan ke DNS
Nawala. Sehingga trik tersebut tidak akan berfungsi lagi.DNS Nawala memiliki 2 buah nameserver
address yaitu 180.131.144.144 dan 180.131.145.145.Untuk pengkonfigurasiannya adalah sebagai
berikut :

Masuk ke dalam mode user rooterlebih dahulu :


Page | 64
su -i

Kemudian eksekusi 4 perintah berikut untuk mengalihkan atau me-redirect seluruh


aksesDNS yang bekerja pada port 53 baik itu protokol TCP maupun UDP ke DNS Nawala
yangmemiliki ip address 180.131.144.144 dan 180.131.145.145 :

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 53 -j DNAT--to-destination


180.131.144.144:53

iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j DNAT--to-destination


180.131.144.144:53

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 53 -j DNAT--to-destination


180.131.145.145:53

iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination


180.131.145.145:53

Amati hasilnya dengan perintah berikut :

iptables -t nat L

Page | 65
Sekarang cobalah mengetesnya dengan mengganti DNS komputer klien dengan DNS milik
Googleatau OpenDNS, lalu akseslah salah satu situs pornografi atau situs judi. Maka seharusnya
situstersebut tidak akan bisa terbuka dan menampilkan pesan error server not found.

9.2Implementasi Firewall Konfigurasi DMZ Area

DMZ atau De-Militarized Zone adalah sebuah mekanisme untuk mengisolasi suatu jaringan
untukmelindungi jaringan internal didalamnya dari serangan-serangan pihak yang tidak
bertanggungjawab seperti hackeratau cracker. DMZ melakukan suatu perpindahan layanan dari
suatu jaringanke jaringan yang lain. Sehingga ketika ada cracker yang menyerang, ia hanya bisa
menyerangsampai titik DMZ area itu tadi, dan tidak bisa sampai ke jaringan internal didalamnya.
Untuk lebihjelasnya perhatikan gambar berikut :

Bisa dilihat pada gambar diatas, jika kita telah membuat suatu area DMZ khusus, maka
seluruhakses seseorang dari jaringan luar/internet tidak akan bisa masuk ke jaringan lokal. Tapi
hanyamentoksampai hostyang ada di area DMZ saja.Salah satu contoh pengimplementasian dari
DMZ yang sering saya lakukan adalah denganmenempatkan sebuah Server lokal dibelakang
sebuah Firewall yang nantinya Server tersebut dapatdiakses dari internet menggunakan ip publik
milik si Firewall. Jadi mekanismenya dengan carapengalihan layanan milik Firewall ke layanan
milik si Server. Mungkin kalian sedikit bingungdengan pemahaman ini, oleh karena itu lebih
baik langsung saja kita praktekkan agar kaliannantinya bisa mengerti dengan sendirinya.

Sekarang perhatikan terlebih dahulu topologi jaringan dibawah ini :

Page | 66
Pada gambar diatas, posisi kita berada di komputer Router, dan yang ingin kita buat sebagai
areaDMZ adalah si komputer Server. Lalu kita tentukan terlebih dahulu ip address ip
addressnyaberdasarkan konfigurasi-konfigurasi kita yang sebelumnya, yaitu ip address publik milik
Routeradalah 10.0.2.15 dan ip address lokal milik server adalah 192.168.1.1. Kemudian kita
tentukan jugaservice-service yang akan dialihkan menggunakan metode DMZ ini, yaitu service
HTTP, FTP,DNS, Mail & Webmail, serta Samba File Sharing. Kalian boleh bereksperimen
denganmenambahkan service-service yang lainnya jika kalian mau.Setelah menentukan itu semua,
barulah kita dapat memulai proses konfigurasinya. Caranya adalahsebagai berikut :

Pertama-tama seperti biasa, masuklah ke dalam mode user rootterlebih dahulu agar
proseskonfigurasi menjadi lebih efisien :

su -i

Pada konfigurasi DMZ kali ini, saya ingin mengajak kalian mencoba menggunakan cara
lainuntuk membuat sebuah konfigurasi Firewall. Yaitu dengan menggunakan sebuah file
script.Karena cara ini secara umum lebih banyak disukai dibandingkan dengan cara manual
sepertikonfigurasi-konfigurasi sebelumnya. Karena kalian cukup memasukkan semua
perintahkonfigurasi ke dalam sebuah file script, setelah selesai tinggal jalankan saja scriptnya.
Nah,sekarang cobalah buat sebuah scriptbaru bernama iptables-dmz dengan cara berikut :

nano iptables-dmz

Setelah file tersebut terbuka, isikan didalamnya dengan seluruh perintah iptables
yangdiperlukan untuk membuat DMZ Area seperti berikut ini :

#!/bin/sh

#Memperbolehkan akses routing dan keluar jaringan

Page | 67
iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# DMZ untuk DNS

iptables -A INPUT -p tcp -d 10.0.2.15 --dport 53 -j ACCEPT

iptables -A FORWARD -p tcp -d 192.168.1.1 --dport 53 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -d 10.0.2.15 --dport 53 -j DNAT to192.168.1.1:53

iptables -A INPUT -p udp -d 10.0.2.15 --dport 53 -j ACCEPT

iptables -A FORWARD -p udp -d 192.168.1.1 --dport 53 -j ACCEPT

iptables -t nat -A PREROUTING -p udp -d 10.0.2.15 --dport 53 -j DNAT to192.168.1.1:53

#DMZ untuk Webserver

iptables -A INPUT -p tcp -d 10.0.2.15 --dport 80 -j ACCEPT

iptables -A FORWARD -p tcp -d 192.168.1.1 --dport 80 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -d 10.0.2.15 --dport 80 -j DNAT to192.168.1.1:80

#DMZ untuk FTP

iptables -A INPUT -p tcp -d 10.0.2.15 --dport 21 -j ACCEPT

iptables -A FORWARD -p tcp -d 192.168.1.1 --dport 21 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -d 10.0.2.15 --dport 21 -j DNAT to192.168.1.1:21

#DMZ untuk FTP Passive

iptables -A INPUT -p tcp -m multiport -d 10.0.2.15 --dport 5000:5005 jACCEPT

iptables -A FORWARD -p tcp -m multiport -d 192.168.1.1 --dport 5000:5005-j ACCEPT

iptables -t nat -A PREROUTING -p tcp -m multiport -d 10.0.2.15 dport5000:5005 -j DNAT --


to 192.168.1.1

#DMZ untuk Mail & Webmail

iptables -A INPUT -p tcp -m multiport -d 10.0.2.15 --dport 80,25,110,143-j ACCEPT

Page | 68
iptables -A FORWARD -p tcp -m multiport -d 192.168.1.1 --dport80,25,110,143 -j
ACCEPT

iptables -t nat -A PREROUTING -p tcp -m multiport -d 10.0.2.15 dport80,25,110,143 -j


DNAT --to 192.168.1.1

#DMZ untuk Samba

iptables -A INPUT -p udp -m multiport -d 10.0.2.15 --dport 137:139 -jACCEPT

iptables -A FORWARD -p udp -m multiport -d 192.168.1.1 --dport 137:139 jACCEPT

iptables -t nat -A PREROUTING -p tcp -m multiport -d 10.0.2.15 dport137:139 -j DNAT --to


192.168.1.1

exit 0

Simpanlah file tersebut dengan menekan CTRL + X> Y> Enter, lalu berilah hak
aksesexecutableagar file tersebut bisa dieksekusi dengan cara berikut :

chmod +x iptables-dmz

Sekarang jalankan script tersebut dengan perintah ini :

./iptables-dmz

Untuk mengetesnya, kalian dapat mengakses masing-masing serviceyang telah di-DMZkan


dengancara membuka tiap-tiap servicemenggunakan ip publik milik Router, bukan lagi
menggunakan iplokal milik Server. Sebagai contoh kalian dapat membuka service HTTP
melalui browser danakseslah alamat http://10.0.2.15, maka nanti akan tampil halaman web
yang telah kalian buat dikomputer Server yang beralamatkan 192.168.1.1. Sama halnya
dengan FTP, DNS, Mail maupunSamba. Kalian dapat mengakses FTP melalui browser
dengan membuka alamat ftp://10.0.2.15,membuka webmail dengan membuka alamat
http://10.0.2.15/roundcube, dan sebagainya. Nantiyang terbuka oleh kalian adalah service-
serviceyang berada di komputer Server semua.Jika belum dikonfigurasi DMZ seperti
tadi, maka hal ini tidak akan mungkin terjadi karenaseharusnya di komputer Router
memang tidak memiliki service-service seperti Webserver, FTP,DNS, Mail, ataupun
Samba. Jadi intinya DMZ akan mengalihkan layanan-layanan yang telah diatursesuai rule-
rule tertentu. Dengan kondisi seperti ini, para Hacker yang menyerang akan terkecohkarena

Page | 69
mereka mengira sedang mengakses IP Publik si komputer Router, padahal
sebenarnyamereka sudah dialihkan ke komputer Server.

Diatas adalah contoh kecil pengimplementasian DMZ Area dengan menggunakan


iptables.Sebenarnya masih ada banyak sekali kombinasi-kombinasi yang dapat kita eksplor
untuk membuatDMZ Area ini, namun sangat tidak memungkinkan untuk dibahas semuanya
di buku ini.

Menyimpan konfigurasi Firewall

Setelah kalian melakukan berbagai konfigurasi iptables, perlu kalian ketahui juga
bahwakonfigurasi-konfigurasi tersebut hanya bersifat sementara. Jadi ketika komputer
kalian matikan,maka seluruh konfigurasi yang telah kalian buat akan hilang. Oleh karena itu
kita perlu untukmenyimpan konfigurasi tersebut.

Pada bab Routing NAT/MASQUERADING, kalian telah diajarkan bagaimana cara


menyimpankonfigurasi dari iptables dengan cara mennyimpan konfigurasinya pada
file/etc/network/iptables.conf. Nah, untuk praktek cara menyimpan konfigurasi Firewall kali
ini,prosesnya sama saja dengan cara menyimpan konfigurasi pada bab
RoutingNAT/MASQUERADING tersebut. Namun bedanya, karena file-file yang
dibutuhkan untukkeperluan penyimpanan seperti file /etc/network/iptables.conf dan
file/etc/network/if-up.d/iptablessudah dibuat, maka sekarang kalian tidak perlu repot-repot
lagi untukmembuat file-file tersebut. Tinggal eksekusi saja perintah dibawah ini untuk
menyimpankonfigurasi dari Firewall :

iptables-save > /etc/network/iptables.conf

Sekarang seluruh konfigurasi Firewall kalian telah disimpan dan tidak akan hilang lagi
ketikakomputer direstart.

Page | 70
BAB X

OPEN SSH SERVER

10.1 Remote Access

Keuntungan dari jaringan komputer yaitu memudahkan kita dalam berbagi resource hardware ataupun
softwareyang ada. Remote Access adalah salah satu teknologi yang digunakan untuk mengakses suatu
system melalui media jaringan. Sehingga kita dapat mengkonfigurasi suatu system, dimanapun kita berada
asalkan terkoneksi ke Internl atau Jaringan tersebut.

Secara umum, Remote Access dibagi menjadi dua jenis;

1. Mode Desktop / GUI (Graphical User Interface), misalnya Remote Desktop, VNC, dan Radmin.

2. Mode Teks, misalnya telnet, ssh, raw, Rlogin dan serial.

Dalam modul ini, kita cenderung mengacu pada konfigurasi server menggunakan mode teks. Sehingga
kita harus menggunakan Remote Access mode Teks pula, semisal SSH (Secure Shell). Karena dianggap
lebih aman dalamtransfer data melalui jaringan.

# apt-get install openssh-server

10.2 Konfigurasi

Setelah aplikasi terinstall, layanan SSH Server sudah langsung bisa kita gunakan melalui port default 22.
Jika inginmengkonfigurasi SSH Server tersebut, edit file sshd_config yang merupakan file konfigurasi utama
pada SSH Server. Dalam file tersebut, kita bisa merubah settingan default yang ada. Misalnya merubah port
default, ataupun menambah tampilan banner ssh agar menjadi lebih menarik.

Merubah port default ssh


Page | 71
Edit file ssh_config berikut, kemudian cari dan rubah satu baris konfigurasi script di bawah ini.

# nano /etc/ssh/ssh_config

# What ports, IPs and protocols we listen for

#Port 22 #port default ssh

Port 354 #port diganti ke 354

Restart open ssh-server

# /etc/init.d/ssh restart

BAB XI

SAMBA SERVER

11.1. Samba Server

Samba adalah program yang bersifat open source yang menyediakan layanan berbagi berkas
(file service) dan berbagi alat pencetak (print service), resolusi nama NetBIOS, dan pengumuman
layanan (NetBIOS service announcement/browsing). Sebagai sebuah aplikasi file server, Samba
mengizinkan berkas, alat pencetak, dan beberapa sumber daya lainnya agar dapat digunakan oleh
banyak pengguna dalam keluarga sistem operasi UNIX, dan mengizinkan interoperabilitas dengan
sistem operasi Windows. Samba dibuat berdasarkan protokol Server Message Block (SM, oleh
Andrew Tridgell. Berikut diatas pengertianya yg saya kutip dari Wikipedia.
Samba server sangat berperan penting dalam melakukan file sharing, terlebih dalam jaringan yang
menggunakan sistem operasi berbeda dengan Linux, khususnya untuk system operasi Windows.
Tidak seperti protocol ftp, protocol samba ini hanya digunakan untuk file sharing sekala kecil
(Jaringan Lokal)

11.2. Instalasi Samba Server


Untuk file sharing di linux, kita menggunakan aplikasi samba server. Yang sudah teruji
kestabilanya pada jaringan antar linux, atapun antar linux windows.
:~# apt-get install samba
11.3. Konfigurasi Samba Directory

Page | 72
Buat direktori pada debian server, yang akan disharing dalam jaringan local. Kemudian rubah
hak akses pada direktori tersebut menggunakan chmod. Misalnya jika ingin writeable gunakan
777, atau yang read-only gunakan 755.
:~# cd /home/sawal/
/home/sawal# mkdir share
/home/sawal# chmod 777 share/ -R
11.4. MembuatUser Samba
Tambahkan user agar dapat mengakses file sharing tersebut dari jaringan local. Bagian ini
adalah optional, jika anda menggunakan mode Anonymous LogIn, lewati saja bagian ini.
~# useradd tamu
~# smbpasswd a tamu
11.5. User Authentication LogIn
Seperti halnya dengan ftp, samba server bisa kita konfigurasi menggunakan User Mode,
ataupun Guest Mode. Berikut konfigurasi untuk menggunakan user dan password. Edit file
smb.conf seperti di bawah.
:~# nano /etc/samba/smb.conf

####### Authentication #######


# security = user is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
security = user #edit bagian ini, hilangkan tanda #
#
#======================= Share Definitions =======================
[share] #tambahkan bagian ini di bawah Share Definitons
path = /home/server/share/ #direktori untuk samba server
browseable = yes
writeable = yes
valid users = tamu #sesuaikan dengan nama user
admin users = root
#. . .
11.6. Anonymous LogIn

Page | 73
Samba server pun bisa digunakan untuk file sharing menggunakan anonymous mode, jika
dirasa security pada jaringan tersebut tidak dibutuhkan. Tinggal edit file smb.conf seperti
berikut.
:~# nano /etc/samba/smb.conf

####### Authentication #######


# security = user is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
security = share #edit bagian ini, rubah menjadi share
#. . .
#======================= Share Definitions =======================
[share] #tambahkan bagian ini di bawah Share Definitons
path = /home/pudja/share/ #direktori untuk samba server
browseable = yes
writeable = yes
guest ok = yes #rubah menjadi guest
#. . .
Terakhir, agar semua konfigurasi dapat berjalan. Restart daemon samba.
:~# /etc/init.d/samba restart

11.7. Pengujian
Pengujian via Localhost. Pengujian localhost bisa menggunakan tool testparm, untuk melihat
hasil akhir dari konfigurasi file smb.conf di atas.
:~# testparm
Load smb config files from /etc/samba/smb.conf
Processing section [share]
Processing section [homes]
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[share]
path = /home/pudja/share/
read only = No
Page | 74
guest ok = Yes

11.8. Pengujian Via Windows


Melalui computer client, tes apakah file sharing sudah berjalan dengan baik. Untuk membuka
file sharing pada Sistem Operasi windows tidaklah sulit, berikut caranya. Klik pada icon
MyComputer, kemudian pada Address bar isikan alamat server debian. Bisa menggunakan Ip
Address ataupun domain. Jangan lupa, tambahakan dua slash //pada awal alamat. Sebagai
identitas protocol file sharing.

BAB XII

PRINT SERVER CUPS

12.1. Sharing Printer

Sharing printer di dunia linux itu sebenernya sanga mudah dan praktis banget, ga kayak OS lain
yang harus download driver dulu. Di debian ada yang namanya CUPS. Intinya CUPS itu adalah
aplikasi printer server yang digunakanuntuk ngeshare printer ke dalam jaringan, berikut cara
installnya :

- Sebelum install CUPS, kita juga harus memiliki samba, karena ada file konfigurasi cups
yang ada disitu.
# apt-get install samba cups
- Lalu edit file /etc/samba/smb.conf
# nano /etc/samba/smb.conf
tekan ctrl + w lalu ketik authentication. tidak jauh dari situ ada tulisan #security = user.
ganti menjadi security = share.
tekan ctrl + w lalu ketik cups. tidak jauh dari situ ada 2 tulisan ; printing = cups dan ;
printcap name = cups hilangkan tanda titik koma yang ada di dua tulisan tersebut.
tekan ctrl + w lalu ketik /var/spool/samba. tambahkan tepat dibawahnya use client driver
= yes. kemudian ganti guest ok = no menjadi guest ok = yes
save dan tutup filenya.

Page | 75
- Restart samba dan cupsnya.
# /etc/init.d/samba restart && /etc/init.d/cups restart
Sampai tahap ini jika tidak ada pesan kesalahan maka instalasi CUPSnya telah berhasil.
Setelah tahap instalasi dan konfigurasi, nah sekarang saya akan memberikan cara untuk
menambahkan printernya di debian. Ada aplikasi yang namanya lynx, itu adalah browser
yang ada di debian. yah sejenis mozilla firefox, tapi yang ini tidak muncul gambarnya, cuma
teks-teks .
- Install dulu lynx nya,
# apt-get install lynx
Setelah proses instalasi selesai, Buka CUPSnya lewat lynx. ketik aja di debiannya.
# lynx localhost:631

akan muncul kira-kira seperti ini

- Kemudian Pilih Administrations, terus scroll halamannya kebawah lalu centang hingga
menjadi seperti ini :

Page | 76
- Kalo udah dicentang, naikan lagi halamannya ke atas, terus Pilih Add Printer, nanti akan
muncul gambar sepertin ini :

Nah tapi nanti akan sedikit berbeda. Lihat yang saya tandain merah di atas? nanti dibagian
bawah LPT 1 akan muncul satu kolom baru, yaitu nama printer yang tercolok ke komputer
anda. Kemudian nanti tekan enter pada tanda ( ) yang bertuliskan nama printer anda. Misal
(*)Epson Stylus TX100, setelah itu pilih Continue.

Lalu muncul gambar gini :

lalu beri centang di bagian tanda kurung ( ) Share this Printers, dengan menekan enter.
Setelah itu baru klik continue. Itu diatas nama printernya hanya percobaan saja, nanti punya
anda pasti berbeda. misalnya pada bagian name nanti tertulis Epson Stylus TX100.

- Setelah itu anda akan disuruh untuk memilih driver printernya

Page | 77
nb: punya anda pasti jauh berbeda dengan gambar diatas

Biasanya drivernya sudah terpilih secara otomatis, jadi nanti tinggal klik continue aja. Tapi
sebaiknya pastikan terlebih dahulu saja.. Pilih vendor printernya di bagian Make, dalam hal
ini kita pilih Epson. Terus pilih tipe printernya di bagian Model, dalam hal ini kita pilih
Epson Stylus TX100. Kemudian klik add printer

- Disini kita menentukan Default Options untuk settingan kertasnya. Biasanya sudah
tersetting dengan baik, jadi kita ikuti saja settingan defaultnya. kalau anda mau merubah-
rubahnya juga enggak masalah Scroll kebawah halamannya, tekan enter saja di bagian Set
Default Options. Ada beberapa pilihan Set default Options disitu, tapi pilih saja salah satu
tidak apa-apa.

Nah jika muncul tampilan seperti dibawah ini maka selamat, printer anda sudah terinstall
dengan baik

Page | 78
Nah sekarang untuk mengetestnya, tekan enter pada nama printernya seperti di bawah ini :

Lalu muncul tampilan kayak gini, terus tekan enter pada bagian Maintenance

Lalu rubah menjadi Print Test Page (1), kemudian tekan enter pada Go (2)

Page | 79
Jika muncul tampilan seperti ini, dan berhasil ngeprint test page dari printernya maka berarti
sudah berhasil.

BAB XIII

OPEN VPN SERVER

13.1VPN Server

VPN adalah Sebuah cara aman untuk mengakses local area network yang berada pada
jangkauan, dengan menggunakan internet atau jaringan umum lainnya untuk melakukan transmisi
Page | 80
data paket secara pribadi. Kalo menurut bahasa saya, VPN adalah sebuah teknik dimana kalian
dapat mengakses jaringan lokal melalui Internet dengan teknologi tunneling. Seperti yang kalian
ketahui, jaringan lokal kan tidak bisa diakses melalui internet bukan? Nah, dengan teknologi VPN
ini, sebuah jaringan lokal ditempat lain akan dapat kalian akses jika didalam jaringan tersebut telah
ditanami sebuah server VPN.

13.2Konfigurasi Server
- Siapkan DVD 1 repositori
Siapkan DVD ke-1 repositori Debian 6 Squeeze kalian. Karena kita akan menginstall
aplikasi yang dibutuhkan dari situ.
- Install OpenVPN
Untuk menginstalasi OpenVPN di Debian 6 Squeeze, silahkan eksekusi perintah berikut :
# apt-get install openvpn
- Konfigurasi OpenVPN
Pada tahap konfigurasi ini, langkah-langkahnya cukup panjang. Yang pertama harus
dilakukan adalah mengkopi contoh konfigurasi openvpn yang berada di direktori
/usr/share/doc/openvpn/examples/ ke direktori tempat openvpn. Caranya seperti ini :
# cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
/etc/openvpn
# cp -R /usr/share/doc/openvpn/examples/sample-config-files/client.conf
/etc/openvpn/
Setelah itu pindahlah ke direktori /etc/openvpn dengan mengetikkan perintah berikut :
# cd /etc/openvpn/2.0
Edit file vars untuk mengganti identitas yang diperlukan openvpn saat membuat file-file
sertifikat nantinya :
# nano vars
Carilah baris-baris seperti ini dibagian paling bawah file tersebut :
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL=me@myhost.mydomain
Kemudian gantilah yang saya tandai merah diatas menjadi sesuai keinginan kalian masing-
masing :

Page | 81
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="ID"
export KEY_PROVINCE="SUMUT"
export KEY_CITY="TebingTinggi"
export KEY_ORG="smkn2.sch.id"
export KEY_EMAIL=usawal@ymail.com

Simpan dan tutup file tersebut. Sekarang kita akan membuat file-file sertifikat dan file kunci
yang diperlukan untuk keperluan komunikasi antara client dengan server VPN nanti.
Eksekusi perintah dibawah ini secara berurutan :

# source vars
# ./clean-all
# ./build-dh
# ./pkitool initca
# ./pkitool --server server
# ./pkitool client
Langkah selanjutnya adalah mengkopikan file-file kunci dan sertifikat untuk server yang
telah kalian buat barusan ke direktori /etc/openvpn :
# cp keys/server.key /etc/openvpn
# cp keys/server.crt /etc/openvpn
# cp keys/ca.crt /etc/openvpn
# cp keys/dh1024.pem /etc/openvpn
Lalu kopikan juga file-file kunci dan sertifikat yang diperlukan untuk komputer client ke
home folder milik salah satu user. Misal disini nama user saya adalah sawal, maka
perintahnya adalah seperti ini :
# cp keys/client.key /home/sawal
# cp keys/client.crt /home/sawal
# cp keys/ca.crt /home/sawal
Jika kalian belum membuat user sebelumnya, silahkan ketikkan perintah berikut untuk
menambahkan user baru dan memberi passwordnya juga :
# useradd -m -s /bin/false cuwal (namauserbaru)
# passwd enter
# 123456
# 123456

Page | 82
Setelah semua langkah diatas sudah kalian lakukan, sekarang saatnya untuk melakukan satu
konfigurasi lagi. Yaitu dengan mengedit file /etc/openvpn/server.conf. Ketikkan perintah
berikut untuk pindah ke direktori /etc/openvpn :
Ekstraklah file server.conf.gz dengan perintah ini :
# gunzip server.conf.gz
Apabila sudah, sekarang edit file tersebut dengan mengeksekusi perintah berikut :
# nano server.conf
Tekan CTRL + W lalu carilah kata kunci def1 sehingga kalian akan menemukan baris
;push "redirect-gateway def1 bypass-dhcp"

Hilangkan tanda titik koma (;) didepannya, dan gantilah baris tersebut sehingga menjadi
seperti ini :

push "redirect-gateway def1"

Lakukan pula hal yang sama pada baris-baris berikut yang tidak jauh berada dibawah baris
;push "redirect-gateway def1 bypass-dhcp" diatas :

;push "dhcp-option DNS 208.67.222.222"

Page | 83
;push "dhcp-option DNS 208.67.220.220"

Menjadi :
push "dhcp-option DNS 208.67.222.222"

push "dhcp-option DNS 208.67.220.220"

Baris :

;client-to-client

Menjadi :

client-to-client

Dan baris :

;duplicate-cn

Menjadi :

duplicate-cn

Page | 84
Setelah itu simpan dan tutup file tersebut.

- Restart Service OpenVPN

Setelah semua konfigurasi telah selesai, sekarang restartlah service dari OpenVPN dengan
perintah berikut :

# service openvpn restart

Sampai tahap ini, seluruh konfigurasi yang diperlukan di komputer Server telah selesai.

13.3Konfigurasi Client

Client yang saya gunakan disini adalah Windows 7.

- Download peralatan yang dibutuhkan


Agar client dapat terkoneksi dengan VPN server, client memerlukan beberapa software
terlebih dahulu. Yaitu Winscp untuk mendownload file yang diperlukan dari server, dan
juga OpenVPN GUI sebagai alat untuk pengkoneksiannya.
Unduh WinSCP disini : [winscp.net]
Unduh OpenVPN GUI disini : [swupdate.openvpn.org]
- Ambil file client.key, client.crt, dan ca.crt
Ekstrak lah software WinSCP Portable yang barusan kalian download, lalu jalankan
program tersebut. Kemudian ambillah 3 buah file client.key, client.crt dan ca.crt yang
berada di direktori /home/sawal ke folder client Windows.

192.168.10.1

Page | 85
Setelah dikopi, sementara biarkan terlebih dahulu ke-3 buah file tersebut, karena kita akan
memerlukannya nanti.

- Install OpenVPN GUI


Sekarang install terlebih dahulu aplikasi openVPN GUI yang telah kalian download juga
tadi. Cara installnya biasa aja kok kayak install aplikasi Windows biasa.

- Hilangkan fitur "Hide Extension for known file types" milik Windows
Langkah selanjutnya adalah untuk menghilangkan fitur penyembunyian ekstensi sebuah file
yang ada di Windows. Kenapa harus kita nonaktifkan? Di OS Windows, seluruh file yang
sudah diketahui ekstensinya seperti file .exe, .avi, atau .mp3, ekstensinya tidak akan muncul
kan? Kalian hanya akan melihat file bertuliskan Noah - Separuh Aku saja, bukannya Noah -
Separuh Aku.mp3. Nah, fitur ini akan mengganggu untuk langkah pengkonfigurasian
Page | 86
OpenVPN GUI yang selanjutnya jika tidak dihilangkan. Oleh karena itu, kalian harus
menonaktifkannya dengan cara berikut :

Buka Windows Explorer, kemudian klik Organize di sebelah kiri atas, lalu pilih Folder
and Search Options.

Pada tab View, hilangkan centang pada opsi Hide Extension for known file types.
Kemudian klik Ok.

Maka seharusnya sekarang seluruh file-file yang ada di Windows kalian sudah muncul
ekstensinya.
- Buat file konfigurasi OpenVPN GUI

Page | 87
Selanjutnya buatlah sebuah file dengan notepad bernama client.ovpn (hapus ekstensi .txt
dibelakangnya dan ganti menjadi .ovpn). Didalam file tersebut kalian isikan dengan skrip
berikut ini :

client
dev tun
proto udp
remote 192.168.10.1 1194 #ini adalah ip address server
key client.key
cert client.crt
ca ca.crt
auth-user-pass
persist-key
persist-tun
comp-lzo
verb 3

Simpan dan tutup file tersebut.


- Memindahkan file-file konfigurasi
- Langkah terakhir adalah memindahkan 4 file konfigurasi client.key, client.crt, ca.crt, dan
client.ovpn ke dalam folder C:\Program Files\OpenVPN\config

Page | 88
- Menjalankan OpenVPN GUI
Jika kesemua file konfigurasi sudah dipindahkan, sekarang saatnya untuk menjalankan
OpenVPN GUI nya. Di layar Desktop, jalankan shortcut aplikasi OpenVPN GUI. Kemudian
klik kanan dan pilih Connect pada gambar OpenVPN GUI yang terletak pada System Tray.

Masukkan Username dan Password yang telah kalian buat sebelumnya di Server. Disini
saya isikan usernamenya adalah cuwal karena tadi memang saya menggunakan user
bernama cuwal, passwordnya 123456

sawal

Jika berhasil, maka warna OpenVPN GUI tersebut akan berubah menjadi hijau seperti ini.

Page | 89
BAB XIV
MULTI DOMAIN

DOMAIN1 = SMKN2TEBINGTINGGI.SCH.ID
IP ADDRESS = 192.168.2.1
DOMAIN2 = ICT-CENTER.NET
IP ADDRESS = 192.168.2.2
DOMAIN3 = BISNIS-CENTER.NET
IP ADDRESS = 192.168.2.3

14.1. Setting Interface untuk IP Address tiap Domain


Edit file /etc/network/interfaces, bisa menggunakan vi, pico atau nano
# nano /etc/network/interfaces
Isi file /etc/network/interfaces rubah menjadi berikut:
auto eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
auto eth0:0

Page | 90
iface eth0:0 inet static
address 192.168.2.2
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
auto eth0:1
iface eth0:1 inet static
address 192.168.2.3
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255

Kemudian di save , tekan Ctrl + O di keyboard untuk menyimpan dan Ctrl + X untuk keluar

Lakukan restart/start pada network:


# /etc/init.d/networking restart
Lihat hasil seting kartu jaringan pada eth0,eth0:0dan eth0:1
# ifconfig

14.2. Konfigurasi Domain Name Service (DNS)


A. Instalasi Bind
Instalasi paket BIND9 dari dvddebian 6.0.6, apabila paket BIND9 belum di install.
# apt-get install bind9
B. Konfigurasi DNS Server
Buka file /etc/bind/named.conf.options; file tersebut berisi DNS forward ditujukan kemana,
options {
Page | 91
directory /var/cache/bind;
forwarders {
192.168.2.1;
192.168.2.2;
192.168.2.3;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 ( any; );
};

Buka file /etc/bind/named.conf.local file yang berisi dimana letak file zona yang berisi DNS Record
local. Tambah atau edit isinya menjadi:
zone smkn2tebingtinggi.sch.id {
type master;
file /etc/bind/db.smkn2;
};

zone ict-center.net {
type master;
file /etc/bind/db.ict;
};
zone bisnis-center.net {
type master;
file /etc/bind/db.bisnis;
};

zone 2.168.192.in-addr.arpa {
type master;
file /etc/bind/db.smkn2.rev;
};

Kemudian duplicate file db local sesuai nama file yang disebutkan /etc/bind/named.conf.local

# cp /etc/bind/db.local /etc/bind/db.smkn2
# cp /etc/bind/db.local /etc/bind/db.ict
# cp /etc/bind/db.local /etc/bind/db.bisnis
# cp /etc/bind/db.127 /etc/bind/db.smkn2.rev

Edit file /etc/bind/db.smkn2


# nano /etc/bind/db.smkn2
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.smkn2tebingtinggi.sch.id. admin.smkn2tebingtinggi.sch.id. (
2 ; Serial
604800 ; Refresh
Page | 92
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.smkn2tebingtinggi.sch.id.
@ IN A 192.168.2.1
ns IN A 192.168.2.1
www IN A 192.168.2.1
ftp IN A 192.168.2.1

Edit file /etc/bind/db.ict


# nano /etc/bind/db.ict
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.ict-center.net. admin.ict-center.net. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.ict-center.net.
@ IN A 192.168.2.2
ns IN A 192.168.2.2
www IN A 192.168.2.2

Edit file /etc/bind/db.bisnis


# nano /etc/bind/db.bisnis
;
; BIND data file for local loopback interface
;
$TTL 604800
Page | 93
@ IN SOA ns.bisnis-center.net. admin.bisnis-center.net. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.bisnis-center.net.
@ IN A 192.168.2.3
ns IN A 192.168.2.3
www IN A 192.168.2.3

Edit file /etc/bind/db.rev


# nano /etc/bind/db.rev
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns. smkn2tebingtinggi.sch.id. admin.smkn2tebingtinggi.sch.id. (
4 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ; Negative Cache TTL
;
@ IN NS ns.smkn2tebingtinggi.sch.id.
1 IN PTR ns.smkn2tebingtinggi.sch.id.
2 IN PTR ict-center.net.
3 IN PTR bisnis-center.net.

Edit file /etc/hosts dan tambahkan smkn2tebingtinggi.sch.id


# nano /etc/hosts
127.0.0.1 localhost
192.168.2.1 server. smkn2tebingtinggi.sch.id server
Edit file /etc/resolv.conf
# nano /etc/resolv.conf
Page | 94
search smkn2tebingtinggi.sch.id
nameserver 192.168.2.1

Restart jaringan dan Bind9


# /etc/init.d/bind9 restart
Untuk menguji dengan perintah nslookup
# nslookup www.smkn2tebingtinggi.sch.id
Server : 192.168.2.1
Address : 192.168.2.1#53
# nslookup www.ict-center.net
Server : 192.168.2.2
Address : 192.168.2.2#53
# nslookup www.bisnis-center.net
Server : 192.168.2.3
Address : 192.168.2.3#53
14.3. Setting Web Server
A. Memulai installasi
Untuk installasi apache, mysql, dan php gunakan perintah berikut:
# apt-get install apache2 php5

B. Membuat Directory Web Server untuk tiap Domain


# cd /var/www
# mkdir smkn2
# mkdir ict
# mkdir bisnis
Kemudian buat hak access untuk tiap directory
# chmod 755 smkn2
# chmod 755 ict
# chmod 755 bisnis
Membuat file index.html untuk tiap directory domain
# nano /var/www/smkn2/index.html
<h1> SELAMAT DATANG DI WEB SMKN2 </h1>
# nano /var/www/ict/index.html
<h1> SELAMAT DATANG DI WEB ICT </h1>
# nano /var/www/bisnis/index.html
<h1> SELAMAT DATANG DI WEB BISNIS </h1>

C. Konfigurasi Apache Web Server


Page | 95
Berikut adalah langkah-langkah mengkonfigurasi Web Server:
# nano /etc/apache2/ports.conf
Edit NameVirtualHost 192.168.2.1:80, NameVirtualHost 192.168.2.2:80, NameVirtualHost
192.168.2.3:80

Edit file /etc/apache2/sites-available/default


# nano /etc/apache2/sites-available/default
Isi file seperti berikut :
<VirtualHost 192.168.2.1:80>
ServerAdmin webmaster@smkn2tebingtinggi.sch.id
ServerName www.smkn2tebingtinggi.sch.id
DocumentRoot /var/www/smkn2
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/smkn2>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</VirtualHost>

# nano /etc/apache2/sites-available/default
Isi file seperti berikut :
<VirtualHost 192.168.2.2:80>
ServerAdmin webmaster@ict-center.net
ServerName www.ict-center.net
Page | 96
DocumentRoot /var/www/ict
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/ict>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</VirtualHost>

# nano /etc/apache2/sites-available/default
Isi file seperti berikut :
<VirtualHost 192.168.2.3:80>
ServerAdmin webmaster@bisnis-center.net
ServerName www.bisnis-center.net
DocumentRoot /var/www/bisnis
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/bisnis>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</VirtualHost>
Kemudian, lakukan link simbolik menggunakan perintah a2ensite,
# a2ensite ict
# a2ensite bisnis
Restart kembali apache2
# /etc/init.d/apache2 restart

14.4. Pengujian Via Windows


Page | 97
Melalui computer client, tes apakah web pada domain yang sudah di buat sudah aktif atau
belum melalui web browser.
Ketikkan pada address bar www. smkn2tebingtinggi.sch.id, maka yang muncul adalah:

Ketikkan pada address bar www. ict-center.net, maka yang muncul adalah:

Ketikkan pada address bar www. bisnis-center.net, maka yang muncul adalah:

BAB XV
PENUTUP

Alhamdulillah, walaupun masih banyak kekurangan disana-sini, khususnya dalam hal


bahasapenulisan dan materi yang di angkat, akhirnya buku saya ini bisa selesai juga.

Sesungguhnya saya sangat berharap seluruh materi yang ada didalam buku ini dapat tersampaikan
dengan baik kepada para pembaca, khususnya siswa smk tkj, sehingga dapat diambil manfaatnya.

Berhubung buku ini benar-benar saya dedikasikan untuk keperluan edukasi, maka saya akan senang
sekali apabila pembaca juga ikut membagikan buku ini (tanpa merubah apapun atribut
penulis)ataupun mengajarkannya kembali ke teman-teman maupun sanak saudara yang
pembaca punya. Tentunya hal tersebut akan membantu dunia Linux semakin dikenal oleh banyak
orang sehinggasemakin bermanfaat pula ilmu yang diperoleh.

Jika pembaca menemukan kesulitan dalam mempelajari materi yang ada di dalam buku ini,
pembaca dapat menghubungi saya kapanpun melalui kontak yang saya cantumkan pada halaman
ProfilPenulis pada buku ini. InsyaAllah saya akan membalas pertanyaan kalian semampu saya.
Akhir kata, semoga dengan membaca buku ini setidaknya kalian sudah memiliki dasar

Page | 98
dalammenjalani kehidupan sebagai seorang Linux System Administrator. Selamat belajar, dan
salam OpenSource!

Muhammad Sawalluddin Damanik, S.Pd

DAFTAR PUSTAKA

Buku :
Komputer, Wahana. 2009. Langkah Mudah Administrasi Jaringan Menggunakan Linux
Ubuntu9, Yogyakarta, Andi Yogyakarta.
Sofana, Iwan. 2008. Membangun Jaringan Komputer, Bandung, Informatika.
Heriadi, Doddi. 2012. Solusi Cerdas Menguasai Internetworking Packet Tracer,
Yogyakarta,Andi Yogyakarta.
Rafiudin, Rahmat. 2010. Mengganyang Hacker dengan Snort, Yogyakarta, Andi Yogyakarta.
Internet :
http://articles.slicehost.com/2008/8/6/postfix-using-telnet-to-test-postfix
http://workaround.org/ispmail/lenny/test-mail-through-telnet
http:// forum.linuxsupports .com/read.php?4,947,947#msg-947
http://chapila.com/internet/apa-itu-mail-server.html
http://searchsoa.techtarget.com/definition/mail-server
http://www.postfix.org/
http://dovecot.org/
Page | 99
http://ilmukomputer.com/
http://onno.vlsm.org
http://opensource.telkomspeedy.com/
http://www.cisco.com/
http://boson.com/
http://www.linuxku.com/2011/11/instalasi-webserver-apache-mysql.html
http://www.linuxku.com/2011/10/install-konfigurasi-ntp-server-di.html
http://www.kaskus.co.id/showthread.php?t=2317660
http://www.aboutdebian.com/firewall.htm
http://www.cyberciti.biz/tips/linux-iptables-allow-squid-proxy-incoming-client-request.html
http:// forum.linuxsupports .com/read.php?4,413,413
http://www.cyberciti.biz/tips/linux-iptables-examples.html

PROFIL PENULIS

Nama lengkap penulis adalah Muhammad Sawalluddin Damanik,


S.Pd, seorang alumni Jurusan Teknik Mesin UNP Padang yang
kini sedang menapaki dunia pendidika di SMK Negeri 2 Tebing
Tinggi Sumatera Utara. Keseharian penulis selain sebagai seorang
pengajar, adalah sebagai seorang blogger amatiran dan juga
menjalani kehidupan seorang wirausahawan bersama bisnis
yang sedang dikembangkannya. Awal mula jatuh cinta pada
dunia Linux, penulis alami pada saat berada di tahun 2007 ketika
di paksa ngajar di TKJ SMK Negeri 2 Tebing Tinggi. Sejak saat
itu penulis mulai aktif mengikuti seminar-seminar Linux,
pelatihan, forum, bahkan akhirnya bersama teman-teman
seperjuangan sampai bisa menyelenggarakan seminar dan
pelatihan Linux sendiri. Kini, penulis mendedikasikan diri untuk
terus menyebarluaskan ilmu Linux dan Open Source melalui media
tulisan ke seluruh penjuru negeri dan dunia.
Nama lengkap : Muhammad Sawalluddin Damanik,S.Pd
TTL : Desa Binjai, 26 Juli 1982
Pekerjaan : Guru SMK
Kontak : usawal@ymail.com
Blog : http://cuwal.wordpress.com

Page | 100
Fb : Sawalluddin
Alamat : SMKN 2 Tebing Tinggi, Jl. Gunung Leuser Tebing Tinggi Sumut 20614

Page | 101

Anda mungkin juga menyukai