Difference between revisions of "BIND: Konfigurasi sebagai private DNS"
Onnowpurbo (talk | contribs)  | 
				Onnowpurbo (talk | contribs)   | 
				||
| Line 118: | Line 118: | ||
  host2.nyc3.example.com.        IN      A      10.128.200.102  |   host2.nyc3.example.com.        IN      A      10.128.200.102  | ||
| + | ==Buat Reverse Zone File==  | ||
| − | + | Buat dan edit  | |
| − | |||
| − | |||
| − | |||
| − | |||
     cd /etc/bind/zones  |      cd /etc/bind/zones  | ||
     sudo cp ../db.127 ./db.10.128  |      sudo cp ../db.127 ./db.10.128  | ||
| − | |||
| − | |||
| − | |||
     sudo vi /etc/bind/zones/db.10.128  |      sudo vi /etc/bind/zones/db.10.128  | ||
| − | + | Awalnya akan berisi kira-kira  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + |  $TTL    604800  | |
| − | + |  @       IN      SOA     localhost. root.localhost. (  | |
| + |                                1         ; Serial  | ||
| + |                           604800         ; Refresh  | ||
| + |                            86400         ; Retry  | ||
| + |                          2419200         ; Expire  | ||
| + |                           604800 )       ; Negative Cache TTL  | ||
| + |  ;  | ||
| + |  @       IN      NS      localhost.      ; delete this line  | ||
| + |  1.0.0   IN      PTR     localhost.      ; delete this line  | ||
| − | + | Ubah menjadi kira-kira,  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + |  $TTL    604800  | |
| + |  @       IN      SOA     nyc3.example.com. admin.nyc3.example.com. (  | ||
| + |                                3         ; Serial  | ||
| + |                           604800         ; Refresh  | ||
| + |                            86400         ; Retry  | ||
| + |                          2419200         ; Expire  | ||
| + |                           604800 )       ; Negative Cache TTL  | ||
| + |  ; name servers  | ||
| + |        IN      NS      ns1.nyc3.example.com.  | ||
| + |        IN      NS      ns2.nyc3.example.com.  | ||
| + | |||
| + |  ; PTR Records  | ||
| + |  11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11  | ||
| + |  12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12  | ||
| + |  101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101  | ||
| + |  102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102  | ||
| − | + | ==Cek Syntax Konfigurasi BIND  | |
| − | |||
| − | + | Jalankan perintah  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + |   sudo named-checkconf  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Cek zone tertentu  | |
| − | + |  sudo named-checkzone nyc3.example.com db.nyc3.example.com  | |
| + |  sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128  | ||
| − | + | Pastikan tidak ada error  | |
| − | + | ==Restart BIND==  | |
| − | + | Restart  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | Restart   | ||
| − | |||
| − | |||
     sudo service bind9 restart  |      sudo service bind9 restart  | ||
| − | + | ==Konfigurasi Secondary DNS Server==  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Lakukan ini di mesin Secondary DNS Server  | |
| − | + | Edit  | |
| − | |||
| − | + |   sudo vi /etc/bind/named.conf.options  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Tambahkan  | |
| − | |||
| − | + |  acl "trusted" {  | |
| − | + |          10.128.10.11;   # ns1  | |
| − | + |          10.128.20.12;   # ns2 - can be set to localhost  | |
| − | + |          10.128.100.101;  # host1  | |
| + |          10.128.200.102;  # host2  | ||
| + |  };  | ||
| − | + | Tambahkan  | |
| − | |||
| − | |||
| − | |||
| − | + |  recursion yes;  | |
| + |  allow-recursion { trusted; };  | ||
| + |  listen-on { 10.128.20.12; };      # ns2 private IP address  | ||
| + |  allow-transfer { none; };          # disable zone transfers by default  | ||
| + | |||
| + |  forwarders {  | ||
| + |       8.8.8.8;  | ||
| + |       8.8.4.4;  | ||
| + |  };  | ||
| − | + | Edit named.conf.local  | |
| − | + |  sudo vi /etc/bind/named.conf.local  | |
| − | + | Buat slave zone,  | |
| − | |||
| − | zone "nyc3.example.com" {  | + |  zone "nyc3.example.com" {  | 
| − | + |      type slave;  | |
| − | + |      file "slaves/db.nyc3.example.com";  | |
| − | + |      masters { 10.128.10.11; };  # ns1 private IP  | |
| − | };  | + |  };  | 
| + | |||
| + |  zone "128.10.in-addr.arpa" {  | ||
| + |      type slave;  | ||
| + |      file "slaves/db.10.128";  | ||
| + |      masters { 10.128.10.11; };  # ns1 private IP  | ||
| + |  };  | ||
| − | + | Cek   | |
| − | |||
| − | |||
| − | |||
| − | |||
Now save and exit named.conf.local.  | Now save and exit named.conf.local.  | ||
| − | + |  sudo named-checkconf  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Restart  | |
| − | + |  sudo service bind9 restart  | |
| − | + | ==Konfigurasi DNS Client==  | |
| − | |||
| − | + | Edit head file  | |
| − | + |  sudo vi /etc/resolvconf/resolv.conf.d/head  | |
| − | + | Tambahkan  | |
| − | |||
| − | search nyc3.example.com  # your private domain  | + |  search nyc3.example.com  # your private domain  | 
| − | nameserver 10.128.10.11  # ns1 private IP address  | + |  nameserver 10.128.10.11  # ns1 private IP address  | 
| − | nameserver 10.128.20.12  # ns2 private IP address  | + |  nameserver 10.128.20.12  # ns2 private IP address  | 
| − | + | Jalankan  | |
| − | |||
| − | + |  sudo resolvconf -u  | |
| − | |||
| − | + | ==Test Client==  | |
| − | + | Test forward  | |
| − | + |  nslookup host1  | |
| − | + | Akan keluar  | |
| − | |||
| − | |||
| − | Name:   host1.nyc3.example.com  | + |  Output:  | 
| − | Address: 10.128.100.101  | + |  Server:     10.128.10.11  | 
| + |  Address:    10.128.10.11#53  | ||
| + | |||
| + |  Name:   host1.nyc3.example.com  | ||
| + |  Address: 10.128.100.101  | ||
| − | + | Test reverse  | |
| − | + |  nslookup 10.128.100.101  | |
| − | + | Akan keluar  | |
| − | + |  Output:  | |
| + |  Server:     10.128.10.11  | ||
| + |  Address:    10.128.10.11#53  | ||
| + | |||
| + |  11.10.128.10.in-addr.arpa   name = host1.nyc3.example.com.  | ||
| − | + | ==Maintain DNS Record==  | |
| − | |||
| − | |||
| − | + | Menambahkan Host ke DNS, tambahkan ke Primary NameServer,  | |
| − | + | * Forward zone file: Add an "A" record for the new host, increment the value of "Serial"  | |
| + | * Reverse zone file: Add a "PTR" record for the new host, increment the value of "Serial"  | ||
| + | * Add your new host's private IP address to the "trusted" ACL (named.conf.options)  | ||
| − | + | Reload BIND:  | |
| − | |||
| − | + |  sudo service bind9 reload  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Secondary Nameserver  | Secondary Nameserver  | ||
| Line 371: | Line 293: | ||
     Add your new host's private IP address to the "trusted" ACL (named.conf.options)  |      Add your new host's private IP address to the "trusted" ACL (named.conf.options)  | ||
| − | + | Reload BIND:  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + |  sudo service bind9 reload  | |
| − | + | Konfigurasi Client  | |
| − | |||
| − | + | * Configure resolv.conf to use your DNS servers  | |
| + | * Test using nslookup  | ||
| − | |||
| + | ==Pranala Menarik==  | ||
| + | * [[BIND]]  | ||
==Referensi==  | ==Referensi==  | ||
* https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-14-04  | * https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-14-04  | ||
Revision as of 09:54, 10 October 2018
Install BIND
install BIND
sudo su apt update apt install bind9 bind9utils bind9-doc
Setup hanya untuk IPv4 (-4) jika dibutuhkan
vi /etc/default/bind9
Tambahkan (-4)
OPTIONS="-4 -u bind"
Konfigurasi Primary DNS Server
Edit
sudo vi /etc/bind/named.conf.options
Jika dibutuhkan kita bisa menambahkan trusted client
acl "trusted" {
        10.128.10.11;    # ns1 - can be set to localhost
        10.128.20.12;    # ns2
        10.128.100.101;  # host1
        10.128.200.102;  # host2
};
Ubah ns1 IP address yang benar, misalnya,
options {
        directory "/var/cache/bind";
        recursion yes;                 # enables resursive queries
        allow-recursion { trusted; };  # allows recursive queries from "trusted" clients
        listen-on { 10.128.10.11; };   # ns1 private IP address - listen on private network only
        allow-transfer { none; };      # disable zone transfers by default
        forwarders {
                8.8.8.8;
                8.8.4.4;
         };
...
};
Konfigurasi Local File
Edit
sudo vi /etc/bind/named.conf.local
Di file ini kita bisa tambahkan forward dan revese zone dari sebuah domain, contoh
zone "nyc3.example.com" {
    type master;
    file "/etc/bind/zones/db.nyc3.example.com"; # zone file path
    allow-transfer { 10.128.20.12; };         # ns2 private IP address - secondary
};
Asumsi private subnet 10.128.0.0/16, reverse zone- adalah,
zone "128.10.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.10.128";  # 10.128.0.0/16 subnet
    allow-transfer { 10.128.20.12; };  # ns2 private IP address - secondary
};
Buat Forward Zone File
Buat dan edit
sudo mkdir /etc/bind/zones cd /etc/bind/zones sudo cp ../db.local ./db.nyc3.example.com sudo vi /etc/bind/zones/db.nyc3.example.com
Isi awalnya kira-kira
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.      ; delete this line
@       IN      A       127.0.0.1       ; delete this line
@       IN      AAAA    ::1             ; delete this line
Dapat kita ubah menjadi, misalnya,
$TTL    604800
@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                  3       ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
; name servers - NS records
     IN      NS      ns1.nyc3.example.com.
     IN      NS      ns2.nyc3.example.com. 
; name servers - A records
ns1.nyc3.example.com.          IN      A       10.128.10.11
ns2.nyc3.example.com.          IN      A       10.128.20.12
; 10.128.0.0/16 - A records
host1.nyc3.example.com.        IN      A      10.128.100.101
host2.nyc3.example.com.        IN      A      10.128.200.102
Buat Reverse Zone File
Buat dan edit
cd /etc/bind/zones sudo cp ../db.127 ./db.10.128 sudo vi /etc/bind/zones/db.10.128
Awalnya akan berisi kira-kira
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.      ; delete this line
1.0.0   IN      PTR     localhost.      ; delete this line
Ubah menjadi kira-kira,
$TTL    604800
@       IN      SOA     nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
; name servers
      IN      NS      ns1.nyc3.example.com.
      IN      NS      ns2.nyc3.example.com.
; PTR Records
11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11
12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12
101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101
102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102
==Cek Syntax Konfigurasi BIND
Jalankan perintah
sudo named-checkconf
Cek zone tertentu
sudo named-checkzone nyc3.example.com db.nyc3.example.com sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
Pastikan tidak ada error
Restart BIND
Restart
sudo service bind9 restart
Konfigurasi Secondary DNS Server
Lakukan ini di mesin Secondary DNS Server
Edit
sudo vi /etc/bind/named.conf.options
Tambahkan
acl "trusted" {
        10.128.10.11;   # ns1
        10.128.20.12;   # ns2 - can be set to localhost
        10.128.100.101;  # host1
        10.128.200.102;  # host2
};
Tambahkan
recursion yes;
allow-recursion { trusted; };
listen-on { 10.128.20.12; };      # ns2 private IP address
allow-transfer { none; };          # disable zone transfers by default
forwarders {
     8.8.8.8;
     8.8.4.4;
};
Edit named.conf.local
sudo vi /etc/bind/named.conf.local
Buat slave zone,
zone "nyc3.example.com" {
    type slave;
    file "slaves/db.nyc3.example.com";
    masters { 10.128.10.11; };  # ns1 private IP
};
zone "128.10.in-addr.arpa" {
    type slave;
    file "slaves/db.10.128";
    masters { 10.128.10.11; };  # ns1 private IP
};
Cek
Now save and exit named.conf.local.
sudo named-checkconf
Restart
sudo service bind9 restart
Konfigurasi DNS Client
Edit head file
sudo vi /etc/resolvconf/resolv.conf.d/head
Tambahkan
search nyc3.example.com # your private domain nameserver 10.128.10.11 # ns1 private IP address nameserver 10.128.20.12 # ns2 private IP address
Jalankan
sudo resolvconf -u
Test Client
Test forward
nslookup host1
Akan keluar
Output: Server: 10.128.10.11 Address: 10.128.10.11#53 Name: host1.nyc3.example.com Address: 10.128.100.101
Test reverse
nslookup 10.128.100.101
Akan keluar
Output: Server: 10.128.10.11 Address: 10.128.10.11#53 11.10.128.10.in-addr.arpa name = host1.nyc3.example.com.
Maintain DNS Record
Menambahkan Host ke DNS, tambahkan ke Primary NameServer,
- Forward zone file: Add an "A" record for the new host, increment the value of "Serial"
 - Reverse zone file: Add a "PTR" record for the new host, increment the value of "Serial"
 - Add your new host's private IP address to the "trusted" ACL (named.conf.options)
 
Reload BIND:
sudo service bind9 reload
Secondary Nameserver
Add your new host's private IP address to the "trusted" ACL (named.conf.options)
Reload BIND:
sudo service bind9 reload
Konfigurasi Client
- Configure resolv.conf to use your DNS servers
 - Test using nslookup