Berikut ini adalah tutorial Cara Install Bind9 Pada Debian atau Ubuntu Mengkonfigurasi server DNS untuk resolve nama domain atau alamat IP. BIND menggunakan port 53/TCP,UDP.

Pengertian BIND9 atau Berkeley Internet Name Domain Versi 9 adalah salah satu software yang biasa digunakan untuk membuat, membangun dan mengatur sebuah DNS (Domain Name Server) pada sistem operasi Linux.

berbeda dengan Tutorial kami sebelumnya yang berjudul Cara Install BIND Named DNS Server CentOS, berikut ini adalah langkah-langkahnya

[alert type=”info” icon-size=”big”]Instalasi Paket Bind9[/alert]

apt-get install bind9 bind9utils dnsutils -y

[alert type=”info” icon-size=”big”]Konfigurasi Bind9[/alert]
buka file /etc/bind/named.conf

vim /etc/bind/named.conf

lalu isi file tersebut seperti ini

include "/etc/bind/rndc.key";
controls {
        inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};

options {
    /* make named use port 53 for the source of all queries, to allow
         * firewalls to block all ports except 53:
         */

    // query-source    port 53;
    
    recursion no;

    /* We no longer enable this by default as the dns posion exploit
        has forced many providers to open up their firewalls a bit */

    // Put files that named is allowed to write in the data/ directory:
    directory                "/var/named"; // the default
    pid-file                 "/var/run/named/named.pid";
    dump-file                "data/cache_dump.db";
    statistics-file          "data/named_stats.txt";
   /* memstatistics-file     "data/named_mem_stats.txt"; */
    allow-transfer    { "none"; };
};

logging {
        channel default_log {
                file "/var/log/named/named.log" versions 5 size 128M;
                print-time yes;
                print-severity yes;
                print-category yes;
                severity warning;
        };
        category default { default_log; };
        category general { default_log; };
};

// All BIND 9 zones are in a "view", which allow different zones to be served
// to different types of client addresses, and for options to be set for groups
// of zones.
//
// By default, if named.conf contains no "view" clauses, all zones are in the
// "default" view, which matches all clients.
//
// If named.conf contains any "view" clause, then all zones MUST be in a view;
// so it is recommended to start off using views to avoid having to restructure
// your configuration files in the future.

view "localhost_resolver" {
/* This view sets up named to be a localhost resolver ( caching only nameserver ).
 * If all you want is a caching-only nameserver, then you need only define this view:
 */
    match-clients         { 127.0.0.0/24; };
    match-destinations    { localhost; };
    recursion yes;

    zone "." IN {
        type hint;
        file "/var/named/named.ca";
    };

    /* these are zones that contain definitions for all the localhost
     * names and addresses, as recommended in RFC1912 - these names should
     * ONLY be served to localhost clients:
     */
    include "/var/named/named.rfc1912.zones";
};

view "internal" {
/* This view will contain zones you want to serve only to "internal" clients
   that connect via your directly attached LAN interfaces - "localnets" .
 */
    match-clients        { localnets; };
    match-destinations    { localnets; };
    recursion yes;

    zone "." IN {
        type hint;
        file "/var/named/named.ca";
    };
    // include "/var/named/named.rfc1912.zones";
    // you should not serve your rfc1912 names to non-localhost clients.

    // These are your "authoritative" internal zones, and would probably
    // also be included in the "localhost_resolver" view above :



zone "gemaroprek.com" {
        type master;
        file "gemaroprek.net.db";
};

};


view    "external" {
/* This view will contain zones you want to serve only to "external" clients
 * that have addresses that are not on your directly attached LAN interface subnets:
 */
    recursion no;
    additional-from-cache no;
    // you'd probably want to deny recursion to external clients, so you don't
    // end up providing free DNS service to all takers

    // all views must contain the root hints zone:
    zone "." IN {
        type hint;
       file "/var/named/named.ca";
    };

    // These are your "authoritative" external zones, and would probably
    // contain entries for just your web and mail servers:

    // BEGIN external zone entries


zone "gemaroprek.com" {
        type master;
        file "gemaroprek.com.db";
};


};

[alert type=”info” icon-size=”big”]Limit ip yang terkoneksi ke server Bind9[/alert]

vim /etc/bind/named.conf.options

lalu edit seperti dibawah ini

options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
//       0.0.0.0;
// };
# query range you allow
allow-query { localhost; 10.0.0.0/24; };
# the range to transfer zone files
allow-transfer { localhost; 10.0.0.0/24; };
# recursion range you allow
allow-recursion { localhost; 10.0.0.0/24; };
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
# change if not use IPV6
listen-on-v6 { none; };
};

[alert type=”info” icon-size=”big”]buat lokal zone /etc/bind/gemaroprek.db[/alert]

$TTL 14400
gemaroprek.com.      86400   IN      SOA     ns1.gemaroprek.com.        servernya.arielfx.com.  (
                                                2016100810 ;Serial Number
                                                3600 ;refresh
                                                7200 ;retry
                                                1209600 ;expire
                                                86400 ;minimum
        )
gemaroprek.com.      86400   IN      NS      ns1.gemaroprek.com.
gemaroprek.com.      86400   IN      NS      ns2.gemaroprek.com.
gemaroprek.com.      14400   IN      A       192.168.2.1
gemaroprek.com.      14400   IN      MX      10      mail.gemaroprek.com.
mail    14400   IN      A       192.168.2.1
www     14400   IN      A       192.168.2.1
ftp     14400   IN      A       192.168.2.1
server  14400   IN      A       192.168.2.1
ns1     14400   IN      A       192.168.2.1
ns2     14400   IN      A       192.168.2.2

Selamat Ngoprek 🙂