ืฉืจื™ื˜-ื“ื•ืจืš-ืฉืจื™ื˜ ืคื™ืจืŸ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึท BIND DNS ืกืขืจื•ื•ืขืจ ืื™ืŸ ืึท ื˜ืฉืจืึธืึธื˜ ืกื•ื•ื™ื•ื•ืข ืคึฟืึทืจ Red Hat (RHEL / CentOS) 7

ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ ืงื•ืจืก ืกื˜ื•ื“ืขื ื˜ืŸ "ืœื™ื ื•ืงืก ื–ื™ื›ืขืจื”ื™ื™ื˜". ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืื™ืŸ ื“ืขื ืจื™ื›ื˜ื•ื ื’? ื”ื™ื˜ืŸ ื“ื™ ืจืขืงืึธืจื“ื™ื ื’ ืคื•ืŸ ื“ื™ ื‘ืจืึธื“ืงืึทืกื˜ ืคื•ืŸ ืื™ื•ื•ืืŸ ืคึผื™ืกืงื•ื ืึธื•ื• ืก ื‘ืขืœ ืงืœืึทืก "ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื™ืŸ ืœื™ื ื•ืงืก ืงืึทืžืคึผืขืจื“ ืžื™ื˜ Windows ืื•ืŸ MacOS"

ืฉืจื™ื˜-ื“ื•ืจืš-ืฉืจื™ื˜ ืคื™ืจืŸ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึท BIND DNS ืกืขืจื•ื•ืขืจ ืื™ืŸ ืึท ื˜ืฉืจืึธืึธื˜ ืกื•ื•ื™ื•ื•ืข ืคึฟืึทืจ Red Hat (RHEL / CentOS) 7

ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืื™ืš ื•ื•ืขืœ ืคื™ืจืŸ ืื™ืจ ื“ื•ืจืš ื“ื™ ืกื˜ืขืคึผืก ืฆื• ืฉื˜ืขืœืŸ ืึทืจื•ื™ืฃ ืึท ื“ื ืก ืกืขืจื•ื•ืขืจ ืื•ื™ืฃ RHEL 7 ืึธื“ืขืจ CentOS 7. ืื™ืš ื’ืขื•ื•ื™ื™ื ื˜ Red Hat Enterprise Linux 7.4 ืคึฟืึทืจ ื“ื™ ื“ืขืžืึทื ืกื˜ืจื™ื™ืฉืึทืŸ. ืื•ื ื“ื–ืขืจ ืฆื™ืœ ืื™ื– ืฆื• ืฉืึทืคึฟืŸ ืื™ื™ืŸ ื ืจืขืงืึธืจื“ ืื•ืŸ ืื™ื™ืŸ PTR ืจืขืงืึธืจื“ ืคึฟืึทืจ ื“ื™ ืคืึธืจื•ื™ืก ืื•ืŸ ืคืึทืจืงืขืจื˜ ืœื•ืงืึทืคึผ ื–ืึธื ืขืก, ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™.

ืขืจืฉื˜ืขืจ, ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ื ื™ื™ื˜ื™ืง ืจืคึผื ืคึผืึทืงืึทื“ื–ืฉืึทื– ืคึฟืึทืจ ื“ื™ ื“ื ืก ืกืขืจื•ื•ืขืจ.

ื ืึธื˜ื™ืฅ: ืคึฟืึทืจ RHEL ืื™ืจ ืžื•ื–ืŸ ื”ืึธื‘ืŸ ืึทืงื˜ื™ื•ื• RHN ืึทื‘ืึธื ืขืžืขื ื˜, ืึธื“ืขืจ ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ืึท ื”ื™ื’ืข ืึธืคืคืœื™ื ืข ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™, ืžื™ื˜ ื•ื•ืึธืก ื“ืขืจ ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ืขืจ "ื™ื•ื" ืงืขื ืขืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ื ื™ื™ื˜ื™ืง ืจืคึผื ืคึผืึทืงืึทื“ื–ืฉืึทื– ืื•ืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–.

# yum install bind bind-chroot caching-nameserver

ืžื™ื™ืŸ ืกืขื˜ื˜ื™ื ื’ืก:

# hostname
golinuxhub-client.example
ะœะพะน IP-ะฐะดั€ะตั 192.168.1.7
# ip address | egrep 'inet.*enp0s3'
    inet 192.168.1.7/24 brd 192.168.1.255 scope global dynamic enp0s3

ื–ื™ื ื˜ ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ chroot, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ื“ื™ ืกืขืจื•ื•ื™ืก.

# systemctl stop named
# systemctl disable named

ื“ืขืจื ืึธืš ื ืึธื›ืžืึทื›ืŸ ื“ื™ ืคืืจืœืื ื’ื˜ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ื˜ืฉืจืึธืึธื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.
ื ืื˜ื™ืฅ. ื ื™ืฆืŸ ืึทืจื’ื•ืžืขื ื˜ -p ืื™ืŸ ืึท ืงืึธืœืขืงื˜ื™ื•ื• cp ืฆื• ื•ืคื”ื™ื˜ืŸ ืจืขื›ื˜ ืื•ืŸ ืึธื•ื ืขืจื–.

[root@golinuxhub-client ~]# cp -rpvf /usr/share/doc/bind-9.9.4/sample/etc/*  /var/named/chroot/etc/
โ€˜/usr/share/doc/bind-9.9.4/sample/etc/named.confโ€™ -> โ€˜/var/named/chroot/etc/named.confโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zonesโ€™ -> โ€˜/var/named/chroot/etc/named.rfc1912.zonesโ€™

ื“ืขืจื ืึธืš ื ืึธื›ืžืึทื›ืŸ ื“ื™ ื˜ืขืงืขืก ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ืขืจ ื–ืึธื ืข ืฆื• ืึท ื ื™ื™ึทืข ืึธืจื˜.

[root@golinuxhub-client ~]# cp -rpvf /usr/share/doc/bind-9.9.4/sample/var/named/* /var/named/chroot/var/named/
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/dataโ€™ -> โ€˜/var/named/chroot/var/named/dataโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/my.external.zone.dbโ€™ -> โ€˜/var/named/chroot/var/named/my.external.zone.dbโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/my.internal.zone.dbโ€™ -> โ€˜/var/named/chroot/var/named/my.internal.zone.dbโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/named.caโ€™ -> โ€˜/var/named/chroot/var/named/named.caโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/named.emptyโ€™ -> โ€˜/var/named/chroot/var/named/named.emptyโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/named.localhostโ€™ -> โ€˜/var/named/chroot/var/named/named.localhostโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/named.loopbackโ€™ -> โ€˜/var/named/chroot/var/named/named.loopbackโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/slavesโ€™ -> โ€˜/var/named/chroot/var/named/slavesโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/slaves/my.ddns.internal.zone.dbโ€™ -> โ€˜/var/named/chroot/var/named/slaves/my.ddns.internal.zone.dbโ€™
โ€˜/usr/share/doc/bind-9.9.4/sample/var/named/slaves/my.slave.internal.zone.dbโ€™ -> โ€˜/var/named/chroot/var/named/slaves/my.slave.internal.zone.dbโ€™
```bash
ะขะตะฟะตั€ัŒ ะดะฐะฒะฐะนั‚ะต ะฟะพัะผะพั‚ั€ะธะผ ะฝะฐ ะพัะฝะพะฒะฝะพะน ั„ะฐะนะป ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะธ.
```bash
# cd /var/named/chroot/etc/

ื•ื™ืกืžืขืงืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ named.conf ืื•ืŸ ืคึผืึทืคึผ ื“ื™ ืคืืœื’ืขื ื“ืข.

[root@golinuxhub-client etc]# vim named.conf
options {
        listen-on port 53 { 127.0.0.1; any; };
#       listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; any; };
        allow-query-cache { localhost; any; };
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

view my_resolver {
        match-clients      { localhost; any; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
};

ื–ืึธื ืข ืกืคึผืขืฆื™ืคื™ืฉ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืžื•ื–ืŸ ื–ื™ื™ืŸ ืžื•ืกื™ืฃ ืฆื• /var/named/chroot/etc/named.rfc1912.zones. ืœื™ื™ื’ ื“ื™ ืื™ื™ื ืกืŸ ืื•ื ื˜ืŸ. ื“ื™ example.zone ื˜ืขืงืข ืื™ื– ื“ื™ ืคืึธืจื•ื™ืก ืœื•ืงืึทืคึผ ื–ืึธื ืข ื˜ืขืงืข, ืื•ืŸ ื‘ื™ื™ืฉืคึผื™ืœ.ืจื–ืึธื ืข - ืคืึทืจืงืขืจื˜ ื–ืึธื ืข ื˜ืขืงืข.

ื•ื•ื™ื›ื˜ื™ืง ื ืึธื˜ื™ืฅ: ื“ื™ ืคืึทืจืงืขืจื˜ ืœื•ืงืึทืคึผ ื–ืึธื ืข ื›ึผื•ืœืœ 1.168.192 ื•ื•ื™ื™ึทืœ ืžื™ื™ืŸ IP ืึทื“ืจืขืก ืื™ื– 192.168.1.7

zone "example" IN {
        type master;
        file "example.zone";
        allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "example.rzone";
        allow-update { none; };
};

ื“ื™ ื˜ืขืงืขืก ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื™ ื–ืึธื ืขืก ื–ืขื ืขืŸ ืœื™ื’ืŸ ื“ืึธ:

# cd /var/named/chroot/var/named/

ื•ื•ื™ื™ึทื˜ืขืจ, ืžื™ืจ ื•ื•ืขืœืŸ ืžืึทื›ืŸ ื˜ืขืงืขืก ืคึฟืึทืจ ื“ื™ ืคืึธืจื•ื™ืก ืื•ืŸ ืคืึทืจืงืขืจื˜ ื–ืึธื ืขืก. ื“ื™ ื˜ืขืงืข ื ืขืžืขืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ื™ ืื•ื™ื‘ืŸ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข named.rfc1912.zones. ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืขื˜ืœืขื›ืข ืคืขืœื™ืงื™ื™ึทื˜ ื˜ืขืžืคึผืœืึทื˜ืขืก ื•ื•ืึธืก ืžื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ.

# cp -p named.localhost  example.zone
# cp -p named.loopback example.rzone

ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ื“ื™ ืงืจืึทื ื˜ ืคึผืขืจืžื™ืฉืึทื ื– ืคื•ืŸ ืึทืœืข ื˜ืขืงืขืก ืื•ืŸ ื“ื™ื™ืจืขืงื˜ืขืจื™ื– ื’ืขื”ืขืจืŸ ืฆื• ื•ื•ืึธืจืฆืœ.

[root@golinuxhub-client named]# ll
total 32
drwxr-xr-x. 2 root root    6 May 22  2017 data
-rw-r--r--. 1 root root  168 May 22  2017 example.rzone
-rw-r--r--. 1 root root  152 May 22  2017 example.zone
-rw-r--r--. 1 root root   56 May 22  2017 my.external.zone.db
-rw-r--r--. 1 root root   56 May 22  2017 my.internal.zone.db
-rw-r--r--. 1 root root 2281 May 22  2017 named.ca
-rw-r--r--. 1 root root  152 May 22  2017 named.empty
-rw-r--r--. 1 root root  152 May 22  2017 named.localhost
-rw-r--r--. 1 root root  168 May 22  2017 named.loopback
drwxr-xr-x. 2 root root   71 Feb 12 21:02 slaves

ื˜ื•ื™ืฉืŸ ื“ื™ ืคึผืขืจืžื™ืฉืึทื ื– ืคื•ืŸ ืึทืœืข ื˜ืขืงืขืก ืฆื• ืึธื ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ื•ื•ื™ ื“ื™ ื‘ืึทื–ื™ืฆืขืจ ื•ื•ืึธืจืฆืœ ืื•ืŸ ื’ืจื•ืคึผืข ื’ืขื”ื™ื™ืกืŸ.

# chown root:named *

ืื‘ืขืจ ืคึฟืึทืจ ื“ืึทื˜ืŸ ื“ื™ ื‘ืึทื–ื™ืฆืขืจ ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขื”ื™ื™ืกืŸ: ื’ืขื”ื™ื™ืกืŸ.

# chown -R  named:named data
# ls -l
total 32
drwxr-xr-x. 2 named named    6 May 22  2017 data
-rw-r--r--. 1 root  named  168 May 22  2017 example.rzone
-rw-r--r--. 1 root  named  152 May 22  2017 example.zone
-rw-r--r--. 1 root  named   56 May 22  2017 my.external.zone.db
-rw-r--r--. 1 root  named   56 May 22  2017 my.internal.zone.db
-rw-r--r--. 1 root  named 2281 May 22  2017 named.ca
-rw-r--r--. 1 root  named  152 May 22  2017 named.empty
-rw-r--r--. 1 root  named  152 May 22  2017 named.localhost
-rw-r--r--. 1 root  named  168 May 22  2017 named.loopback
drwxr-xr-x. 2 root  named   71 Feb 12 21:02 slaves

ืœื™ื™ื’ ื“ื™ ืคืืœื’ืขื ื“ืข ืื™ื ื”ืึทืœื˜ ืฆื• ื“ื™ื™ืŸ ืคืึธืจื•ื™ืก ื–ืึธื ืข ื˜ืขืงืข. ื“ืึธ ืžื™ืจ ืžืึทื›ืŸ ืึท ืจืขืงืึธืจื“ ืคึฟืึทืจ ืœืึธืงืึทืœื”ืึธืกื˜ (golinuxhub-ืงืœื™ืขื ื˜) ืื•ืŸ ืื ื“ืขืจืŸ ืคึฟืึทืจ ื“ื™ ืกืขืจื•ื•ืขืจ (golinuxhub-server).

# vim example.zone
$TTL 1D
@       IN SOA  example. root (
                                        1       ; serial
                                        3H      ; refresh
                                        15M     ; retry
                                        1W      ; expire
                                        1D )    ; minimum

                IN NS           example.

                        IN A 192.168.1.7
golinuxhub-server       IN A 192.168.1.5
golinuxhub-client       IN A 192.169.1.7

ื•ื•ื™ื™ึทื˜ืขืจ, ืœื™ื™ื’ืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืฆื• ื“ื™ ืคืึทืจืงืขืจื˜ ื–ืึธื ืข ื˜ืขืงืข. ื“ืึธ ืžื™ืจ ืžืึทื›ืŸ ืึท PTR ืจืขืงืึธืจื“ ืคึฟืึทืจ ื’ืึธืœื™ื ื•ืงืกื”ื•ื‘-ืงืœื™ืขื ื˜ ืื•ืŸ ืคึฟืึทืจ ื’ืึธืœื™ื ื•ืงืกื”ื•ื‘-ืกืขืจื•ื•ืขืจ.

# vim example.rzone
$TTL 1D
@       IN SOA  example. root.example. (
                                        1997022700      ; serial
                                        28800           ; refresh
                                        14400           ; retry
                                        3600000         ; expire
                                        86400  )        ; minimum

        IN NS   example.
5       IN PTR  golinuxhub-server.example.
7       IN PTR  golinuxhub-client.example.

ืื™ื™ื“ืขืจ ืžื™ืจ ืงืึทื˜ืขืจ ื“ื™ ื“ื™ื ืกื˜ ื’ืขื”ื™ื™ืกืŸ-ื˜ืฉืจืึธืึธื˜, ืœืึธื–ืŸ ืก ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื–ืึธื ืข ื˜ืขืงืข.

[root@golinuxhub-client named]# named-checkzone golinuxhub-client.example example.zone
zone golinuxhub-client.example/IN: loaded serial 1
OK

[root@golinuxhub-client named]# named-checkzone golinuxhub-client.example example.rzone
zone golinuxhub-client.example/IN: loaded serial 1997022700
OK

ืึทืœืฅ ืงื•ืงื˜ ื’ื•ื˜. ืื™ืฆื˜ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ื ื™ืฆืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ.

[root@golinuxhub-client named]# named-checkconf -t /var/named/chroot/ /etc/named.conf

ืึทื–ื•ื™, ืึทืœืฅ ืื™ื– ื’ืขื•ื•ืขืŸ ื”ืฆืœื—ื” ื’ืขืขื ื“ื™ืงื˜.

[root@golinuxhub-client named]# echo $?
0

ื•ื•ื™ื›ื˜ื™ืง ื ืึธื˜ื™ืฅ: ืื™ืš ื”ืึธื‘ืŸ ืกืขืœื™ื ื•ืงืก ืื™ืŸ ืคึผืขืจืžื™ืกื™ื•ื• ืžืึธื“ืข

# getenforce
Permissive

ืึทืœืฅ ืงื•ืงื˜ ื’ื•ื˜, ืึทื–ื•ื™ ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ืงืึทื˜ืขืจ ืื•ื ื“ื–ืขืจ ื“ื™ื ืกื˜ ื’ืขื”ื™ื™ืกืŸ-ื˜ืฉืจืึธืึธื˜ .

[root@golinuxhub-client named]# systemctl restart named-chroot

[root@golinuxhub-client named]# systemctl status named-chroot
โ— named-chroot.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named-chroot.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-02-12 21:53:23 IST; 19s ago
  Process: 5236 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 5327 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} -t /var/named/chroot $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 5325 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -t /var/named/chroot -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 5330 (named)
   CGroup: /system.slice/named-chroot.service
           โ””โ”€5330 /usr/sbin/named -u named -c /etc/named.conf -t /var/named/chroot

Feb 12 21:53:23 golinuxhub-client.example named[5330]: managed-keys-zone/my_resolver: loaded serial 0
Feb 12 21:53:23 golinuxhub-client.example named[5330]: zone 0.in-addr.arpa/IN/my_resolver: loaded serial 0
Feb 12 21:53:23 golinuxhub-client.example named[5330]: zone 1.0.0.127.in-addr.arpa/IN/my_resolver: loaded serial 0
Feb 12 21:53:23 golinuxhub-client.example named[5330]: zone 1.168.192.in-addr.arpa/IN/my_resolver: loaded serial 1997022700
Feb 12 21:53:23 golinuxhub-client.example named[5330]: zone example/IN/my_resolver: loaded serial 1
Feb 12 21:53:23 golinuxhub-client.example named[5330]: zone localhost/IN/my_resolver: loaded serial 0
Feb 12 21:53:23 golinuxhub-client.example named[5330]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/my_resolver: loaded serial 0
Feb 12 21:53:23 golinuxhub-client.example named[5330]: zone localhost.localdomain/IN/my_resolver: loaded serial 0
Feb 12 21:53:23 golinuxhub-client.example named[5330]: all zones loaded
Feb 12 21:53:23 golinuxhub-client.example named[5330]: running
```bash
ะฃะฑะตะดะธั‚ะตััŒ, ั‡ั‚ะพ resolv.conf ัะพะดะตั€ะถะธั‚ ะฒะฐัˆ IP-ะฐะดั€ะตั, ั‡ั‚ะพะฑั‹ ะพะฝ ะผะพะณ ั€ะฐะฑะพั‚ะฐั‚ัŒ ะฒ ะบะฐั‡ะตัั‚ะฒะต DNS-ัะตั€ะฒะตั€ะฐ.
```bash
# cat /etc/resolv.conf
search example
nameserver 192.168.1.7
```bash
ะ”ะฐะฒะฐะนั‚ะต ะฟั€ะพะฒะตั€ะธะผ ะฝะฐัˆ DNS-ัะตั€ะฒะตั€ ะดะปั ะพะฑั€ะฐั‚ะฝะพะน ะทะพะฝั‹, ะธัะฟะพะปัŒะทัƒั dig.
```bash
[root@golinuxhub-client named]# dig -x 192.168.1.5

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> -x 192.168.1.5
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40331
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;5.1.168.192.in-addr.arpa.      IN      PTR

;; ANSWER SECTION:
5.1.168.192.in-addr.arpa. 86400 IN      PTR     golinuxhub-server.example.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 86400   IN      NS      example.

;; ADDITIONAL SECTION:
example.                86400   IN      A       192.168.1.7

;; Query time: 1 msec
;; SERVER: 192.168.1.7#53(192.168.1.7)
;; WHEN: Mon Feb 12 22:13:17 IST 2018
;; MSG SIZE  rcvd: 122

ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ืžื™ืจ ื‘ืืงื•ืžืขืŸ ืึท positive ืขื ื˜ืคืขืจ (ืึทื ืกื•ื•ืขืจ) ืฆื• ืื•ื ื“ื–ืขืจ ื‘ืงืฉื” (QUERY).

[root@golinuxhub-client named]# dig -x 192.168.1.7

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> -x 192.168.1.7
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55804
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;7.1.168.192.in-addr.arpa.      IN      PTR

;; ANSWER SECTION:
7.1.168.192.in-addr.arpa. 86400 IN      PTR     golinuxhub-client.example.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 86400   IN      NS      example.

;; ADDITIONAL SECTION:
example.                86400   IN      A       192.168.1.7

;; Query time: 1 msec
;; SERVER: 192.168.1.7#53(192.168.1.7)
;; WHEN: Mon Feb 12 22:12:54 IST 2018
;; MSG SIZE  rcvd: 122

ืžื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื“ื™ืจืขืงื˜ ื–ืึธื ืข ืื™ืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ืขื’.

[root@golinuxhub-client named]# nslookup golinuxhub-client.example
Server:         192.168.1.7
Address:        192.168.1.7#53

Name:   golinuxhub-client.example
Address: 192.169.1.7

[root@golinuxhub-client named]# nslookup golinuxhub-server.example
Server:         192.168.1.7
Address:        192.168.1.7#53

Name:   golinuxhub-server.example
Address: 192.168.1.5

ื“ืขืจ ืึทืจื˜ื™ืงืœ ืื™ื– ืึท ื‘ื™ืกืœ ืึทื•ื˜ื“ื™ื™ื˜ื™ื“ ื•ื•ื™ื™ึทืœ ืื™ืŸ RHEL 7 ืื™ืจ ื ื™ื˜ ืžืขืจ ื“ืึทืจืคึฟืŸ ืฆื• ื ืึธื›ืžืึทื›ืŸ ื“ื™ ื‘ื™ื ื“ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ื˜ืฉืจืึธืึธื˜. ืฉืจื™ื˜-ื“ื•ืจืš-ืฉืจื™ื˜ ื˜ื•ื˜ืึธืจื™ืึทืœ: ืงืึทื ืคื™ื’ื™ืขืจ ื“ื ืก ืกืขืจื•ื•ื™ืจืขืจ ื ื™ืฆืŸ bind chroot (CentOS / RHEL 7).

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’