bayu – slackware

Blog Slackware-nya bayu

Slackware : setup DNS Server dengan dnsmasq

Posted by bayuart pada 22 Agustus 2007

mas boer, maaf ya sebelumnya, bukan maksud menggurui.
gini, mas kalo install paket aplikasi di linux, kalo bisa pake bawaan distro tsb, jika dari distro tsb belum ada pakete, baru deh ngompile sendiri. hal begini sebenere cuman untuk mempermudah penelusuran dan administrasi paket yang terisntal biar lebih gampang aja kok.

untuk paket dns server, di slack (bawaan default slackware) ada 2 jenis paket standar, nama;e

-bind
-dnsmasq

dari kedua paket tsb, yang paling gampang dikonfigurasi adalah dnsmasq, untuk cara penginstalannya secara garis besar seperti ini

DNSMASQ setup

# installpkg dnsmasq-*.tgz

Sementara itu, file-file yang berpengaruh untuk konfigurasi dnsmasq adalah:

* /etc/dnsmasq.conf : file konfigurasi utama
* /etc/resolv.conf : file berisi alamat IP DNS server utama. Jika dnsmasq hidup, file ini harus berisi

nameserver 127.0.0.1

* /etc/resolv.conf.dnsmasq : file berisi alamat IP upstream DNS server, misal:

nameserver 192.168.0.254

* /etc/hosts : file berisi pemetaan nama domain ke IP

untuk start dan stop nya

/etc/rc.d/ec.dnsmasq start/stop/status

Konfigurasi DNSMASQ sebagai caching NS

Untuk mengoperasikan dnsmasq sebagai caching dnsserver, yang perlu anda lakukan hanya:

1. Pastikan /etc/resolv.conf berisi alamat IP DNS server yang betul (sediaan provider atau gateway), misal

nameserver 192.168.0.254

2. Hidupkan service dnsmasq. Secara otomatis dnsmasq akan menyalin alamat yang ada di /etc/resolv.conf ke /etc/resolv.conf.dnsmasq, lalu mengganti /etc/resolv.conf jadi 127.0.0.1.

Dengan demikian, cara kerja konfigurasi ini adalah:

* Saat suatu aplikasi menanyakan name domain, sistem akan bertanya ke dnsmasq dulu (lewat alamat 127.0.0.1).
* dnsmasq akan bertanya ke upstream server (alamat 192.168.0.254), bila dapat akan diingat masuk cache.
* dnsmasq mengembalikan jawaban yang didapat ke sistem, dan diteruskan ke aplikasi.
* Jika ada aplikasi bertanya lagi, maka dnsmasq akan mencarinya di cache. Bila ada maka langsung dijawab, namun kelau belum ada, maka tanya dulu ke upstream server.

STANDALONE DNS SERVER
Konfigurasi ini bisa dipakai pada sistem LAN tertutup, dimana dnsmasq dipasang pada sebuah server.

[client]——[server (dnsmasq)]

Dengan cara ini, anda bisa memberi nama seluruh client dengan nama domain tak resmi. Untuk itu, tinggal edit file /etc/hosts, misalnya sebagai berikut:

# /etc/hosts
# file ini biasanya dipakai untuk resolve nama dns statik lokal
# bila dnsmasq hidup, file ini menjadi database nama hosts yang dipublish
#
# format penulisan
# ALAMAT_IP NAMA_DOMAIN …. NAMA_PENDEK …

# entry ini harus ada, menandakal localhost
127.0.0.1 localhost

# ini entry si SERVER sendiri
192.168.0.254 server.kampus.lan server

# ini entry beberapa CLIENT
192.168.0.1 pc01.kampus.lan pc01
192.168.0.2 pc02.kampus.lan pc02
192.168.0.3 pc03.kampus.lan pc03
192.168.0.4 pc04.kampus.lan pc04

# server www, mail dan ftp satu komputer
192.168.0.250 http://www.kampus.lan mail.kampus.lan http://ftp.kampus.lan www mail ftp

Bila file /etc/hosts sudah siap, mengoperasikan dnsmasq sebagai standalone dnsserver hanya perlu:

1. Pastikan /etc/resolv.conf berisi

nameserver 127.0.0.1

2. Hidupkan service dnsmasq.

Sudah. Cukup sederhana kan ? (coba bandingkan kalau pakai bind).

Untuk memanfaatkan dns server LAN ini, setiap komputer client (termasuk WIndows) tinggal mengisi dnsserver ke 192.168.0.254 pada setting TCP/IP-nya. Selanjutnya setiap client bisa memakai nama domain (misal http://www.kampus.lan) untuk mengakses komputer lain. Seandainya tidak ada dns server lokal ini, setiap client harus memiliki file /etc/hosts sendiri-sendiri.

DOWNSTREAM DNS SERVER
Konfigurasi ini bisa dipakai pada sistem LAN yang tersambung ke Internet melalui gateway (cocok buat Warnet). Dnsmasq terpasang pada gateway sebagai berikut:

[client]——[gateway (dnsmasq)]——{provider(dns server)}

Perhatikan bahwa konfigurasi ini mirip dengan konfigurasi stand alone, hanya saja kini ada sambungan Internet. Setelah diset dengan benar, dnsmasq akan sanggup menjawab nama domain resmi (misal http://www.google.com) yang diambil dari upstream server (provider) dan juga nama domain tak resmi dari /etc/hosts. Untuk itu silahkan edit /etc/hosts seperti telah dijelaskan sebelumnya, lalu:

1. Edit file /etc/dnsmasq.conf, pastikan bahwa dnsmasq HANYA melayani LAN internal saja. Ini penting ! Kalau tidak, nanti komputer luar dari Internet bisa bertanya ke si gateway, dan akan mendapat jawaban nama domain tak resmi yang menyesatkan.

# If you want dnsmasq to listen for requests only on specified interfaces
# (and the loopback) give the name of the interface (eg eth0) here.
# Repeat the line for more than one interface.
#interface=
# Or you can specify which interface _not_ to listen on
#except-interface=
# Or which to listen on by address (remember to include 127.0.0.1 if
# you use this.)

# Ubah ini
listen-address=127.0.0.1 192.168.0.254

2. Pastikan /etc/resolv.conf berisi alamat domain si upstream server

nameserver 123.123.123.123

3. Hidupkan service dnsmasq.

Selamat memanfaatkan.

bersambung ke Slackware : setup DNS Server dengan BIND

4 Tanggapan to “Slackware : setup DNS Server dengan dnsmasq”

  1. boerz said

    iya,,gpp digurui juga…namanya juga bljr ^^…
    makasih byk tutorialnya ^^… kepake banget…
    yupz setuju bgt… “setup DNS Server dengan BIND”…. ^^

  2. boerz said

    ada masah yg saya temuin saat bikin DNSMASQ ini..

    root@slack12:/etc/dnsmasq.d# /etc/rc.d/rc.dnsmasq start
    Starting dnsmasq: /usr/sbin/dnsmasq
    dnsmasq: failed to create listening socket: Address already in use

    truz saya jalanin killall dnsmasq, baru bisa jalan

    root@slack12:/etc/dnsmasq.d# killall dnsmasq
    root@slack12:/etc/dnsmasq.d# /etc/rc.d/rc.dnsmasq start Starting dnsmasq: /usr/sbin/dnsmasq
    root@slack12:/etc/dnsmasq.d#

    tapi di /etc/resolv.conf, ga berubah jadi 127.0.0.1. lalu ga da file /etc/resolv.conf.dnsmasq

    apa ngaruh saat saya bikin DHCP sebelumnya?? truz gimana cara penanggulangannya… mohon bantuannya dan trima kasih… ^^

  3. abek said

    kang bayu, ini punya q kok gak bisa
    root@smpn1kesamben-gw:~# /etc/rc.d/rc.dnsmasq restart
    dnsmasq: no process killed
    Starting dnsmasq: /usr/sbin/dnsmasq
    dnsmasq: failed to create listening socket: Address already in use
    root@smpn1kesamben-gw:~# killall dnsmasq
    dnsmasq: no process killed

    trs kira2 apanya

    bayu:
    dnsmasq: no process killed <– gak ada proses yang mo dimatikan (restart = matikan trus hidupkan)

    dnsmasq: failed to create listening socket: Address already in use <– eror pas memulai dnsmasq, socket / port yang akan digunakan dnsmasq gak bisa di buka, soale port yang dimaksud udah ada yang pake. cek lagi aja service apa yang udah kepake buat dnsmasq itu

    kliatane lek instalan default tu port udah kepake sama bind, bind salah satu aplikasi dns server
    jadi solusinya, matikan dulu aja bind nya. bisa lewat perintah
    /etc/rc.d/rc.bind stop
    dan kalo mo di set aktif terus cara gampang adalah di set melalui menu pkgtool masuk ke bagian services. kalo mo manual tinggal chmod aja ke mode 644

  4. rinovan said

    mw numpang tanya.. knapa modemku gk bisa direset..sudah ditekan lama tombol resetnya tetap aja. Modemnya prolink. thnx

    bayu :

    kalo reset agak lamaan mas (minimal 1 menit)
    kalo tetep gak bisa, jangan2 tu emang modem nya
    perlu ganti

Tinggalkan komentar