Konfigurasi Dual Stack DNS Debian/Ubuntu Server

DNS Server

Konfigurasi dual stack DNS? Yaitu DNS server yang bisa melayani/menjawab query IPv4 dan/atau IPv6 sekaligus. Misalkan kita akan query domain google.com maka nanti akan muncul IPv4 dan IPv6 seperti ini

root@dns:~# nslookup google.com
Server:		1.1.1.1
Address:	1.1.1.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.194.102
Name:	google.com
Address: 172.217.194.100
Name:	google.com
Address: 172.217.194.138
Name:	google.com
Address: 172.217.194.101
Name:	google.com
Address: 172.217.194.113
Name:	google.com
Address: 172.217.194.139
Name:	google.com
Address: 2404:6800:4003:c11::65
Name:	google.com
Address: 2404:6800:4003:c11::64
Name:	google.com
Address: 2404:6800:4003:c11::66
Name:	google.com
Address: 2404:6800:4003:c11::8b

Kebutuhan

Kali ini saya menggunakan Debian server. Berikut informasi detailnya:

  • OS Debian 11 (Untuk penggunaan Ubuntu seharusnya sama saja karena basenya sama-sama Debian :D)
  • IPv4: 192.168.80.58
  • IPv6: fc02:12ad:f281:2001::6/64
  • Domain: richi.web.id
  • Server hostname: dns.richi.web.id

Sebelum melanjutkan ke proses konfigurasi pastikan terlebih dahulu server sudah dikonfigurasi dasar (minimal network dan hostname) dan pastikan juga server terkoneksi ke internet.

Konfigurasi

1. Install paket yang dibutuhkan

Jalankan perintah berikut untuk menginstall paket-paket yang dibutuhkan untuk konfigurasi DNS Server

apt update && apt upgrade
apt install bind9 bind9utils
2. Tambah Domain Zone dan Reverse Zone

Tambah zone dengan cara buka dan edit file /etc/bind/named.conf.local

vi /etc/bind/named.conf.local

Edit file tersebut dan tambahkan konfigurasi seperti di bawah ini,

zone "richi.web.id" {
   type master;
   file "/etc/bind/db.richi.web.id";
};

zone "80.168.192.in-addr.arpa" {
   type master;
   file "/etc/bind/db.reverse.4";
};

zone "1.0.0.2.1.8.2.f.d.a.2.1.2.0.c.f.ip6.arpa." {
   type master;
   file "/etc/bind/db.reverse.6";
};

Domain dan IP reverse menyesuaikan

Untuk membuat IPv6 reverse bisa menggunakan IPv6 arpa generator tool online. Bisa di klik disini untuk salah satu contohnya. Tinggal copy paste saja IPv6 beserta prefixnya kemudian klik generate dan IPv6 arpanya akan otomatis terbuat.

3. Konfigurasi Forwarders dan Allow Query

Buka dan edit file /etc/bind/named.conf.options

vi /etc/bind/named.conf.options

Selanjutnya ubah pada bagian forwarders dan dnssec-validation setelah itu tambahkan line allow-query seperti berikut,

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 {
                1.1.1.1;
                8.8.8.8;
        };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation no;

        allow-query { any; };

        listen-on-v6 { any; };
};
6. Buat Database Zone

Database ini nanti yang akan menyimpan record-record DNS dari Zone yang ditambahkan tadi. Untuk membuat database copy dan rename saja database default agar lebih mudah.

cd /etc/bind
cp db.local db.richi.web.id
cp db.127 db.reverse.4
cp db.127 db.reverse.6

Selanjutnya konfigurasi setiap zonenya

Konfigurasi zone domain

Buka file /etc/bind/db.richi.web.id

vi /etc/bind/db.richi.web.id

Kemudian edit dan tambahkan konfigurasi seperti berikut ini,

@       IN      SOA     dns.richi.web.id. root.richi.web.id. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      dns.richi.web.id.
@       IN      A       192.168.80.58
@       IN      AAAA    fc02:12ad:f281:2001::6
dns     IN      A       192.168.80.58
dns     IN      AAAA    fc02:12ad:f281:2001::6

IPv4 menggunakan A records dan untuk IPv6 menggunakan AAAA records

Konfigurasi reverse IPv4

Buka file /etc/bind/db.reverse.4

vi /etc/bind/db.reverse.4

Sesuaikan menjadi seperti konfugurasi di bawah ini,

$TTL	604800
@	IN	SOA	dns.richi.web.id. root.richi.web.id. (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	dns.richi.web.id.
58	IN	PTR	richi.web.id.
58	IN	PTR	dns.richi.web.id.
Konfigurasi reverse IPv6

Buka file /etc/bind/db.reverse.6

vi /etc/bind/db.reverse.6

Setelah itu edit menjadi seperti konfigurasi berikut,

$TTL	604800
@	IN	SOA	dns.richi.web.id. root.richi.web.id. (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	dns.richi.web.id.
6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0		IN	PTR	richi.web.id.
6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0		IN	PTR	dns.richi.web.id.
7. Restart bind

Restart service bind9 untuk menerapkan konfigurasi.

service bind9 restart

Testing

Arahkan nameserver pada file /etc/resolv.conf ke IP server itu sendiri

nameserver 192.168.80.58
nameserver fc02:12ad:f281:2001::6
search richi.web.id

Setelah itu mulai testing. Jika berhasil maka akan keluar hasil seperti berikut ini,

$ nslookup richi.web.id
Server:		192.168.80.58
Address:	192.168.80.58#53

Name:	richi.web.id
Address: 192.168.80.58
Name:	richi.web.id
Address: fc02:12ad:f281:2001::6

root@pmg:/etc/bind#
$ nslookup dns.richi.web.id
Server:		192.168.80.58
Address:	192.168.80.58#53

Name:	dns.richi.web.id
Address: 192.168.80.58
Name:	dns.richi.web.id
Address: fc02:12ad:f281:2001::6
$ nslookup 192.168.80.58
58.80.168.192.in-addr.arpa	name = dns.richi.web.id.
58.80.168.192.in-addr.arpa	name = richi.web.id.
nslookup fc02:12ad:f281:2001::6
6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.2.1.8.2.f.d.a.2.1.2.0.c.f.ip6.arpa	name = dns.richi.web.id.
6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.2.1.8.2.f.d.a.2.1.2.0.c.f.ip6.arpa	name = richi.web.id.

Selesai.

asdasdasdasasdasdsdasd asdasdasd

One comment

Leave a Reply

Your email address will not be published.