Kata Pengantar
Alhamdulillahhirabil aalamien
Puji syukur saya panjatkan kepada Allah S.W.T. atas berkat dan rahmatnya
tutorial ini akhirnya terselesaikan walaupun sempat molor selama hampir 2 bulan
dikarenakan berbagai kepentingan yang mendesak.
Buku ini berisi tutorial berbagai aplikasi server yang dikemas dengan bahasa
sederhana sehingga bisa lebih dipahami khususnya untuk siswa siswi tingkat
SMK bidang Komputer dan Jaringan.
Materi di buku ini diambil dari berbagai sumber. Siapapun yang merasa hasil
karyanya dimodifikasi atau ikut disertakan bersama buku ini, semoga dapat
berbesar hati dan bersedia berbagi ilmu untuk kepentingan yang bermanfaat.
Ilmu yang diberikan Allah S.W.T. alangkah baiknya untuk dibagi kepada sesama
demi kemajuan Ilmu pengetahuan dan teknologi di Indonesia. Maka dari itu
penulis mempersilahkan siapa saja untuk menggunakan, menyebarluaskan dan
terus mengembangkan isi dari buku ini untuk keperluan yang bermanfaat.
Semoga buku ini bermanfaat bagi pembaca
Daftar Isi
Konfigurasi TCP/IP .. 3
Konfigurasi NAT dan IP Forward
.. 6
.. 8
.. 10
.. 15
.. 16
.. 20
.. 22
.. 24
Konfigurasi TCP IP
Langkah pertama adalah mengurus bagian koneksi, salah satunya adalah
konfigurasi IP dan DNS. Penulis menskenariokan dengan topologi sebagai
berikut.
192.168.1.2
Internet
192.168.1.1
Laptop Client
Router
172.16.1.
1
172.16.1.2
Dapat diketahui terdapat 2 interface yang terkoneksi yaitu eth0 dan eth1.
Jika ada interface yang tidak muncul dapat dicoba kembali dengan perintah yang
lebih rinci
root@debian:~# ifconfig eth1
root@debian:~# ifconfig eth2 ( dan seterusnya )
Jika ingin mendapatkan ip dhcp dari dhcp server ubah saja kata static menjadi
dhcp
Setelah yakin konfigurasi benar restart service networking dan dapat dicek
dengan perintah ifconfig
root@debian:~# service networking restart
nameserver 8.8.8.8
nameserver 172.16.1.1
Konfigurasi NAT
Salah satu fungsi router adalah Network Address Translation (NAT) yang
berfungsi untuk mengenalkan network yang berbeda. terdapat 2 konfigurasi
utama yaitu konfigurasi iptables dan ip forward.
# iptables t nat A POSTROUTING s 172.16.1.0/24 j MASQUERADE
Mengaktifkan fungsi ip forward
root@debian:~# echo 1 > /proc/sys/net/ipv4/ip_forward
Kelemahan cara diatas adalah konfigurasi tersebut akan hilang jika
komputer mati jadi jangan lupa menyimpan konfigurasi iptables dan merestore
saat komputer menyala kembali
root@debian:~# iptables-save > /etc/... (lokasi)
Untuk mengeload konfigurasi yang kita simpan tadi ketikan perintah berikut
root@debian:~# iptales-restore < /etc/... (lokasi yang tadi)
Ada berbagai trik dan cara cepat dalam mengkonfigurasi NAT dan IP
forward salah satunya dengan mengetikan konfigurasi iptables dan ip forward di
dalam file service networking jadi konfigurasi kita juga ikut dijalankan ketika
service networking berjalan.
root@debian:~# nano /etc/init.d/networking
Di baris paling bawah sebelum kata exit 0 tambahkan 2 perintah tersebut
# ip broadcast
default-lease-time 600;
max-lease-time 7200
}
#. . .
lease time: waktu penyewaan ip, jika melewati batas waktu tersebut maka
client akan meminta ip lagi kepada server. (satuan second). Teliti juga dengan
subnet, netmask dan ip broadcastnya karena jika salah satunya tidak sesuai akan
terjadi error saat service di restart.
Jika dalam computer tersebut terdapat dua atau lebih Ethernet. Maka harus
kita pastikan, Ethernet mana yang akan mendapat layanan DHCP Server. Untuk
itu, edit file default dhcp seperti berikut
root@debian:~# nano /etc/default/dhcp3-server
#. . .
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1"
#. . .
Jika sudah yakin konfigurasi anda benar restart service DHCP dan dapat
dicek melalui computer client yang terhubung dengan dhcp server
root@debian:~# service isc-dhcp-server restart
DNS Server
Domain Name System adalah suatu metode untuk mengkonversikan Ip
Address (numerik) suatu komputer ke dalam suatu nama domain (alphabetic),
ataupun sebaliknya. Yang memudahkan seseorang dalam mengingat computer
tersebut. Misalnya, server Debian memiliki alamat Ip Address sekian, namun
pada umumnya, orang tidak akan mudah mengingat alamat Ip dalam bentuk
numerik tersebut. Dengan adanya DNS Server, seseorang bisa mengakses
halaman situs dari server Debian tersebut hanya dengan mengakses nama
Domain-nya (www.youngky.com), tanpa mengingat Ip Address dari computer
tersebut. Paket yang dibutuhkan untuk DNS server adalah BIND9.
1.
Install bind9
Bind9 (Berkeley Internet Name Domain versi 9) adalah salah satu aplikasi
linux yang sangat populer sebagai DNS Server, dan hampir semua distro linux
menggunakanya. Selain itu, dalam konfigurasinya pun cukup mudah dimengerti,
khususnya bagi pemula awal.
root@debian:~# apt-get install bind9
Berikut file-file penting yang akan di konfigurasi dalam DNS Server;
2.
- /etc/bind/named.conf
- file forward
Membuat Zone Domain
- file reserve
- /etc/resolv.conf
Bagian ini adalah yang terpenting, dimana akan ditentukan nama untuk
Domain dari server Debian. Edit dan tambahkan konfigurasi untuk forward dan
reverse, pada file named.conf
root@debian:~# nano /etc/bind/named.conf
sebelum kata-kata include /etc/bind.Ditambahkan script di bawah ini
Zone youngky.com {
Type master;
File /etc/bind/youngky;
};
Zone 200.20.2.in-addr.arpa {
Type master;
File /etc/bind/200;
};
#Zone Domain
#Lokasi file Forward
#3 blok IP dari depan
#lokasi file reserve
3.
4.
5.
Menambahkan Dns-name-server
Tambahkan dns dan nameserver dari server Debian tersebut pada file
resolv.conf. Agar dapat diakses melalui computer localhost.
root@debian:~# nano /etc/resolv.conf
Nameserver=200.20.2.2
Nameserver=111.68.26.166
FTP Server
Install paket yang dibutuhkan untuk ftp server. Penulis menggunakan
proftpd karena selain konfigurasinya yang lebih mudah, proftpd juga lebih
familiar digunakan.
root@debian:~# apt-get install proftpd
Pilih standalone saat installasi
Terdapat 2 mode pada penggunaan ftp server yaitu mode anonymous dan
user authentication. Konfigurasinya cukup mudah hanya tinggal mengubah
beberapa kata saja.
1.
2.
Anonymous mode
Anonymous LogIn memperbolehkan semua pengunjung mengakses
layanan ftp server tersebut. Perlu diingat, sebaiknya anda memilih salah satu
dari dua cara ini. Jangan digunakan bersamaan.
File konfigurasi tetap pada proftp.conf, uncomment baris <Anonymous
~ftp> di bawah kata-kata A basic anonymous hingga baris
</Anonymous> di bawah sendiri.
Setelah yakin konfigurasi anda benar, restart service proftpd dan bisa diuji
mengunakan web browser
root@debian:~# service proftpd restart
Web Server
Web Server termasuk salah satu layanan SERVER yang paling popular. Karena
lewat web server tersebut, website dapat diakses oleh seluruh pengunjung dari
Internet. Dalam keadaan default, web server berjalan pada protocol HTTP melalui
port 80. Pada kegiatan ini penulis akan membuat web server menggunakan
aplikasi Apache2. Dalam perancangan Web Server, harus diketetahui terlebih
dahulu persyaratan (Dependensi) dari website yang akan dibuat. Misalnya,
website tersebut membutuhkan bahasa HTML saja, atau PHP4, PHP5, atau juga
MySQL.
root@debian:~# apt-get install apache2 php5
Selanjutnya edit konfigurasi file web
root@debian:~# nano /etc/apache2/sites-available/default
hapus semua isi file dan tambahkan script di bawah ini
<virtualhost *:80>
Servername www.youngky.com
#domain utama
Documentroot /var/www/
</virtualhost>
#disimpan
Secara default file-file web akan disimpan di /var/www. Tetapi letak file dapat
dirubah seusai keinginan dimana file-file tersebut akan di simpan. Selain untuk
keperluan cacti.Server ini bisa dimanfaatkan untuk postingan web milik sendiri.
Tinggal masukan saja file-file web di direktori /var/www.
Setelah selesai restart konfigurasi dan coba akses lewat web browser
root@debian:~# /etc/init.d/apache2 restart
: no
Selanjutnya pengaturan web server agar squirrel mail bisa diakses lewat
browser. supaya praktis edit file konfigurasi web server yang sudah diedit di bab
sebelumnya
root@debian:~# nano /etc/apache2/sites-available/default
Tambahkan virtualhost baru
<virtualhost *:80>
Servername mail.youngky.com
Documentroot /usr/share/squirrelmail
</virtualhost>
Restart service apache dan bisa langsung diakses melalui web browser
root@debian:~# service apache2 restart
Jika halaman login squirrelmail uncul berarti sudah tidak ada masalah di
bagian web server. Coba login dengan user yang sudah dibuat dan lakukan test
untuk memastikan server bisa mengirim dan menerima E-mail.
NTP Server
Network Time Protocol (NTP) berfungsi untuk mensingkronkan waktu
client dengan server. Supaya waktu atau jam dapat sama persis. NTP berjalan
pada protocol UDP, yang bersifat ringan dan unreliable. NTP Server, sangat
berperan penting jika jumlah computer sudah melampaui batas, agar semua waktu
berjalan serentak pada setiap computer.
Yang perlu diatur terlebih dahulu adalah pengaturan timezone sesuai
kenyataannya.
root@debian:~# dpkg-reconfigure tzdata
Selanjutna cocokkan tanggal dan waktu bila perlu dengan format date
MMDDhhmmYYYY (Month, day, hour, minute, year)
root@debian:~# date 052213532013
Server 127.127.1.0
Fudge 127.127.1.0 staratum 1
Restart service NTP lalu lakukan pengujian dengan mengupdate jam dan
tanggal ke server.
root@debian:~# service ntp restart
Buka pengaturan jam dan tanggal
lalu click change settings di bagian
Internet Time dan arahkan ke ip atau
domain server.
Note : ada hal yang penulis tidak
mengerti
terkadang
saat
pertama
menyocokkan jam dan tanggal ke server
selalu terjadi error padahal semua
konfigurasi sudah dipastikan sesuai
prosedur. Jika ini terjadi abaikan saja
langsung tekan OK dan cobalah lagi
beberapa kali
Proxy Server
PROXY Server berfungsi untuk menyimpan halaman-halaman website
yang pernah kita kunjungi. Fungsinya adalah sebagai CACHE, yang sewaktuwaktu jika kita ingin mengunjungi halaman yang sama, akan diambilkan dari
Proxy tersebut terlebih dahulu, dan jika belum ada maka akan diteruskan ke server
sebenarnya. Selain itu proxy juga dapat digunakan untuk Security, misalnya
memblokir akses ke suatu website ataupun sebagainya.
Aplikasi yang familiar digunakan untuk proxy adalah squid. Install
paketnya terlebih dahulu
root@debian:~# apt-get install squid
File konfugrasinya sangat panjang jadi saya tuliskan pengaturan
pengaturan penting saja. Buka file yang ada di /etc/squid dengan nama squid.conf.
uncomment dan ganti beberapa kata seusai petunkuk berikut.
root@debian:~# nano /etc/squid/squid.conf
1. Pertama cari kata http_port 3128 lalu tambahkan kata transparent jika
diinginkan transparent proxy.
2. Cari kata INSERT YOUR OWN RULE di bawah kata http_access
allow localhost tambahkan definisi access list dan hak aksesnya
# acl name
Blokir Situs
Untuk membuat rules untuk situs-situs tertentu buatlah acl baru dan
beberapa pengaturan seprti berikut ini. Cari kata url_regex lalu tambahkan rules
berikut dibawahnya
#berdasarkan URL
#berdasarkan keyword
VPN Server
Turorial ini dikutip dari www.linuxku.com oleh Rizal Rahman dan sudah
saya praktekkan dan Alhamdulillah berhasil.
Untuk menginstalasi OpenVPN di Debian 6 Squeeze, silahkan eksekusi
perintah berikut :
root@debian:~# apt-get install 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 :
root@debian:~# cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0
/etc/openvpn
root@debian:~# cp /usr/share/doc/openvpn/examples/sample-configfiles/server.conf.gz /etc/openvpn
Setelah itu pindahlah ke direktori /etc/openvpn/2.0 dengan mengetikkan
perintah berikut :
root@debian:~# cd /etc/openvpn/2.0/
Edit file vars untuk mengganti identitas yang diperlukan openvpn saat
membuat file-file sertifikat nantinya :
root@debian:~# 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. Ingat formatnya harus seperti contoh di atas.
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 :
root@debian:~# source vars
root@debian:~# ./clean-all
root@debian:~# ./build-dh
root@debian:~# ./pkitool initca
root@debian:~# ./pkitool --server server
root@debian:~# ./pkitool client
Langkah selanjutnya adalah mengkopikan file-file kunci dan sertifikat untuk
server yang telah kalian buat barusan ke direktori /etc/openvpn :
root@debian:~# cp keys/server.key /etc/openvpn
root@debian:~# cp keys/server.crt /etc/openvpn
root@debian:~# cp keys/ca.crt /etc/openvpn
root@debian:~# 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
rizal, maka perintahnya adalah seperti ini :
root@debian:~# cp keys/client.key /home/rizal
root@debian:~# cp keys/client.crt /home/rizal
root@debian:~# cp keys/ca.crt /home/rizal
Jika kalian belum membuat user sebelumnya, silahkan ketikkan perintah berikut
untuk menambahkan user baru dan memberi passwordnya juga :
root@debian:~# useradd -m -s /bin/false namauserbaru
root@debian:~# passwd namauserbaru
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 :
root@debian:~# cd ..
Ekstraklah file server.conf.gz dengan perintah ini :
root@debian:~# gunzip server.conf.gz
Apabila sudah, sekarang edit file tersebut dengan mengeksekusi perintah berikut :
root@debian:~# nano server.conf
Tekan CTRL + W lalu carilah kata kunci def1 sehingga kalian akan menemukan
baris-baris berikut. Uncomment dengan menghapus tanda titik koma di depan
baris
;push "redirect-gateway def1 bypass-dhcp"
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" (sesuaikan DNS server)
;push "dhcp-option DNS 208.67.220.220 (sesuai kebutuhan)
;client-to-client
;duplicate-cn
Sampai tahap ini, seluruh konfigurasi yang diperlukan di komputer Server telah
selesai.
B. KONFIGURASI CLIENT
Client yang saya gunakan disini adalah Windows 7.
1. 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 : http://winscp.net/download/winscp512.zip
Unduh OpenVPN GUI disini :
http://swupdate.openvpn.org/community/releases/openvpn-2.2.2-install.exe
2. 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/rizal ke folder client Windows.
Setelah dikopi, sementara biarkan terlebih dahulu ke-3 buah file tersebut, karena
kita akan memerlukannya nanti.
3. 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.
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 rizal karena tadi memang saya
menggunakan user bernama rizal.
Jika berhasil, maka warna OpenVPN GUI tersebut akan berubah menjadi hijau
seperti ini.
Semoga bermanfaat :)
Referensi
Debian Server Final oleh Abdullah Puja Kusuma Erawan a.k.a Pujda_mansyurin
Penggabungan Mikrotik dan Linux sebagai management jaringan dan network
monitoring oleh Youngky Artha
Tutorial openvpn server oleh Rizal Rahman dikutip dari www.linuxku.com