# data[].attributes.body
cd  /etc/bind/

nano  /etc/bind/named.conf.options

nano  /etc/bind/named.conf.local

cp  /etc/bind/db.local  /etc/bind/forward.mbi.org

nano /etc/bind/forward.mbi.org

cp  /etc/bind/forward.mbi.org  /etc/bind/reverse.mbi.org

nano /etc/bind/reverse.mbi.org

named-checkconf  -z  /etc/bind/named.conf.local

named-checkzone  forward  /etc/bind/forward.mbi.org

named-checkzone  reverse  /etc/bind/reverse.mbi.org

systemctl  enable  bind9

systemctl  stop  bind9

systemctl  start  bind9

systemctl  status  bind9

dig  -t  any  ns.mbi.org

dig  -t  any  www1.mbi.org

dig  -t  any  www2.mbi.org

ping  www1.mbi.org

ping  www1.mbi.org

-----------------------------------------------------

root@ubuntu:/etc/bind# more named.conf.options

options {

directory         "/var/cache/bind";

listen-on port 53 { localhost; 192.168.1.0/24; };  # ns1 private IP address - listen

on private network only

allow-query       { localhost; 192.168.1.0/24; };  #

# forwarders      { 8.8.8.8; 8.8.4.4; 192.168.1.21; };

forwarders        { 8.8.8.8; 8.8.4.4; };

recursion          yes;       # enables resursive queries

dnssec-validation  auto;      #

auth-nxdomain      no;        # conform to RFC1035

listen-on-v6       { any; };  #

};

---------------------------------------------------------------------------------------------------------------------

root@ubuntu:/etc/bind# more named.conf.local

# FORWARD ZONE

zone "mbi.org" IN {                         # DOMAIN NAME

type    master;                         # PRIMARY DNS

file    "/etc/bind/forward.mbi.org";    # FORWARD LOOKUP FILE

# allow-update  { none; };              # Since this is the primary DNS, it should be no

ne.

};

# REVERSE ZONE

zone "1.168.192.in-addr.arpa" IN {          # REVERSE LOOKUP NAME, should match your network

in reverse order

type    master;                         # PRIMARY DNS

file    "/etc/bind/reverse.mbi.org";    # REVERSE LOOKUP FILE

# allow-update  { none; };              # Since this is the primary DNS, it should be no

ne.

};

---------------------------------------------------------------------------------------------------------------------

root@ubuntu:/etc/bind# more forward.mbi.org

$TTL    604800

@  IN  SOA  ns.mbi.org.   root.mbi.org. (

2019080802    ; Serial

604800    ; Refresh

86400    ; Retry

2419200    ; Expire

604800    ; Negative Cache TTL

)

@          IN   NS      ns.mbi.org.

@          IN   A       192.168.1.21

;mbi.org.  IN   MX  10  mail.mbi.org.

ns         IN   A       192.168.1.21

www1       IN   A       192.168.1.21

www2       IN   A       192.168.1.21

;@       IN    AAAA    ::1

------------------------------------------------------------------------------------------------------------------------

root@ubuntu:/etc/bind# more reverse.mbi.org

$TTL    604800

@  IN  SOA  mbi.org.   root.mbi.org. (

2019080802   ; Serial

604800   ; Refresh

86400   ; Retry

2419200   ; Expire

604800   ; Negative Cache TTL

)

@    IN      A      192.168.1.21

@    IN      NS     ns.mbi.org.

; PTR Records

21   IN      PTR       ns.mbi.org.

21   IN   PTR     www1.mbi.org.

21   IN   PTR     www2.mbi.org.

;@    IN    AAAA    ::1

---------------------------------------------------------------------------------------------------------------------

##########################################################################

PRIVATE DOMAIN NAME SYSTEM

BIND â€“ Domain Name System DNS
Berkeley INternet Domain 1980

root@kali2016:/etc/bind# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.100.129  netmask 255.255.255.0  broadcast 192.168.100.255
inet6 fe80::20c:29ff:fe97:4a1b  prefixlen 64  scopeid 0x20<link>
ether 00:0c:29:97:4a:1b  txqueuelen 1000  (Ethernet)
RX packets 1117  bytes 372917 (364.1 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 880  bytes 77437 (75.6 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
device interrupt 19  base 0x2000

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10<host>
loop  txqueuelen 1  (Local Loopback)
RX packets 286  bytes 22578 (22.0 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 286  bytes 22578 (22.0 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@kali2016:/etc/bind# pico named.conf.options
options {
directory "/var/cache/bind";
listen-on port 53 { localhost; 192.168.100.0/24; };
allow-query { localhost; 192.168.100.0/24; };
forwarders { 192.168.100.2; 8.8.8.8; 8.8.4.4; };

recursion yes;
dnssec-validation auto;
auth-nxdomain no;    # conform to RFC1035
listen-on-v6 { any; };
};
# rekaan dan pembangunan DNS Private Network pktm2.com
# Ahad 01.10.2017 PKTM2 INSTUN
# created NBI

Configure Primary / Master Nameserver

Private Domain Nameserver Domain/Zone:  pktm2.com
DNS Forward & Reverse resolution

root@kali2016:/etc/bind# pico /etc/bind/named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

#rekaan dan konfigurasi NBI
# 01.10.2017

zone "pktm2.com" IN {
type master;
file "pktm2.com.zone";
};

zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};

Forward Resolution for Primary/Master NameServer

root@ns:/etc/bind# cat /var/cache/bind/pktm2.com.zone

$TTL 86400

@ IN SOA ns.pktm2.com. root.pktm2.com. (
2017100125    ;     Serial
3600        ;    Refresh setiap 1 jam
900        ;    Retry
604800        ;    Expire
86400        ;    Negative Cache TTL
)

@        IN NS    ns.pktm2.com.
@        IN A    192.168.100.129
pktm2.com.    IN MX 10    mail.pktm2.com.

ns        IN A    192.168.100.129
web        IN A    192.168.100.130
mail        IN A    192.168.100.131
apps        IN A    192.168.100.139

root@ns:/etc/bind# cat db.192.168.100

$TTL 86400

@ IN SOA ns.pktm2.com. root.pktm2.com. (
2017100110    ;     Serial
3600        ;    Refresh
900        ;    Retry
604800        ;    Expire
86400)        ;    Negative Cache TTL

;

@        IN A    192.168.100.129
@        IN NS    ns.pktm2.com.

129        IN PTR    ns.pktm2.com.
130        IN PTR    web.pktm2.com.
131        IN PTR    mail.pktm2.com.
139        IN PTR    apps.pktm2.com.

root@ns:/etc/bind# named-checkconf named.conf.options

root@ns:/etc/bind# named-checkconf named.conf.local

root@ns:/etc/bind# named-checkzone pktm2.com /var/cache/bind/pktm2.com.zone
zone pktm2.com/IN: loaded serial 2017100125
OK

root@ns:/etc/bind# named-checkzone 100.168.192-in.addr-arpa db.192.168.100
zone 100.168.192-in.addr-arpa/IN: loaded serial 2017100110
OK

root@kali2016:/etc/bind# service bind9 stop

root@kali2016:/etc/bind# service bind9 start

root@kali2016:/etc/bind# service bind9 status

â—� bind9.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2017-10-02 00:03:34 EDT; 15min ago
Docs: man:named(8)
Process: 2198 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS)
Main PID: 2263 (named)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/bind9.service
â””â”€2263 /usr/sbin/named -f -u bind

Oct 02 00:03:34 kali2016 named[2263]: managed-keys-zone: journal file is out of date: removing journal file
Oct 02 00:03:34 kali2016 named[2263]: managed-keys-zone: loaded serial 4
Oct 02 00:03:34 kali2016 named[2263]: zone 0.in-addr.arpa/IN: loaded serial 1
Oct 02 00:03:34 kali2016 named[2263]: zone 127.in-addr.arpa/IN: loaded serial 1
Oct 02 00:03:34 kali2016 named[2263]: zone 255.in-addr.arpa/IN: loaded serial 1
Oct 02 00:03:34 kali2016 named[2263]: zone pktm2.com/IN: loaded serial 2017100107
Oct 02 00:03:34 kali2016 named[2263]: zone localhost/IN: loaded serial 2
Oct 02 00:03:34 kali2016 named[2263]: all zones loaded
Oct 02 00:03:34 kali2016 named[2263]: running
Oct 02 00:03:34 kali2016 named[2263]: zone pktm2.com/IN: sending notifies (serial 2017100107)
root@kali2016:/etc/bind#

root@ns:/etc/bind# cat /etc/resolv.conf

# Generated by NetworkManager
search pktm2.com
nameserver 192.168.100.129
root@ns:/etc/bind#

root@kali2016:/etc/bind# dig google.com
; <<>> DiG 9.10.3-P4-Debian <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24974
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0005 , udp: 4000
;; QUESTION SECTION:
;google.com.            IN    A

;; ANSWER SECTION:
google.com.        5    IN    A    172.217.24.174

;; Query time: 3 msec
;; SERVER: 192.168.100.2#53(192.168.100.2)
;; WHEN: Mon Oct 02 00:10:33 EDT 2017
;; MSG SIZE  rcvd: 55

root@kali2016:/etc/bind#

root@kali2016:/etc/bind# dig msn.com

; <<>> DiG 9.10.3-P4-Debian <<>> msn.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26278
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0005 , udp: 4000
;; QUESTION SECTION:
;msn.com.            IN    A

;; ANSWER SECTION:
msn.com.        5    IN    A    13.82.28.61

;; Query time: 15 msec
;; SERVER: 192.168.100.2#53(192.168.100.2)
;; WHEN: Mon Oct 02 00:12:15 EDT 2017
;; MSG SIZE  rcvd: 52

root@kali2016:/etc/bind#

root@kali2016:/etc/bind# dig instun.gov.my

; <<>> DiG 9.10.3-P4-Debian <<>> instun.gov.my
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45913
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0005 , udp: 4000
;; QUESTION SECTION:
;instun.gov.my.            IN    A

;; ANSWER SECTION:
instun.gov.my.        5    IN    A    10.29.115.126
instun.gov.my.        5    IN    A    10.137.81.60
instun.gov.my.        5    IN    A    10.137.81.61
instun.gov.my.        5    IN    A    10.24.136.35

;; Query time: 4 msec
;; SERVER: 192.168.100.2#53(192.168.100.2)
;; WHEN: Mon Oct 02 00:21:33 EDT 2017
;; MSG SIZE  rcvd: 106

root@kali2016:/etc/bind#

root@ns:/etc/bind# dig pktm2.com any

; <<>> DiG 9.10.3-P4-Debian <<>> pktm2.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24051
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;pktm2.com.            IN    ANY

;; ANSWER SECTION:
pktm2.com.        86400    IN    SOA    ns.pktm2.com. root.pktm2.com. 2017100113 3600 900 604800 86400
pktm2.com.        86400    IN    NS    ns.pktm2.com.
pktm2.com.        86400    IN    MX    10 mail.pktm2.com.

;; ADDITIONAL SECTION:
ns.pktm2.com.        86400    IN    A    192.168.100.129
mail.pktm2.com.        86400    IN    A    192.168.100.131

;; Query time: 0 msec
;; SERVER: 192.168.100.129#53(192.168.100.129)
;; WHEN: Mon Oct 02 21:58:19 EDT 2017
;; MSG SIZE  rcvd: 149

root@ns:/etc/bind# service bind9 restart

root@ns:/etc/bind# service bind9 status

bind9.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2017-10-02 22:03:34 EDT; 1min 40s ago
Docs: man:named(8)
Process: 2240 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS)
Process: 1618 ExecReload=/usr/sbin/rndc reload (code=exited, status=0/SUCCESS)
Main PID: 2245 (named)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/bind9.service
â””â”€2245 /usr/sbin/named -f -u bind

Oct 02 22:03:34 ns named[2245]: managed-keys-zone: journal file is out of date: removin
Oct 02 22:03:34 ns named[2245]: managed-keys-zone: loaded serial 28
Oct 02 22:03:34 ns named[2245]: zone 0.in-addr.arpa/IN: loaded serial 1
Oct 02 22:03:34 ns named[2245]: zone 127.in-addr.arpa/IN: loaded serial 1
Oct 02 22:03:34 ns named[2245]: zone 100.168.192.in-addr.arpa/IN: loaded serial 2017100
Oct 02 22:03:34 ns named[2245]: zone localhost/IN: loaded serial 2
Oct 02 22:03:34 ns named[2245]: zone 255.in-addr.arpa/IN: loaded serial 1
Oct 02 22:03:34 ns named[2245]: zone pktm2.com/IN: loaded serial 2017100113
Oct 02 22:03:34 ns named[2245]: all zones loaded
Oct 02 22:03:34 ns named[2245]: running
lines 1-21/21 (END)

root@ns:/etc# nslookup

> 192.168.100.132
Server:        192.168.100.129
Address:    192.168.100.129#53

132.100.168.192.in-addr.arpa    name = apps.pktm2.com.
> apps.pktm2.com
Server:        192.168.100.129
Address:    192.168.100.129#53

Name:    apps.pktm2.com
Address: 192.168.100.132
> ns.pktm2.com
Server:        192.168.100.129
Address:    192.168.100.129#53

Name:    ns.pktm2.com
Address: 192.168.100.129
> 192.168.100.129
Server:        192.168.100.129
Address:    192.168.100.129#53

129.100.168.192.in-addr.arpa    name = ns.pktm2.com.
>

> apps.pktm2.com
Server:        192.168.100.129
Address:    192.168.100.129#53

Name:    apps.pktm2.com
Address: 192.168.100.139
> exit

root@ns:/etc/bind# dig apps.pktm2.com any

; <<>> DiG 9.10.3-P4-Debian <<>> apps.pktm2.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46927
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;apps.pktm2.com.            IN    ANY

;; ANSWER SECTION:
apps.pktm2.com.        86400    IN    A    192.168.100.139

;; AUTHORITY SECTION:
pktm2.com.        86400    IN    NS    ns.pktm2.com.

;; ADDITIONAL SECTION:
ns.pktm2.com.        86400    IN    A    192.168.100.129

;; Query time: 0 msec
;; SERVER: 192.168.100.129#53(192.168.100.129)
;; WHEN: Mon Oct 02 22:08:15 EDT 2017
;; MSG SIZE  rcvd: 92

root@ns:/etc/bind#

root@ns:/var/cache/bind# host -t ns pktm2.com
pktm2.com name server ns.pktm2.com.
root@ns:/var/cache/bind#

root@ns:/var/cache/bind# nslookup ns.pktm2.com ns.pktm2.com
Server:        ns.pktm2.com
Address:    192.168.100.129#53

Name:    ns.pktm2.com
Address: 192.168.100.129

root@ns:/var/cache/bind# nslookup apps.pktm2.com ns.pktm2.com
Server:        ns.pktm2.com
Address:    192.168.100.129#53

Name:    apps.pktm2.com
Address: 192.168.100.139

root@ns:/var/cache/bind# nslookup

> set querytype=ns
> google.com
Server:        192.168.100.129
Address:    192.168.100.129#53

Non-authoritative answer:
google.com    nameserver = ns3.google.com.
google.com    nameserver = ns1.google.com.
google.com    nameserver = ns4.google.com.
google.com    nameserver = ns2.google.com.

Authoritative answers can be found from:
> pktm2.com
Server:        192.168.100.129
Address:    192.168.100.129#53

pktm2.com    nameserver = ns.pktm2.com.
> instun.gov.my
Server:        192.168.100.129
Address:    192.168.100.129#53

Non-authoritative answer:
instun.gov.my    nameserver = dns1.gitn.net.my.
instun.gov.my    nameserver = dns2.gitn.net.my.

Authoritative answers can be found from:

root@ns:/etc/bind# dig -t ns pktm2.com

; <<>> DiG 9.10.3-P4-Debian <<>> -t ns pktm2.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26150
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;pktm2.com.            IN    NS

;; ANSWER SECTION:
pktm2.com.        86400    IN    NS    ns.pktm2.com.

;; ADDITIONAL SECTION:
ns.pktm2.com.        86400    IN    A    192.168.100.129

;; Query time: 0 msec
;; SERVER: 192.168.100.129#53(192.168.100.129)
;; WHEN: Tue Oct 03 05:17:19 EDT 2017
;; MSG SIZE  rcvd: 71

root@ns:/etc/bind#

root@ns:/etc/bind# ping -c4 192.168.100.129

PING 192.168.100.129 (192.168.100.129) 56(84) bytes of data.
64 bytes from 192.168.100.129: icmp_seq=1 ttl=64 time=0.014 ms
64 bytes from 192.168.100.129: icmp_seq=2 ttl=64 time=0.042 ms
64 bytes from 192.168.100.129: icmp_seq=3 ttl=64 time=0.038 ms
64 bytes from 192.168.100.129: icmp_seq=4 ttl=64 time=0.040 ms

--- 192.168.100.129 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.014/0.033/0.042/0.012 ms

root@ns:/etc/bind# ping -c4 ns.pktm2.com

PING ns.pktm2.com (192.168.100.129) 56(84) bytes of data.
64 bytes from ns.pktm2.com (192.168.100.129): icmp_seq=1 ttl=64 time=0.009 ms
64 bytes from ns.pktm2.com (192.168.100.129): icmp_seq=2 ttl=64 time=0.039 ms
64 bytes from ns.pktm2.com (192.168.100.129): icmp_seq=3 ttl=64 time=0.043 ms
64 bytes from ns.pktm2.com (192.168.100.129): icmp_seq=4 ttl=64 time=0.040 ms

--- ns.pktm2.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.009/0.032/0.043/0.015 ms

root@ns:/etc/bind# ping -c4 web.pktm2.com

PING web.pktm2.com (192.168.100.130) 56(84) bytes of data.
64 bytes from web.pktm2.com (192.168.100.130): icmp_seq=1 ttl=64 time=0.337 ms
64 bytes from web.pktm2.com (192.168.100.130): icmp_seq=2 ttl=64 time=0.987 ms
64 bytes from web.pktm2.com (192.168.100.130): icmp_seq=3 ttl=64 time=0.678 ms
64 bytes from web.pktm2.com (192.168.100.130): icmp_seq=4 ttl=64 time=1.03 ms

--- web.pktm2.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 0.337/0.758/1.031/0.279 ms
root@ns:/etc/bind#

root@ns:/etc/bind# dig pktm2.com any

; <<>> DiG 9.10.3-P4-Debian <<>> pktm2.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20710
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;pktm2.com.            IN    ANY

;; ANSWER SECTION:
pktm2.com.        86400    IN    SOA    ns.pktm2.com. root.pktm2.com. 2017100122 3600 900 604800 86400
pktm2.com.        86400    IN    NS    ns.pktm2.com.
pktm2.com.        86400    IN    A    192.168.100.129
pktm2.com.        86400    IN    MX    10 mail.pktm2.com.

;; ADDITIONAL SECTION:
ns.pktm2.com.        86400    IN    A    192.168.100.129
mail.pktm2.com.        86400    IN    A    192.168.100.131

;; Query time: 0 msec
;; SERVER: 192.168.100.129#53(192.168.100.129)
;; WHEN: Tue Oct 03 05:48:47 EDT 2017
;; MSG SIZE  rcvd: 165

root@ns:/etc/bind#

root@ns:/etc/bind# dig @ns.pktm2.com pktm2.com axfr

; <<>> DiG 9.10.3-P4-Debian <<>> @ns.pktm2.com pktm2.com axfr
; (1 server found)
;; global options: +cmd
pktm2.com.        86400    IN    SOA    ns.pktm2.com. root.pktm2.com. 2017100125 3600 900 604800 86400
pktm2.com.        86400    IN    NS    ns.pktm2.com.
pktm2.com.        86400    IN    A    192.168.100.129
pktm2.com.        86400    IN    MX    10 mail.pktm2.com.
apps.pktm2.com.        86400    IN    A    192.168.100.139
mail.pktm2.com.        86400    IN    A    192.168.100.131
ns.pktm2.com.        86400    IN    A    192.168.100.129
web.pktm2.com.        86400    IN    A    192.168.100.130
pktm2.com.        86400    IN    SOA    ns.pktm2.com. root.pktm2.com. 2017100125 3600 900 604800 86400
;; Query time: 0 msec
;; SERVER: 192.168.100.129#53(192.168.100.129)
;; WHEN: Wed Oct 04 00:42:22 EDT 2017
;; XFR size: 9 records (messages 1, bytes 242)

root@ns:/etc/bind#

root@ns:~# host -l pktm2.com

pktm2.com name server ns.pktm2.com.
pktm2.com has address 192.168.100.129
apps.pktm2.com has address 192.168.100.139
mail.pktm2.com has address 192.168.100.131
ns.pktm2.com has address 192.168.100.129
web.pktm2.com has address 192.168.100.130
root@ns:~#

# data[].attributes.body
https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-14-04

http://www.krizna.com/ubuntu/configure-dns-server-ubuntu-14-04/

http://frankhinek.com/how-to-setup-a-dns-server-for-a-home-lab-on-ubuntu-14-04/

http://www.unixmen.com/how-to-setup-dns-server-in-ubuntu/

https://help.ubuntu.com/14.04/serverguide/dns-installation.html