Dokumen tersebut memberikan penjelasan tentang cara konfigurasi proxy server Squid pada sistem operasi Linux dengan menjelaskan langkah-langkah pengaturan proxy pada distribusi Linux seperti Ubuntu, CentOS, dan OpenSUSE serta fitur-fitur penting Squid seperti filtering website, keyword, dan waktu akses.
1. INTERNET
PROXY PADA LINUX
Disusun oleh :
Danang Istu Nugroho | 06 |
IK-1A
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ELEKTRO
POLITEKNIK NEGERI SEMARANG
2012
2. I. Tujuan Instruksional Khusus :
Setelah Menyelesaikan praktek ini mahasiswa dapat :
1. Mengetahui tentang Proxy pada Linux
2. Dapat melakukan seting Proxy pada Linux
II. Dasar Teori
A. Setting Transparent Proxy Server menggunakan Ubuntu 5.10
Setting Proxy pada Ubuntu 5.10
Langkah-langkah setting Proxy Pada Ubuntu :
1. Pertama-tama install terlebih dahulu squid melalui synaptic atau melalui
command prompt dengan cara : # apt-get install squid
2. Setelah selesai maka Squid langsung dapat di konfigurasikan dengan cara : # vi
/etc/squid/squid.conf
3. Tetapi sebelum di edit terlebih dahulu backup dulu file aslinya agar kalau rusak
bisa dikembalikan ke default : # cp /etc/squid/squid.conf
/etc/squid/squid.conf.bak
4. Baru kemudian kita mulai bermain-main dengan konfigurasi script Squid :# vi
/etc/squid/squid.conf
Maka akan muncul file konfigurasi squid yang sangat panjang, berikut langkah-
langkah yang harus diperhatikan….
1. HTTP Port : Merupakan port yang digunakan untuk menjalankan Squid
http_port 3128
2. Visible Host Name : Agar jika terjadi error Squid dapat menemukan hostname
yang valid visible_hostname myrhdqp1.kas.com
3. Cache Manager : Untuk mendefinisikan email address dari Cache Manager
Squid cache_mgr ardhian@kas.com
4. Direktori Cache Squid : Mendefinisikan letak direktori squid beserta
besarannya. Angka 500 menunjukkan ukuran direktori dalam MB Angka 16
menunjukkan jumlah sub direktori tingkat 1 Angka 256 menunjukkan jumlah
3. subdirektori tingkat 2 dari subdirektori tingkat 1 Jumlah diatas makin besar
makin baik cache_dir ufs /var/spool/squid 500 16 256
5. Filtering : Ini merupakan bagian terpenting dari Squid, dengan ini kita bisa
mngatur rule-rule, dari mulai siapa saja yang bisa mengakses internet sampai
website apa yang diizinkan untuk di akses.Access List : Siapa saja yang dapat
mengakses Internet perintah : acl it_user src 192.168.1.1/255.255.255.255 acl :
merupakan perintah access list it_user : nama user yang memiliki IP atau group
src : merupakan source ip yang digunakan, bisa menggunakan range jika ingin
membuat group ex : acl group-it src 192.168.1.1-
192.168.1.12/255.255.255.255Filtering Waktu : Memberikan izin akses
berdasarkan waktu dan hari perintah : acl waktu-akses time MTWHFA 08:00-
16:00 acl : perintah access list
waktu-akses : caption untuk perintah acl time : perintah squid utk
mendefinisikan waktu MTWHFA : merupakan perintah squid untuk
mendefinisikan waktu M : Monday, T : Tuesday, etc….. 08:00-16:00 :
Merupakan waktu yang diperbolehkan untuk memberikan akses internet ke
pengguna
Hak akses WEB tertentu :
Filtering Website : Memfilter website apa saja yang tidak boleh diakses oleh
pengguna. Sebelumnya harus dibuat dulu suatu dokumen yang berisikan list-list
url yang akan diblock. misal : # vi /etc/squid/pornourl.txt
kemudian isikan dengan : www.xxxxx.com www.17tahun.com dll
Lalu berikan perintah squid pada file Squid.conf dengan perintah : acl
blokporno dstdomain “/etc/squid/pornourl.txt”
Filtering Keyword : Memfilter keyword yang dimasukkan oleh para pengguna,
misalkan pengguna memasukkan kata ’sex’ di google maka Squid akan
membloknya.
Sebelum menambahkan perintah di Squid.conf, anda harus membuat file yang
berisikan keyword-keyword yang akan diblok dengan perintah : # vi
/etc/squid/keywordblock.txt
Lalu isi dengan kata-kata yang akan di blok : ex : xxx erotic hot dll….
4. Dan berikan perintah di Squid.conf dengan perintah :
acl keywordblok url_regex -i “/etc/squid/keywordblock.txt”
Perintah-perintah filter tersebut sudah cukup untuk membuat Squid Server
sederhana, langkah berikut adalah memberikan hak akses pada aturan-aturan
yang telah dibuat sebelumnya. Di Squid perintahnya dinamakan http_access.
Perintahnya adalah sebagai berikut :
http_access deny blokporno # mendeny semua url yang terdapat pada acl
blokporno http_access deny keywordblock # men-deny keyword yang ada pada
acl keywordblock http_access waktu-akses it_user # Memperbolehkan acl
waktu-akses pada acl user micokelana http_access deny all # Men-deny semua
user yang tidak terdaftar pada squid.conf
http_reply_access allow all #default icp_access allow all #default
Kemudian jangan lupa men-save file konfigurasi squid.conf yang telah kita edit
dengan menggunakan perintah : :wq #w : menyimpan q: keluar (Perintah vi)
Lalu pada command terminal anda ketikan perintah ; # squid -z
Fungsi : untuk membuat direktori cache yang telah kita buat pada perintah
squid.
6. Transparent Proxy Merupakan suatu teknik agar Squid Proxy menjadi
transparent atau tidak terlihat, maksudnya jika biasanya kita memasukkan
alamat proxy pada setiap browser (firefox, etc..), jika transparent proxy
diterapkan maka pada browser tidak akan kelihatan kita memasukkan alamat
proxy kita.Sebelum memasukkan perintah transparent proxy pada squid, maka
kita harus melakukan perintah iptable agar dapat meredirect port yang ada pada
komputer client. Maksudnya jika squid kita set pada port 3128, maka
permintaan client yang umumnya internet itu berada pada port 80 maka kita
harus meredirect port 80 dari client tersebut ke port proxy kita yang berada pada
port 3128.
5. IP Forwarding, agar transparent proxy dapat diterapkan, maka kita harus
mengaktifkan Ip Forwarding dengan memberikan nilai 1 pada file
“/proc/sys/net/ipv4/ip_forward” dengan cara :
# echo 1 > /proc/sys/net/ipv4/ip_forward
Tetapi perintah tersebut harus kita jalankan auto startup, agar jika komputer
squid mati kita tidak perlu repot2 menjalankan perintah tersebut secara terus
menerus.Teknik ini, dapat kita jadikan pedoman untuk melakukan hal ini.
Berikutnya kita harus menjalankan ip_tables agar client dapat meredirect port
squid server kita dengan perintah :
# iptables -A PREROUTING -t nat -p tcp –dport 80 -j REDIRECT –to-
port 8800
Kemudian restart proxy dengan perintah :# /etc/init.d/squid restart
Setelah proses restart maka setting proxy telah berhasil dibuat.
Hak akses WEB tertentu :
Berikut adalah potongan syntax pada setting proxy untuk memblok hak akses
situs tertentu :
Filtering Website : Memfilter website apa saja yang tidak boleh diakses oleh
pengguna. Sebelumnya harus dibuat dulu suatu dokumen yang berisikan list-list
url yang akan diblock. misal : # vi /etc/squid/pornourl.txt
kemudian isikan dengan : www.xxxx.com www.17tahun.com dll
Lalu berikan perintah squid pada file Squid.conf dengan perintah :acl
blokporno dstdomain “/etc/squid/pornourl.txt”
Filtering Keyword : Memfilter keyword yang dimasukkan oleh para pengguna,
misalkan pengguna memasukkan kata ’hot’ di google maka Squid akan
membloknya.
B. Setting Transparent Proxy pada Linux Centos-5
6. Untuk memulai kita konfigurasi transparant proxy squid pada mesin Linux Centos kita
dengan asumsi sudah ada alokasi space pada HDisk. Disini saya sudah ada alokasi buat
cache sebesar 9 GB = /cache .Untuk menginstall squid bisa dengan source tetapi untuk
memudahkan installasi bisa dengan fasilitas yang sudah disediakan RHEL yaitu dengan
yum, kalau di debian kita menggunakan apt-get, sedang di FreeBSD lewat port
fasilitas seperti ini.tinggal mengetik yum -y install squid .
Setelah terinstall squid kita coba rubah owner dan tambah direktori cache yang kita
alokasikan tersebut dengan cara :
mkdir -p /cache/squid
mkdir -p /cache/spool
chown -R squid:squid /cache
Untuk langkah selanjutnya edit file squid.conf pada /etc/squid/squid.conf , untuk salah
konfigurasi jangan takut karena disana sudah disediakan file konfigurasi default
squid.conf.default. Contoh file squid.conf :
### ### ### ### http_port 192.168.100.11:3128 transparent <— penambahan
transparent ini berdasarkan squid versi baru sekarang
hierarchy_stoplist cgi-bin ? a
cl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
cache_mem 16 MB
maximum_object_size 128 MB
cache_dir ufs /cache/squid 6300 14 256 <—- menentukan performa squid (dibuat
70% dari alokasi space) c
ache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
7. cache_store_log /var/log/squid/store.log auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
read_timeout 30 minutes
request_timeout 1 minutes
client_lifetime 3 hours
pconn_timeout 15 seconds
half_closed_clients off
shutdown_lifetime 10 seconds
positive_dns_ttl 53
seconds negative_dns_ttl 29
seconds acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl net-AP src 192.168.100.0/255.255.255.0
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http acl Safe_ports port 81
acl Safe_ports port 84
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
8. acl Safe_ports port 25 # smtp
acl Safe_ports port 210 # wais
acl Safe_ports port 6666-7000 # IRC Proxies
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl BADPORTS port 7 9 11 19 110 119 513 514
acl VIRUS urlpath_regex winnt/system32/cmd.exe?
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny VIRUS http_access deny BADPORTS
http_access allow localhost
http_access allow net-AP
http_access deny all
http_reply_access allow all
icp_access allow all
cache_mgr onez@airputih.or.id
visible_hostname Ap-Ciomas
9. ftp_passive on
ftp_sanitycheck on a
lways_direct allow all
coredump_dir /cache/spool
cache_replacement_policy LFUDA
forwarded_for on
memory_pools off
minimum_direct_hops 4
store_objects_per_bucket 10 s
tore_avg_object_size 13 kb
max_open_disk_fds 100
### ### ### ###
Jangan lupa disini ada penambah http_port 192.168.100.11:3128 transparent ini untuk
versi baru squid, untuk transparant biasanya seperti http_port 192.168.100.11:3128
,kemudian beri tambahan pada squid.conf yaitu :
httpd_accel_port 80
httpd_accel_host virtual httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Karena di squid baru telah di build langsung untuk transparant, so… nggak usah
tambahin seperti diatas tersebut tetapi hanya tambahin kata transparant pada http_port.
Kemudian kita buat redirect pada iptables dari port 80 ke 3128 , contoh :
iptables -t nat -A PREROUTING -d ! 192.168.100.11 -i eth1 -p tcp -m tcp –dport
80 -j REDIRECT –to-ports 3128
10. Ok sekarang sudah semua di config sesuai kebutuhan tinggal jalankan squid anda
dengan command : [onez@ap-ciomas squid]# /etc/init.d/squid start Starting squid: .
[ OK ]
Proses setting squid pada linux CentOS telah berhasil.
C. Instalasi Squid Proxy Server pada OpenSUSE
Menjadikan OpenSUSE sebagai Proxy Server bisa dilakukan dengan melakukan
instalasi dan konfigurasi Squid. Squid sudah dibundel pada CD/DVD OpenSUSE, jadi
kita bisa langsung melakukan instalasi Squid tanpa perlu melakukan download paket.
Konfigurasi Squid dapat dilakukan dengan 2 cara, yaitu melakukan pengubahan secara
manual pada file konfigurasi squid (squid.conf) dengan text editor atau melakukan
pengubahan menggunakan webmin.
Teori ini akan menyampaikan cara konfigurasi Squid dengan Webmin, oleh karena itu
lakukan instalasi Webmin terlebih dahulu.
Setelah Webmin diinstall, ikuti langkah-langkah berikut :
1. Install Squid menggunakan YAST. Jika ingin menggunakan Konsole / Terminal,
kita bisa mengetikkan perintah yast -i squid.
2. Buka browser dan ketikkan alamat host webmin dan squid diinstall. Contoh : Jika
instalasi squid dan webmin dilakukan pada komputer server dengan IP Address
192.168.0.1, dengan port webmin adalah 10000 dan Webmin diaktifkan dalam
modus SSL, silakan ketikkan https://192.168.0.1:10000. Sesuaikan konfigurasi
tersebut dengan konfigurasi yang digunakan.
11. 3. Pada halaman login, masukkan user name dan password webmin yang sudah
disetup saat melakukan proses instalasi
4. Pada halaman Webmin, pilih bagian Server | Squid
5. Karena Squid baru diinstall, klik tombol Initialize Cache untuk melakukan
insialisasi cache yang akan digunakan oleh Squid.
6. Klik Return to Squid Index
7. Klik Ports and Networking. Disini kita akan menetukan port yang akan
digunakan. Default dari Squid adalah 3128. Saya biasa memakai port 8080.
Sesuaikan dengan port yang diinginkan (note : Jangan pakai port-port yang
dialokasikan untuk service lain, seperti port 80 untuk web, port 25 untuk SMTP,
port 110 untuk POP3 dan port sejenis lainnya). Kalau sudah diubah, klik Save dan
kembali ke halaman awal Squid.
8. Kita akan menambahkan cache. Klik Other Caches | Add Another Cache.
Pada Hostname, isikan IP Address, port gunakan port 8080 sedangkan untuk
ICP gunakan port default 3130. Klik disini untuk melihat screenshotnya. Tipe
Proxy ada 2 jenis, Parent dan Sibling. Cara kerjanya hampir sama. Yang
membedakan, jika kita menggunakan tipe Parent, Squid akan melakukan
proses request dari klien ke cache sendiri. Jika tidak ada, akan diambil dari
12. parent dan jika di proxy parent tidak ada juga, akan diambilkan dari web
langsung. Jika menggunakan tipe Sibling, request yang tidak ditemukan dari
Parent tidak akan diambilkan dari web. Tutorial ini menggunakan tipe proxy .
Parent.
Setelah selesai, klik Save dan kembali ke halaman utama
9. Klik Memory Usage. Disini kita bisa menentukan besar memori yang akan
digunakan oleh Proxy. Sebaiknya isi secara manual. Standarnya adalah N/3
dari memori yang tersedia. Jangan lupa tentukan dalam format MB, bukan KB
. Setelah selesai, klik Savedan kembali ke halaman utama Squid. Klik disini
untuk melihat screenshotnya.
10. Klik Access Control. Bagian ini akan menentukan batasan-batasan yang akan
diberlakukan pada Proxy. Bagian ini juga yang akan sering diupdate jika kita
melakukan penambahan pengaturan penggunaan proxy
11. Pertama-tama kita tentukan Client yang bisa melakukan akses ke Proxy. Pada
halaman Access Control, klik Create New ACL berdasarkan Client
Address.
12. Pada ACL Name, berikan nama ACL. Kemudian isikan From IP dan To IP
dengan range IP yang boleh mengakses proxy. Sesuaikan netmasknya. Failure
URL bisa diisi (opsional) dengan halaman web yang memberikan informasi
jika ACL ini tidak dipenuhi. Setelah selesai, klik Save. Berikut adalah
screenshotnya.
13. Tetap dihalaman Access Control, klik Add Proxy Restriction. Disini kita bisa
menentukan apakah suatu aturan membolehkan akses atau tidak terhadap
13. ACL yang sudah dibuat. Dalam hal ACL bolehinternet sesuai contoh, kita
akan memberikan akses Allow. Pilih ACL yang sudah dibuat, klik Allow dan
klik Save.
14. Agar ACL yang kita buat diproses lebih dahulu dibandingkan ACL
lainnya, pindahkan urutan ACL yang kita buat agar naik ke peringkat
atas. Hal ini bisa dilakukan dengan menekan tombol panah atas pada
ACL yang kita buat.
14. 15. Setelah selesai melakukan setting, kita bisa kembali ke halaman utama
Squid dan menjalankannya.
16. Setelah Squid dijalankan, kita dapat melakukan setting pada browser
klien agar bisa mengakses internet melalui Proxy dengan konfigurasi
sebagai berikut : Host : Alamat IP Proxy Server Port : Port sesuai
konfigurasi
17. Setting Proxy pada Linux OpenSuse telah berhasil
Hak akses WEB tertentu :
Berikut adalah potongan syntax pada setting proxy untuk memblok hak
akses situs tertentu :
Filtering Website : Memfilter website apa saja yang tidak boleh diakses oleh
pengguna. Sebelumnya harus dibuat dulu suatu dokumen yang berisikan
list-list url yang akan diblock.
misal : # vi /etc/squid/pornourl.txt
kemudian isikan dengan :
www.erotic.com
www.17tahun.com dll
Lalu berikan perintah squid pada file Squid.conf dengan perintah :acl
blokporno dstdomain “/etc/squid/pornourl.txt”
Filtering Keyword : Memfilter keyword yang dimasukkan oleh para
pengguna, misalkan pengguna memasukkan kata ’hot’ di google maka
Squid akan membloknya.
15. III. Alat dan Bahan
PC minimal Pentium MMX 16
Ram 32 Mb
Hardisk free space 500 Mb
SO Linux
IV. Langkah Kerja
1. Bacalah informasi tentang proxy pada linux, lengkapilah data-data anda tentang proxy
tersebut !
2. Coba intalasikanlah proxy linux diatas pada computer anda, ambil kesimpulan !
3. Buatlah proses instalasi proxy pada Linux generasi yang lain, seperti Mandrake dan Rethat!
V. Pembahasan
1. Instalasi proxy pada linux mandrake
a. Jika anda menggunakan Linux Mandrake 8.0, sebaiknya ethernet PC server
mengunakanalamat IP 192.168.0.1. PC workstation di LAN dapat menggunakan
IP statik keluarga192.168.0.x, atau automatis memperolehnya dari PC Server
melalui DHCP. DHCP di PCserver dapat di aktifkan secara automatis pada saat
mengaktifkan Internet ConnectionSharing, caranya Desktop Mandrake Control
Center Network & InternetConnection Sharing (sesudah itu tekan Next
beberapa kali, seperti di Windows). Perlu dicatat, sebetulnya pada saat
connection sharing di aktifkan, Linux Mandrake 8.0 juga akanmenjalankan
Network Address Translation (NAT) menggunakan software iptables.Dengan
aktifnya NAT, sebetulnya mekanisme proxy sudah berjalan. Kebaikan
NAT,maka PC workstation di LAN dapat langsung berhubungan ke Internet
tanpa perlumenset proxy server. Kira-kira mirip dengan mekanisme yang
dilakukan oleh Winroute(di Windows).
b. Bagi anda yang iseng & mencoba proxy menggunakan Squid (kalau di Windows
samadengan Wingate). Squid merupakan proxy server yang standar digunakan di
Linux,biasanya sudah terinstall pada saat kita install Linux Mandrake. Jika Squid
di aktifkandengan benar, workstation di LAN dapat mengakses ke Internet
dengan menset proxyserver pada alamat 192.168.0.1 port 3128. Untuk menset
16. Squid, secara sederhana dapatdilakukan melalui Webmin
(https://localhost:10000). Setelah memasukan user root &password-nya
Servers Squid Access Control Proxy Restriction. Ubah ACLuntuk All
dari Deny (tidak di ijinkan) menjadi Allow (di ijinkan). Maka semua
PCWorkstation di LAN dapat mengakses Internet dengan menggunakan Squid
sebagaiproxy server pada port 3218.
c. Pada titik ini, anda sudah dapat tersambung ke Internet & menshare akses ke
semua PC diLAN untuk browsing di Internet. Selanjutnya, kita akan membahas
cara memberikanservis e-mail ke user di LAN. Skenario yang dikembangkan
disini adalah, masing-masinguser mempunyai mailbox di Internet (dapat di
yahoo.com atau mailbox lainnya yangdapat di ambil menggunakan POP3 dari
jauh). PC Server Linux, akan mengambilkanmail masing-masing user & di
letakan di mailbox masing-masing sehingga user dapatmembaca e-mail masing-
masing secara lokal tanpa melalui Webmail & menghabiskanpulsa telkom.
Selanjutnya, semua e-mail yang akan dikirim ke Internet di antrikanterlebih dulu
di PC Server, untuk kemudian secara bersama-sama dikirimkan ke Internetpada
saat hubungan dengan Internet dilakukan. Dengan cara demikian PC
Serversebetulnya tidak perlu terhubung 24 jam ke Internet jika hanya
memberikan servis e-mailsaja. Jumlah user di Linux hanya dibatasi oleh
besarnya hardisk yang kita pasang diServer. Perlu dicatat, untuk e-mail antar
user pada PC server tidak perlu dilakukan ubungan melalui Internet tapi secara
langsung e-mail akan dikirim ke mailbox masing-masing user.
d. Setup user di Linux Mandrake 8.0 sangat dimudahkan oleh KDE (antara
lainmenggunakan Userdrake)melalui StartConfigurationOtherUserdrake.
Kita memasukkan nama, login & password dari user tsb, maka user tersebutakan
dibuatkan mailbox &folder oleh Linux Mandrake 8.0. Pada titik ini, antar user
diPC Server Linux Mandrake 8.0 dapat saling berkiriman e-mail tanpa perlu
tersambung keInternet. Untuk User yang ingin membaca e-mailnya di PC
Workstation di LAN (bukandi Server), dapat menset POP3 Server 192.168.0.1 &
SMTP Server 192.168.0.1, dimana192.168.0.1 adalah alamat IP PC Server Linux
Mandrake 8.0.
17. e. Langkah selanjutnya, kita perlu menset PC Server Linux Mandrake 8.0 agar
dapatmengirimkan e-mail ke Internet & menjadi relay e-mail bagi semua user di
PCWorkstation di LAN. Pada Linux Mandrake 8.0, default program mail
transport yangdigunakan adalah postfix. File konfigurasi postfix terletak di
/etc/postfix/main.cf. Hanyaada dua kalimat yang perlu di aktifkan pada file
konfigurasi ini, yaitu:
relayhost = smtp.indo.net.id
mynetworks = 192.168.0.0/24, 127.0.0.0/8
f. Tentunya e-mail akan tetap tersimpan di antrian Postfix sampai anda
mendial(menghubungkan) PC server tersebut ke Internet. Jika anda mempunyai
dedicated line(24 jam), maka cerita ini berhenti sampai di sini. Sayangnya,
sebagian besar bangsaIndonesia masih berkutat dengan teknik dial-up yang
murmer. Kita perlu sekali-sekalimendial ke Internet untuk mengambil &
membuang e-mail yang ada di antrian. KPPPadalah software di KDE untuk
mendial ke Internet.Melalui Start NetworkingRemote Access Internet
Dialer, maka KPPP akan di aktifkan. Pada bagian KPPPSetup kita dapat menset
nomor telepon ISP, modem, kecepatan modem dll.
g. Jika telah terhubung ke Internet melalui hubungan dial-up, e-mail yang ada di
antrian postfix dapat di paksa di buang ke Internet dengan perintah (melalui login
root): # postfix flush
2. Instalasi proxy pada linux redhat
File /etc/resolv.conf
Merupakan file yang berisi alamat domain atau alamat IP dari nameserver. File ini
diakses pertama kalinya oleh resolver pada saat mengajukan permintaan terhadap
domain. Berikut file resolv.conf yang telah diedit.
Isi file etc/resolv.conf
domain telkom.co.id # nama domain
search www.telkom.co.id # nama host + domain
18. nameserver 192.168.0.1 # IP address
Domain telkom.co.id merupakan nama domaian yang dikelola, dalam hal ini adalah
www.telkom.co.id Search www.tekom.co.id merupakan nama yang digunakan
sebagai default bila dalam melakukan permintaan me-resolve nama host gagal.
Nameserver 192.168.0.1 merupakan alamat IP Address dari DNS.
File /etc/named.conf
File named.conf yang berada pada direktori etc merupakan file utama yang pertama
kali dibaca oleh BIND pada saat BIND dijalankan. Pada file ini berisi keterangan
letak dan jenis file-file database yang dibutuhkan oleh BIND. Berikut konfigurasi
file resolv.conf:
// named.conf for Red Hat caching-nameserver
//
options {
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
19. inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone “.” IN {
type hint;
file “named.ca”;
};
zone “localdomain” IN {
type master;
file “localdomain.zone”;
allow-update { none; };
};
zone “localhost” IN {
type master;
file “localhost.zone”;
allow-update { none; };
};
zone “0.0.127.in-addr.arpa” IN {
type master;
file “named.local”;
allow-update { none; };
};
zone “0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa” IN {
type master;
file “named.ip6.local”;
allow-update { none; };
};
20. zone “255.in-addr.arpa” IN {
type master;
file “named.broadcast”;
allow-update { none; };
};
zone “0.in-addr.arpa” IN {
type master;
file “named.zero”;
allow-update { none; };
};
zone “telkom.co.id” {
type master;
file “db.ns.telkom.co.id”;
};
zone “0.168.192.in-addr.arpa”{
type master;
file “db.192.168.0.1″;
};
include “/etc/rndc.key”;
76,1 Bot
Block options, memberitahukan penggunaan direktori /var/named sebagai default
direktori untuk named (BIND). Sedangkan block zone berisi tag-tag yang digunakan
untuk menentukan server untuk sebuah domain atau subdomain tertentu dan file
zone yang berisi konfigurasi sebuah domain atau subdomain tertentu. Bila kita
bertujuan membuat zone file untuk pemetaan nama ke IP, gunakan nama domain
sebagai nama zona. Bila untuk membuat zone file pemetaan IP ke nama, gunakan
nama domain dengan sebagai berikut :
21. IP ke Nama untuk network 192.168.0, nama zone file ditulis 0.168.192.in-addr.arpa
IP ke Nama untuk network 127.0.0,nama zone file ditulis 0.0.127.in-addr.arpa
File /var/named/chroot/var/named
Direktori /var/named/chroot/var/named berisi file-file zona yang namanya
bersesuaian dengan tag file pada zone direktori /etc/named.conf. Secara default pada
saat instalasi BIND secara otomatis direktori /var terdapat direktori /named beserta
file-file named, seperti named.ca, named.local dan localhost.zone.
Untuk mengkonfigurasi master server diperlukan dua file lagi yang mana file
tersebut dicopy dari named.local dan diberi nama sesuai dengan file yang terdapat
dalam /etc/named.conf atau /etc/named.boot.
Direktori ini disebut sebagai file DNS resource record yang merupakan file database
yang dibuat sesuai kebutuhan. Hal-hal yang perlu diperhatikan pada file resource
record adalah :
SOA (Start Of Authority), record yang mengindikasi authority untuk zona yang
bersangkutan.
NS record adalah daftar nama server untuk zona yang bersangkutan.
Record lainnya: A, P, CNAME, MX, HINFO.
A, menerangkan / pemetaan dari nama ke alamat IP
P, pemetaan dari alamat IP ke nama domain
CNAME adalah nama alias.
MX, menyatakan Mail Excanger untuk menunjuk mail server yang menangani email
domain.
HINFO, memberikan keterangan tentang perangkat keras.
File /var/named/named.ca
Berisi informasi data yang berada dalam domain root, digunakan name server jika
ada resolver yang meminta nama domain di luar domain local.
File /var/named/named.local
named.local merupakan file untuk alamat loopback untuk alamat ke diri sendiri yang
bernomor IP 127.0.0.1.
22. $TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
Untuk membuat file zona untuk domain telkom.co.id dengan nama file
db.ns.telkom.co.id, file zona ini haruslah berisikan semua komputer yang ada dalam
domain telkom.co.id yang terhubung pada jaringan local. Untuk memperoleh file ini,
copy file named.local. kemudian simpan dengan nama file db.ns.telkom.co.id.
perintahnya : # cp named.local db.ns.telkom.co.id
Berikut isi file db.ns.telkom.co.id :
$TTL 86400
@ IN SOA telkom.co.id. root.telkom.co.id. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns1
ns1 IN A 192.168.0.1
www IN A 192.168.0.1
Penjelasan file db.ns.telkom.co.id sebagai berikut:
@ IN SOA telkom.co.id. root.telkom.co.id, mendefinisikan awal dari suatu zone file
dengan hostname www.telkom.co.id.
23. root.telkom.co.id, merupakan email pada DNS, yakni root@telkom.co.id
1997022700 ; Serial
Nomor seri dari zona file (datebase), format penulisan nomor seri tersebut dengan
format tanggal dimana setiap kali ada perubahan file database, maka dilakukan
perubahan tanggal. Format tanggal adalah YYMMDDhh (YY = tahun, MM = bulan,
DD = tanggal, dan hh = jam ). 1997022700 menyatakan tahun 1997, bulan 02,
tanggal 27, dan jam 00).
28800 ; Refresh
Selang waktu yang diperlukan oleh Secondary Name Server untuk memeriksa
perubahan zona file pada Primary Name Server.
14400 ; Retry
Mendeklarasikan berapa lama Secondary Name Server menunggu untuk mengulang
pengecekan terhadap Primary name server apabila Primary Name Server tidak
memberikan respon pada saat proses refresh.
3600000 ; Expire
Mendeklarasikan berapa lama zone file dipertahankan pada Secondary Name server
apabila Secondary Name Server tidak dapat melakukan zone refresh.
IN NS ns1
Mendeklarasikan nama server yang digunakan untuk mendeklarasikan
“Authoritative Name Server” yang mengelola suatu domain yakni ns1
www IN A 192.168.0.1
Name server dengan IP addres 192.168.1.1
Membuat file zona reverser-lookup untuk network 192.168.0.0 dengan nama
db.192.168.0.1. Untuk memperoleh file ini sama halnya dengan file
db.ns.telkom.co.id, dicopy dari file named.local dan kemudian dikonfigurasi sesuai
kebutuhan. perintahnya : # cp named.local db.192.168.0.1
Berikut konfigurasi file db.192.168.0.1
24. $TTL 86400
@ IN SOA telkom.co.id. root.telkom.co.id. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns1
1 IN PTR ns1.telkom.co.id.
Dengan file db.192.168.0.1 diatas, fungsinya adalah memetakan alamat IP ke nama
host. Cara ini sering juga disebut Reverse Domain Name Service.
1 IN PTR ns1.telkom.co.id
IP Address 1 (yang diambil dari angka terakhir IP Address 192.168.1.1) berfungsi
sebagai pemetaan IP Address ke nama host www.telkom.co.id (Hostname Server).
Menghentikan, menjalankan dan memeriksa dns
Setelah semua konfigurasi DNS primary sudah dilakukan, maka langkah selanjutnya
adalah mengetes apakah sudah benar atau belum server DNS tersebut adalah :
Mengaktifkan network dan BIND (named), dengan perintah :
#/etc/rc.d/init.d/network stop
Shutting down interface eth0: [ OK ]
Disabling IPv4 packet forwarding: [ OK ]
Pada contoh diatas, network dihentikan.Dengan demikian secara otomatis jaringan
(network) pada server linux juga dihentikan. Untuk menjalankan ketikkan perintah
seperti dibawah ini :
#/etc/rc.d/init.d/network start
Setting network parameters: [ OK ]
25. Bringing up interface lo: [ OK ]
Bringing up interface eth0: [ OK ]
Menghentikan BIND (named/daemons DNS) dengan file eksekusi
/etc/rc.d/init.d/layanan stop sedangkan menjalankan dengan perintah start
# /etc/rc.d/init.d/named stop
Shutting down named: [ OK ]
#/etc/rc.d/init.d/named start
Starting named: [ OK ]
Jika tampil tulisan OK, seperti terlihat diatas DNS sudah runing. Sekarang Anda
tinggal menjalankan perintah untuk testing berikut contohnya:
[root@localhost agung]# nslookup
> set type=SOA
> telkom.co.id
Server: 192.168.0.1
Address: 192.168.0.1#53
telkomsisfo.co.id
origin = telkom.co.id
mail addr = root.telkom.co.id
serial = 1997022700
refresh = 28800
retry = 14400
expire = 3600000
minimum = 86400
>
atau
[root@localhost syukrie]# dig telkom.co.id
26. ; <<>> DiG 9.2.4 <<>> telkom.co.id
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33053
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;telkomsisfo.co.id. IN A
;; AUTHORITY SECTION:
telkom.co.id. 86400 IN SOA telkom.co.id. root.telkom.co.id. 1997022700 28800
14400 3600000 86400
;; Query time: 110 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Tue May 8 11:07:36 2007
;; MSG SIZE rcvd: 76
[root@localhost agung]#