Menu Utama

Login

Nama Samaran:

Kata Laluan:

Lupa Kata Laluan?
Daftar Sekarang!

Carian

Mambang News : Tingkatkan kelajuan browsing menggunakan local DNS caching
Dihantar oleh oshiri on 2008/3/20 11:18:59 (252 bacaan) News by the same author

Kadangkala DNS server yang dibekalkan oleh ISP tak begitu reliable atau mengambil masa yang agak lama untuk translate domain name ke ip.
Keadaan ini boleh jadi bottleneck kepada web browser sewaktu melayari internet.

Ada pelbagai cara untuk kita membina local DNS caching seperti menggunakan bind dan sebagainya. Tetapi untuk setup bind bagi pengguna biasa agak memeningkan.

Kerana itu, pengguna Debian dan Debian based ada option untuk menggunakan dnsmasq. Portal ini ada menyentuh sedikit berkaitan dnsmasq dalam tutorial.

Kembali pada local DNS caching.
Apa yang perlu dilakukan ialah install dnsmasq.

# apt-get install dnsmasq


Kemudian edit file /etc/dnsmasq.conf dan tambah baris berikut di bahagian atas sekalii:
listen-address=127.0.0.1


File /etc/resolv.conf juga perlu diubah dengan meletakkan nameserver 127.0.0.1 pada bahagian atas sekali.
Contoh:
nameserver 127.0.0.1
nameserver 202.188.1.5
nameserver 202.188.0.133
nameserver 208.67.220.220


Kemudian start service dnsmasq:
# /etc/init.d/dnsmasq start

atau start tiap kali boot:
# update-rc.d dnsmasq defaults


Kita gunakan dig untuk menguji keberkesanan local DNs caching.

Tanpa dnsmasq:
# dig google.com

; <<>> DiG 9.3.4 <<>> google.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16415
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             188     IN      A       64.233.167.99
google.com.             188     IN      A       72.14.207.99
google.com.             188     IN      A       64.233.187.99

;; AUTHORITY SECTION:
google.com.             102215  IN      NS      ns3.google.com.
google.com.             102215  IN      NS      ns1.google.com.
google.com.             102215  IN      NS      ns4.google.com.
google.com.             102215  IN      NS      ns2.google.com.

;; ADDITIONAL SECTION:
ns3.google.com.         274499  IN      A       216.239.36.10
ns4.google.com.         274507  IN      A       216.239.38.10
ns1.google.com.         274522  IN      A       216.239.32.10
ns2.google.com.         274489  IN      A       216.239.34.10

;; Query time: 919 msec
;; SERVER: 202.188.1.5#53(202.188.1.5)
;; WHEN: Thu Mar 20 10:38:03 2008
;; MSG SIZE  rcvd: 212


Dengan dnsmasq buat kali pertama:
# dig google.com

; <<>> DiG 9.3.4 <<>> google.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12206
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             167     IN      A       72.14.207.99
google.com.             167     IN      A       64.233.187.99
google.com.             167     IN      A       64.233.167.99

;; Query time: 136 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Mar 20 11:01:30 2008
;; MSG SIZE  rcvd: 76


Dengan dnsmasq buat kali ke dua:
# dig google.com

; <<>> DiG 9.3.4 <<>> google.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19014
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             164     IN      A       64.233.167.99
google.com.             164     IN      A       64.233.187.99
google.com.             164     IN      A       72.14.207.99

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Mar 20 11:01:33 2008
;; MSG SIZE  rcvd: 76


Sila perhatikan perbezaan bahagian Query time. Query kali kedua untuk dns menggunakan dnsmasq hampir-hampir instantenously kerana telah berada dalam local cache.

Jika anda menggunakan dhcp server pada router atau lain lain, anda perlu ubah configurasi dhcpclient anda supaya file resolv.conf tidak diubah oleh dhcp client.
Contoh untuk dhcp3 client. edit file /etc/dhcp3/dhclient.conf :
prepend domain-name-servers 127.0.0.1, 202.188.0.133, 202.188.1.5, 208.67.222.222, 208.67.220.220;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;


* Bahagian prepend domain-name-servers memadai jika anda menggunakan 127.0.0.1 sahaja.
Aku sengaja menggunakan 127.0.0.1 dan ip dns server ISP serta ip dns server opendns.

* Perlu di ingatkan bahawa dnsmasq bukanlah content caching seperti squid, tetapi cuma dns caching.

* dns yang berada dalam cache bukanlah permanent. Jika anda inginkan permanent caching, pdnsd adalah pilihan terbaik.

Sila cuba dan nikmati hasilnya.

Printer Friendly Page Send this Story to a Friend
Komen ini dimiliki oleh pengirim. Kami tidak bertanggungjawab dengan isi kandungannya.
Pengirim Thread