Apa itu BIND9 ?
BIND (Berkeley Internet Name Domain) adalah software DNS open source, fleksibel, dan berfitur lengkap yang banyak digunakan di Unix/Linux karena stabilitas dan kualitasnya yang tinggi. Ini awalnya dikembangkan oleh UC Berkeley, dan kemudian pada tahun 1994, pengembangannya dipindahkan ke Internet Systems Consortium, Inc (ISC).
BIND dapat bertindak sebagai server DNS authoritative dan DNS recursor/resolver pada saat yang bersamaan. Namun, mengambil dua peran sekaligus tidak menguntungkan. Namun, ini bukan best practices DNS server sebaiknya DNS server recursor/resolver dipisah dengan authoritative agar load server tetap terjaga.
Instalasi
Pastikan login menggunakan root dan akses menggunakan SSH
1 2 3 4 5 | [root@iaasweb ~]# yum -y update [root@iaasweb ~]# yum -y install bind bind-tools net-tools [root@iaasweb ~]# named -v BIND 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.10 (Extended Support Version) <id:7107deb> [root@iaasweb ~]# systemctl start named && systemctl enable named |
Konfigurasi berikutnya ada di named.conf saya akan memberikan komentar pada baris berikut ini
- listen-on port 53 { 127.0.0.1; };
- listen-on-v6 port 53 { ::1; };
Memastikan recursion nonaktif
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@iaasweb ~]# nano /etc/named.conf options { // listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; ... .. .. recursion no; allow-query { localhost; 10.177.10.0/27;}; allow-transfer { none; } querylog yes; [root@iaasweb ~]# firewall-cmd --permanent --add-port=53/udp success [root@iaasweb ~]# firewall-cmd --reload [root@iaasweb ~]# systemctl restart named [root@iaasweb ~]# named-checkconf |
Konfigurasi
Setiap domain dapat memiliki lebih dari satu zone record, kali ini saya akan mendemokan dengan satu domain saja iaas.cloud.local pada file named.conf bagian paling bawah dan menyalin dummy konfigurasi named
- iaas.cloud.local = forward zone
- 10.177.10.in-addr.arpa = reverse zone
1 2 3 4 5 6 7 8 9 | zone "iaas.cloud.local" { type master; file "/var/named/named.iaas.cloud.local"; }; zone "10.177.10.in-addr.arpa" { type master; file "/var/named/10.177.10.in-addr.arpa"; }; |
Konfigurasi forward zone
ketika melakukan perubahan pada zone silahkan tambahkan serial (increment +1), misal sebelum di edit serial zone masih di angka 2022112010, maka setelah di edit wajib diganti menjadi 2022112011
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [root@iaasweb ~]# cp /var/named/named.empty /var/named/named.iaas.cloud.local [root@iaasweb ~]# nano /var/named/named.iaas.cloud.local $TTL 3H @ IN SOA @ webmaster.iaas.cloud.local. ( 2022112010 ; serial 3H ; refresh 1H ; retry 1W ; expire 3H ) ; minimum ; NS Record, CNAME Record, A Record, MX Record @ IN A 10.177.10.14 www IN CNAME iaas.cloud.local. mail IN CNAME iaas.cloud.local. ftp IN A 10.177.10.14 dns1 IN A 10.177.10.14 dns2 IN A 10.177.10.14 @ IN NS dns1.iaas.cloud.local. @ IN NS dns2.iaas.cloud.local. @ IN MX 10 iaas.cloud.local. @ IN TXT "v=spf1 ip4:10.177.10.14 include:_spf.google.com ~all" [root@iaasweb ~]# sudo chown root:named /var/named/named.iaas.cloud.local [root@iaasweb ~]# systemctl restart named [root@iaasweb ~]# named-checkzone iaas.cloud.local /var/named/named.iaas.cloud.local zone iaas.cloud.local/IN: loaded serial 2022112010 OK |
Konfigurasi reverse zone
ketika melakukan perubahan pada zone silahkan tambahkan serial (increment +1), misal sebelum di edit serial zone masih di angka 2022112010, maka setelah di edit wajib diganti menjadi 2022112011
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [root@iaasweb ~]# cp /var/named/named.empty /var/named/10.177.10.in-addr.arpa [root@iaasweb ~]# nano /var/named/10.177.10.in-addr.arpa $TTL 3H @ IN SOA @ webmaster.iaas.cloud.local. ( 2022112010 ; serial 3H ; refresh 1H ; retry 1W ; expire 3H ) ; minimum ; Reverse zone @ IN NS dns1.iaas.cloud.local. @ IN NS dns2.iaas.cloud.local. dns1 IN A 10.177.10.14 dns2 IN A 10.177.10.14 14 IN PTR iaas.cloud.local. [root@iaasweb ~]# systemctl restart named [root@iaasweb ~]# systemctl restart named [root@iaasweb ~]# named-checkzone iaas.cloud.local /var/named/10.177.10.in-addr.arpa zone iaas.cloud.local/IN: loaded serial 2022112010 OK |
Dig
Dig adalah sebuah utilitas untuk meminta data lengkap sebuah domain
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [root@iaasweb ~]# dig any iaas.cloud.local @10.177.10.14 ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.10 <<>> any iaas.cloud.local @10.177.10.14 ;; global options: +cmd ;; Got answer: ;; WARNING: .local is reserved for Multicast DNS ;; You are currently testing what happens when an mDNS query is leaked to DNS ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30010 ;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 4 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;iaas.cloud.local. IN ANY ;; ANSWER SECTION: iaas.cloud.local. 10800 IN MX 10 iaas.cloud.local. iaas.cloud.local. 10800 IN TXT "v=spf1 ip4:10.177.10.14 include:_spf.google.com ~all" iaas.cloud.local. 10800 IN SOA iaas.cloud.local. webmaster.iaas.cloud.local. 1 10800 3600 604800 10800 iaas.cloud.local. 10800 IN NS dns1.iaas.cloud.local. iaas.cloud.local. 10800 IN NS dns2.iaas.cloud.local. iaas.cloud.local. 10800 IN A 10.177.10.14 ;; ADDITIONAL SECTION: iaas.cloud.local. 10800 IN A 10.177.10.14 dns1.iaas.cloud.local. 10800 IN A 10.177.10.14 dns2.iaas.cloud.local. 10800 IN A 10.177.10.14 ;; Query time: 0 msec ;; SERVER: 10.177.10.14#53(10.177.10.14) ;; WHEN: Fri Nov 25 20:36:19 WIB 2022 ;; MSG SIZE rcvd: 274 |
Nslookup
Nslookup berfungsi untuk melihat nama domain menjadi alamat IP atau sebaliknya
1 2 3 4 5 6 | [root@iaasweb ~]# nslookup iaas.cloud.local Server: 10.177.10.14 Address: 10.177.10.14#53 Name: iaas.cloud.local Address: 10.177.10.14 |