Kusprayitna Blogs

Hidup untuk berbagi ilmu :: IT Linux Windows Database Oracle PHP OpenSource

Membuat DNS Server Dengan BIND di Centos

Posted by kusprayitna on November 20th, 2008

Kalau waktu sebelumnya sudah pernah melakukan instalasi DNS server untuk diintegrasikan dengan CPanel, maka kali ini akan dibuat DNS server untuk intranet dengan menggunakan centos. Instalasi server centos masih seperti dahulu memakai DVD installer dari download di cpanel.
Tahapanyang dilakukan yaitu :

  1. Install BIND

    # yum install bindΒ  caching-nameserver

  2. Konfigurasi BIND
    File konfigurasi adalah "/etc/named.conf", akan tetapi file ini belum ada, yang ada adalah "/etc/named.caching-nameserver.conf". Untuk itu file tersebut dijadikan dasar membuat file named.conf.Isi defaultnya yaitu :

    //
    // named.caching-nameserver.conf
    //
    // Provided by Red Hat caching-nameserver package to configure the
    // ISC BIND named(8) DNS server as a caching only nameserver
    // (as a localhost DNS resolver only).
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    // DO NOT EDIT THIS FILE - use system-config-bind or an editor
    // to create named.conf - edits to this file will be lost on
    // caching-nameserver package upgrade.
    //
    options {
            listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
    
            // Those options should be used carefully because they disable port
            // randomization
            // query-source    port 53;
            // query-source-v6 port 53;
    
            allow-query     { localhost; };
    };
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    view localhost_resolver {
            match-clients      { localhost; };
            match-destinations { localhost; };
            recursion yes;
            include "/etc/named.rfc1912.zones";
    };
  3. Edit konfigurasi default agar :
    a. DNS server dapat di query dari IP server 192.168.200.200 tidak hanya localhost
    b. IPV6 dimatikan
    c. Default port tetap 53
    d. Dapat membedakan intranet dan internet
    e. Yang dimaksud LAN intranet yaitu LAn dengan network 192.168.200.0/24 dan 192.168.100.0/24
    f. buat zone untuk uii.ac.id

    //
    // named.caching-nameserver.conf
    //
    // Provided by Red Hat caching-nameserver package to configure the
    // ISC BIND named(8) DNS server as a caching only nameserver
    // (as a localhost DNS resolver only).
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    // DO NOT EDIT THIS FILE - use system-config-bind or an editor
    // to create named.conf - edits to this file will be lost on
    // caching-nameserver package upgrade.
    //
    options {
            listen-on port 53 { 127.0.0.1;192.168.200.200; };
    #       listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
    
            // Those options should be used carefully because they disable port
            // randomization
            // query-source    port 53;
            // query-source-v6 port 53;
    
            allow-query     { any; };
    };
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    
    #view localhost_resolver {
    #       match-clients      { localhost; };
    #       match-destinations { localhost; };
    #       recursion yes;
    #       include "/etc/named.rfc1912.zones";
    #};
    
    // Bagian intranet
    view "internal" {
            match-clients {
                    localhost;
                    192.168.200.0/24;
                    192.168.100.0/24;
            };
            match-destinations {
                    localhost;
                    192.168.200.0/24;
                    192.168.100.0/24;
            };
            recursion yes;
            zone "." IN {
                    type hint;
                    file "/var/named/named.ca";
            };
    
            zone "uii.ac.id" {
                    type master;
                    file "/etc/named/uii.ac.id.lan";
            };
    };
    
    // bagian internet
    
    view "external" {
            match-clients {
                    any;
            };
            recursion no;
            zone "." IN {
                    type hint;
                    file "/var/named/named.ca";
            };
    
            zone "uii.ac.id" {
                    type master;
                    file "/etc/named/uii.ac.id.wan";
            };
    };
    include "/etc/rndc.key";
  4. Membuat Zone
    Pada contoh konfigurasi diatas sudah ditambahkan zone uii.ac.id, dimana untuk intranet dan internet dibedakan menjadi 2 buah file , yaitu "/etc/named/uii.ac.id.lan" dan untuk internet yaitu "/etc/named/uii.ac.id.wan"

    Isi file uii.ac.id.lan yaitu :

    $TTL    86400
    @       IN      SOA             localhost. prayitna.yahoo.com(
                    2008111914      ;Serial
                    3600            ;Refresh
                    1800            ;Retry
                    604800          ;Expire
                    86400           ;Minimum TTL
    )
    uii.ac.id.      86400           IN      NS      localhost.
    uii.ac.id.      86400           IN      A       192.168.200.1
    uii.ac.id.      14400           IN      MX 10   mail.uii.ac.id.
    www             14400           IN      CNAME   uii.ac.id.
    unisys          14400           IN      CNAME   uii.ac.id.
    itsupport       14400           IN      A       192.168.200.2
    klasiber        14400           IN      A       192.168.200.3

    Isi file uii.ac.id.wan yaitu :

    $TTL    86400
    @       IN      SOA     svr1.uii.ac.id. prayitna.yahoo.com(
                    2008111914      ;Serial
                    3600            ;Refresh
                    1800            ;Retry
                    604800          ;Expire
                    86400           ;Minimum TTL
    )
    uii.ac.id.      86400           IN      NS      svr1.uii.ac.id.
    uii.ac.id.      86400           IN      A       202.162.37.69
    uii.ac.id.      14400           IN      MX 10   mail.uii.ac.id.
    www             14400           IN      A       202.162.37.164
    unisys          14400           IN      A       202.162.37.69
  5. Start DNS server

    # service named start

  6. Buat otomatis start saat booting

    # chkconfig --level 235 named on

  7. Setup DNS client di komputer clientuntuk linux :

    # vi /etc/resorlv.conf
    nameserver 192.168.200.200

    untuk windows:
    tanbahkan property DNS server di network konfigurasi

  8. Ujicoba dengan ping www.uii.ac.id

Semoga bermanfaat

29 Responses to “Membuat DNS Server Dengan BIND di Centos”

  1. oche Says:

    kang, saya mau tau cara save file klw kita edit pake "vi" gmna caranya ya???

    mkasih πŸ˜€

  2. kusprayitna Says:

    perintah dasar di vi yang dapat dimanfaatkan antara lain :
    1. insert --> mode mengetik --> tekan tombol [ins] atau i atau o
    2. keluar mode insert --> mode membaca --> tekan [esc]
    3. save --> simpan data (dari mode baca)
    a. :w --> simpan normal
    b. :w! --> jika file atributnya read only
    4. keluar/selesai --> keluar dari vi
    a. :q --> keluar tanpa ada perubahan
    b. :q! --> keluar dengan mengabaikan perubahan
    5. simpan dan keluar --> :wq

    untuk lebih enaknya bisa dimanfaatkan "nano" untuk editornya.

    Semoga dapat membantu

  3. andi Says:

    maaf mas boleh nanya?
    saya punya akses internet dg indosat IM2. saya punya 2 laptop di rumah.
    saya pernak dengar kalo kita bisa dapat internetan dengan menjadikan salah satunya sbg server. apa bener demikian
    and gimana caranya ya.
    kita masih awam nih ..............
    tolong ya
    thank u

  4. kusprayitna Says:

    Salam mas andi

    saya barusan posting artikel berikut
    http://kusprayitna.staff.uii.ac.id/2009/06/10/menghubungkan-dua-banyak-komputer-dengan-wifi-tanpa-akses-point/

    semoga dapat membantu anda.

    Terimakasih

  5. Charles Says:

    #
    Wavatar oche INDONESIA Windows XP Mozilla Firefox 3.0.5 said,

    on January 14th, 2009 at 11:20 pm

    kang, saya mau tau cara save file klw kita edit pake β€œvi” gmna caranya ya???

    mkasih πŸ˜€

    kalo aku di centos ku under text kalo edit pake :wq itu mah langsung simpan langsung keluar.

  6. kusprayitna Says:

    salam kemabali
    pakai :w untuk write dan terus edit
    pakai :q untuk keluar
    dan :wq untuk write dan keluar

    Semoga membantu

  7. waluyo Says:

    Artikelnya bagus dan bermanfaat bagi newbie seperti saya, Apakah ini bisa diaplikasikan di distro lain atau *BSD, mohon pencerahannya dan bimbingannya, terima kasih

  8. kusprayitna Says:

    Untuk distro lain saya belum mencobanya, setahu saya pada prinsipnya sama, yaitu pada seting BIND, tetapi bisa jadi pada perintah lain seperti service, chkconfig bisa berbeda.
    Selamat mencoba

  9. ranto Says:

    thanks atas artikelnya, saya mau tanya mengenai domain name. Saya sudah mempunyai demain yang di hostingkan dengan nama abc.com misalnya. ini saya gunakan utk host website dan email. selama ini email saya ambil dengan model pull. Nah yang mau saya tanyakan utk domain name lokalnya sebaiknya sama (abc.com) atau saya bikin beda misalnya abc.net. agar tidak menggangu domain lokal dan domain internet. Terima kasih atas jawabannya

  10. kusprayitna Says:

    Salam Ranto
    Ini kalau saran saya, sebaiknya menggunakan domain yang berbeda jika konten dari website di domain lokal dan internet bisa berbeda.
    Misalnya website intranet biasanya lebih cepat berubah isinya dan jumlahnya sedangkan internet ada pembatasan/filtering konten, maka ini bagi user akan lebih enak dalam memilih tujuan server untuk update.
    Akan tetapi apabila server di internet dan lokal isinya sama dan memang setiap saat akan diusahakan sama terus, maka sebaiknya DNSnya disamakan, dengan alasan akan berfungsi sebagai loadbalancing antara beban server internet dan lokal.
    Makasih, semoga membantu

  11. afiq Says:

    Salam kenal kang prayitna πŸ™‚
    Thanks dengan tutorialnya..
    Saya lagi cari2 tutorial tentang DNS, udah coba tanya om google tapi masih bungung juga. Semoga kang Prayitna mau membantu.. πŸ™‚
    Gini kang..

    Saya punya server ubuntu yg sudah terinstall (proxy, captive portal,bandwidth management). Saya ingin tambah DNS di server tersebut, tapi masih bingung mengimplementasikan.
    Sebenarnya maksud dari DNS intranet dan internet gimana ya kang? Apa keuntungan dari penggunaan DNS?
    Mohon bantuannya, kang πŸ™‚ link untuk belajar boleh.

    Thanks sebelumnya..

  12. ledre Says:

    Iya nih. saya juga masih bingung masalah DNS, saya punya ip publik 4 biji yang rencananya saya mau buat web server dan email. tapi server tersebut rencananya masuk dalam jaringan local beda subnet (pake ip privat trus di forward ke ip publik) Nah yang bingung, apa DNS pake ip private trus di forward ke ip publik, atau ip publik saja atau ip private saja. Bingung deh, Oya semua service dijalankan lewat 1 mesin saja. Mohon saran dan bantuannya, Mas

  13. kusprayitna Says:

    Salam
    @afiq
    DNS atau domain name server intinya adalah berisi database penerjemahan nama domain internet menjadi alamat IP. Dimana tujuan adanya DNS ini adalah untuk mempermudah user/orang dalam membuka alamat internet (yaitu IP ex:202.162.36.164) menjadi nama yang mudah/umum dikenal (misal : uii.ac.id).
    Penamaan yang mudah berarti bukan bebas tak terbatas, tetapi ada aturan seperti klasifikasi, misalnya domain internasional /Top domain dikenal COM, ORG, NET dan EDU. Untuk mempermudah dalam pengelompokan di suatu negara dikenal Country Domain, misalnya ID untuk indonesia, MY untuk malaysia dan SG untuk singapura.

    DNS sepengetahuan saya ada dua jenis, yaitu :
    - DNS server , yaitu yang menyediakan database nama atau providernya, misalnya di Indonesia country domain yang dikelola oleh pandi (https://register.pandi.or.id/).
    - DNS cache server, yaitu DNS yang berfungsi sebagai mesin cache saja, dimana setiap record domain yang ada di internet di salin di DNS cache server ini. Tujuan DNS cache yaitu mempercepat akses (dalam mencari/menerjemahkan nama) dan dapat mengurangi bandwidth juga serta dapat berfungsi spt load balancing (jika DNS server mati, data di DNS cache server tidak hilang).
    Untuk itu biasanya DNS cache server ini di setiap ISP atau kantor membuatknya juga dan umumnya bisa diakses melalui intranet.

    Implementasi DNS umumnya ada 2 seperti saja jelaskan diatas:
    1. untuk ISP umumnya menyediakan DNS server (untuk customer yang ingin mendaftarkan nama websitenya melalui ISP) dan DNS cache server juga untuk ...sda ...
    2. untuk kantor (spt tempat saya), DNS cache server ada sehingga dari intranet pun bisa mengetahui keberadaan suatu website (misal detik.com) melalui ping detik.com

    @ledre
    Kalau ada 1 mesin akan diinstall
    - Mail
    - Web
    dengan harapan bisa diakses dari internet dan intranet maka saran saya:
    1. Server ada 2 Lancard, misal IP live dan IP intra
    2. DNS server mestinya tidak menjadi masalah, bisa ikut ISP saja maksud saya.
    3. Untuk akses dari lokal/intranet:
    a. Jika akses lewat internet/browser, anda bisa install SQUID sehingga DNS tidak diperlukan. Untuk akses ke IP intra dan konversi penamaannya anda bisa manfaatkan file /etc/hosts
    b. Jika anda ingin akses satu alamat dengan bisa otomatis memilih IP live atau IP intra, misalnya uii.ac.id jika diakses dari 192.* akan direct ke IP intra selain dari IP 192.* akses melalui IP live, maka anda memerlukan DNS server dan DNS cache server (bisa dijadikan satu saja), dimana anda bisa mendifinisikan seperti diatas.

    4. Mana kira2 yang cepat dan mudah? Menurut saya pakai SQUID lebih cepat dan mudah, sebab domain web/mail di suatu perusahaan tidak lebih dari 100 biji, ini lebih efisian ditangani oleh squd.

    Semoga dapat membantu, jika ada yang kurang/salah minta maaf.
    Makasih

  14. afiq Says:

    Thanks, atas pencerahannya kang prayitna πŸ™‚
    Mau tanya lagi nich..
    Misal, kalo server saya ada 3 ethernet:
    1. eth0 --> internet (192.168.0.2)
    2. eth1 --> LAN (192.168.1.1)
    3. eth2 --> Hotspot (192.168.2.1)

    saya sudah berhasil install DNS dengan konfigurasi eth1(LAN). Gimana caranya agar network Hotspot(eth2) bisa menggunakan DNS tersebut?
    Soalnya, kalo client network Hotspot(eth2) DNS-nya saya arahkan ke (eth2) ga bisa konek, bisanya pakai DNS modem ADSL baru bisa konek.
    Mohon pencerahannya supaya kedua network tersebut bisa menggunakan local DNS.

    Thanks πŸ™‚

  15. kusprayitna Says:

    Salam afiq
    Silahkan anda buka konfigurasi DNS anda seperti pada artikel disini, anda dapat melihat opsi DNS server lintening di IP yang mana. Misalnya

    options {
    listen-on port 53 { 127.0.0.1;192.168.200.200; };

    Maka anda dapat menambahkan alamat eth2 ataupun yang lain dibelakangnya.

    Semoga sukses

  16. fadli Says:

    bosss...totorial yg PDF ada nggak ...???

  17. afiq Says:

    @ kang prayitna
    Thanks atas pencerahannya kang prayitna πŸ™‚
    Saya sudah tambahkan :
    options {
    listening-on port 53 {127.0.0.1; 192.168.1.1; 192.168.2.1; };
    untuk LAN sudah berhasil konek internet, tapi untuk Hotspot masih belum bisa konek kalo DNS client saya arahkan ke 192.168.2.1 (eth2). Apakah karena saya pakai coovachilli untuk captive portal yg saya pasang di eth2 tersebut? Mohon pencerahannya kang prayitna πŸ™‚
    Satu lagi kang, bedanya antara "listen-on" dan "allow-query" apa ya?

    Maklum masih newbie kang, mohon pencerahan dari kang prayitna πŸ™‚
    Thanks

  18. kusprayitna Says:

    Salam afiq
    Coba cek apakah managemen hotspot anda memblok port 53:udp ?
    Listen-on artinya mendengarkan atau aktif daemon pada IP yang mana
    allow-query artinya menentukan siapa saja yang bisa melakukan query
    Makasih

  19. afiq Says:

    saya cek pakai iptraf, untuk udp aktif kang..
    Bingung nich..
    Apakah lebih baiknya untuk gateway dan DNS beda server ya?

  20. yayat Says:

    http://juliussteve.wordpress.com/2009/03/18/membuat-dns-server-dengan-bind-di-centos/

    isinya sama.

  21. Jemn Says:

    salam saya nak tanya jika saya hendak menggunakan DNS saya sebagai DNS public, dan menggunakan Dynamic IPADDRESS ADSL/Streamyx apa peluh saya set dalam DNS supaya boleh saya access DNS server saya ini?

  22. kusprayitna Says:

    Salam Jemn
    Saya belum tahu maksud anda menggunakan "Dynamic IPADDRESS ADSL/Streamyx" (maafkan atas kebodohan saya).
    Akan tetapi, dalam DNS Server untuk keamanan server ada option siapa saja yang boleh melakukan akses. Sebagai default semua boleh akses/query, silahkan perhatikan baris opsi berikut :
    allow-query { any; };

    Untuk membatasi siapa saja yang boleh akses tinggal merubah baris tersebut.
    Makasih

  23. nanang Says:

    dear kang kus
    terimakasih saya sudah berhasil bikin dns server dengan bind yang ada di tutorial ini....
    server saya nanangganteng.co.id (192.168.1.100)
    di server semua berjalan... termasuk buka apalikasi web juga jalan.
    tapi di client ping ke nanangganteng.co.id tidak bisa.
    client pake windows, dan setting networknya sudah saya tambahkan ipserver (192.168.1.100).
    kira2 masalahnya dimana kang?
    makasih atas pencerahannya

  24. Dani Says:

    Dear kang kus,

    Kang mau nanya dikit, kalau untuk koneksi VPN apakah DNS ini dapat membantu meningkatkan kecepatan aksesnya? Saya sering menggunakan koneksi internet menggunakan VPN Tunneling, bagaimana cara meningkatkan performa kecepatan aksesnya?
    Mohon pencerahannya kang....

    Terima kasih sebelumnya.

  25. Rendy Says:

    Kang, mau tanya2 nih, japri kalo boleh

  26. hariansyah Says:

    boleh tany ga ya
    kalau saya mau pakai DNS nya ISP gmn setingannya ya

  27. andy Says:

    aku pernah liat ada ns1.domain.com - ns4.domain.com
    cara bikinnya gimana ya?
    kadang ada yang ipnya beda2 ada ada ns1.domain.com - ns2.domain.com ipnya sama.

    cara bikinnya gimana ya?

  28. rapani Says:

    mas salam kenl
    saya baru kenal dengan namanya centos,,, dan baru instal di PC
    sekarang saya mau tanya giamana caranya agar web yang ada dicentos dapat online / apat dibuka dari mana saja.. klo ada tutorialnya mohon dikirim ke email saya mas : rapani_loebis@yahoo.com

  29. ramadhan Says:

    kang, ini settingan buat local donk kn y ?
    jadi misalnya saya ketik "coba.com" itu bisa ke resolv g ?

    mohon pencerahannya

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>