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