เบ„เบนเปˆเบกเบทเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป‚เบ”เบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบžเบทเปˆเบญเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ BIND DNS server เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก chroot เบชเปเบฒเบฅเบฑเบš Red Hat (RHEL/CentOS) 7

เบเบฒเบ™โ€‹เปเบ›โ€‹เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบเบฐโ€‹เบเบฝเบกโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ™เบฑเบโ€‹เบฎเบฝเบ™โ€‹เบซเบผเบฑเบโ€‹เบชเบนเบ”โ€‹ "เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž Linux". เบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ™เบตเป‰? เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”เบ‚เบญเบ‡เบŠเบฑเป‰เบ™เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ Ivan Piskunov "เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเปƒเบ™ Linux เบ—เบฝเบšเบเบฑเบš Windows เปเบฅเบฐ MacOS"

เบ„เบนเปˆเบกเบทเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป‚เบ”เบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบžเบทเปˆเบญเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ BIND DNS server เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก chroot เบชเปเบฒเบฅเบฑเบš Red Hat (RHEL/CentOS) 7

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเปเบ™เบฐเบ™เปเบฒเบ—เปˆเบฒเบ™เบœเปˆเบฒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ DNS server เปƒเบ™ RHEL 7 เบซเบผเบท CentOS 7. เบ‚เป‰เบญเบเปƒเบŠเป‰ Red Hat Enterprise Linux 7.4 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฒเบ—เบดเบ”. เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบซเบ™เบถเปˆเบ‡เบšเบฑเบ™เบ—เบถเบ A เปเบฅเบฐเบซเบ™เบถเปˆเบ‡เบšเบฑเบ™เบ—เบถเบ PTR เบชเปเบฒเบฅเบฑเบšเป€เบ‚เบ”เบเบฒเบ™เบŠเบญเบเบซเบฒเบ—เบฒเบ‡เบซเบ™เป‰เบฒเปเบฅเบฐเบ—เบฒเบ‡เบ‚เบงเบฒเบ‡, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.

เบ—เปเบฒเบญเบดเบ”, เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบธเบ” rpm เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DNS.

เบซเบกเบฒเบเป€เบซเบ”: เบชเปเบฒเบฅเบฑเบš RHEL เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบกเบต เบเบฒเบ™เบชเบฐเปเบฑเบเปƒเบŠเป‰ RHN เบ—เบตเปˆเปƒเบŠเป‰เบขเบนเปˆ, เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบญเบญเบšเป„เบฅเบ™เปŒเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เบ—เบตเปˆเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบŠเบธเบ” "yum" เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ” rpm เปเบฅเบฐเบ„เบงเบฒเบกเป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™.

# 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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ„เบฑเบ”เบฅเบญเบเป„เบŸเบฅเปŒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ chroot directory.
เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹. เปƒเบŠเป‰เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ -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/

เบฅเบถเบšเป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡ name.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 เปเบกเปˆเบ™เป„เบŸเบฅเปŒเป€เบ‚เบ”เบเบฒเบ™เบŠเบญเบเบซเบฒเป„เบ›เบ‚เป‰เบฒเบ‡เปœเป‰เบฒ, เปเบฅเบฐ เบ•เบปเบงเบขเปˆเบฒเบ‡.rzone - เป„เบŸเบฅเปŒเป€เบ‚เบ”เบเบฑเบšเบ„เบทเบ™.

เบซเบกเบฒเบเป€เบซเบ”เบชเปเบฒเบ„เบฑเบ™: เป€เบ‚เบ”เบเบฒเบ™เบŠเบญเบเบซเบฒเปเบšเบšเบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบ›เบฐเบเบญเบšเบกเบต 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/

เบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบšเป€เบ‚เบ”เบ•เปเปˆเบซเบ™เป‰เบฒเปเบฅเบฐ reverse. เบŠเบทเปˆเป„เบŸเบฅเปŒเบˆเบฐเบ„เบทเบเบฑเบ™เบเบฑเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปƒเบ™เป„เบŸเบฅเปŒ เบŠเบทเปˆ.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

เป€เบžเบตเปˆเบกเป€เบ™เบทเป‰เบญเบซเบฒเบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบชเปˆเป„เบŸเบฅเปŒเป€เบ‚เบ”เบชเบปเปˆเบ‡เบ•เปเปˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบšเบฑเบ™เบ—เบถเบ A เบชเปเบฒเบฅเบฑเบš localhost (golinuxhub-client) เปเบฅเบฐเบญเบทเปˆเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ (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 เบชเปเบฒเบฅเบฑเบš golinuxhub-client เปเบฅเบฐเบชเปเบฒเบฅเบฑเบš golinuxhub-server.

# 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.

เบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบ›เบตเบ”เบšเปเบฅเบดเบเบฒเบ™ เบŠเบทเปˆ-chroot, เปƒเบซเป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เป„เบŸเบฅเปŒเป€เบ‚เบ”.

[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

เบซเบกเบฒเบเป€เบซเบ”เบชเปเบฒเบ„เบฑเบ™: เบ‚เป‰เบญเบเบกเบต SELinux เบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”

# getenforce
Permissive

เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบšเบดเปˆเบ‡เบ”เบต, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบ–เบดเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบงเบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ เบŠเบทเปˆ-chroot .

[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

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เปƒเบ™เบ—เบฒเบ‡เบšเบงเบ (ANSWER) เบ•เปเปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ (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 เบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ„เบฑเบ”เบฅเบญเบเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ chroot. เบเบฒเบ™เบชเบญเบ™เปเบšเบšเป€เบ—เบทเปˆเบญเบฅเบฐเบ‚เบฑเป‰เบ™เบ•เบญเบ™: เบเบณเบ™เบปเบ”เบ„เปˆเบฒ DNS Server เป‚เบ”เบเปƒเบŠเป‰ bind chroot (CentOS/RHEL 7).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™