Red Hat (RHEL/CentOS) 7 рд╕рд╛рдареА chroot рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд BIND DNS рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯрдЕрдк рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ

рдЕрднреНрдпрд╛рд╕рдХреНрд░рдорд╛рдЪреНрдпрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓реЗрдЦрд╛рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ "рд▓рд┐рдирдХреНрд╕ рд╕реБрд░рдХреНрд╖рд╛". рдпрд╛ рджрд┐рд╢реЗрдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдд рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ? рдЗрд╡реНрд╣рд╛рди рдкрд┐рд╕реНрдХреБрдиреЛрд╡реНрд╣рдЪреНрдпрд╛ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕рдЪреНрдпрд╛ рдкреНрд░рд╕рд╛рд░рдгрд╛рдЪреЗ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдкрд╣рд╛ "Windows рдЖрдгрд┐ MacOS рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд Linux рдордзреНрдпреЗ рд╕реБрд░рдХреНрд╖рд╛"

Red Hat (RHEL/CentOS) 7 рд╕рд╛рдареА chroot рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд BIND DNS рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯрдЕрдк рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ

рдпрд╛ рд▓реЗрдЦрд╛рдд, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ RHEL 7 рдХрд┐рдВрд╡рд╛ CentOS 7 рд╡рд░ DNS рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареАрдЪреНрдпрд╛ рдкрд╛рдпрд░реНтАНрдпрд╛ рд╕рд╛рдВрдЧреЗрди. рдореА рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХрд╛рд╕рд╛рдареА Red Hat Enterprise Linux 7.4 рд╡рд╛рдкрд░рд▓реЗ. рдлреЙрд░рд╡рд░реНрдб рдЖрдгрд┐ рд░рд┐рд╡реНрд╣рд░реНрд╕ рд▓реБрдХрдЕрдк рдЭреЛрдирд╕рд╛рдареА рдЕрдиреБрдХреНрд░рдореЗ рдПрдХ A рд░реЗрдХреЙрд░реНрдб рдЖрдгрд┐ рдПрдХ PTR рд░реЗрдХреЙрд░реНрдб рддрдпрд╛рд░ рдХрд░рдгреЗ рд╣реЗ рдЖрдордЪреЗ рдзреНрдпреЗрдп рдЖрд╣реЗ.

рдкреНрд░рдердо, DNS рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ rpm рдкреЕрдХреЗрдЬреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛.

рдЯреАрдк: 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 рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдХреЙрдкреА рдХрд░рд╛.
рдЯреАрдк. рдпреБрдХреНрддрд┐рд╡рд╛рдж рд╡рд╛рдкрд░рд╛ -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 рдлрд╛рдЗрд▓ рдлреЙрд░рд╡рд░реНрдб рд▓реБрдХрдЕрдк рдЭреЛрди рдлрд╛рдЗрд▓ рдЖрд╣реЗ, рдЖрдгрд┐ example.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/

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдлреЙрд░рд╡рд░реНрдб рдЖрдгрд┐ рд░рд┐рд╡реНрд╣рд░реНрд╕ рдЭреЛрдирд╕рд╛рдареА рдлрд╛рдЗрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░реВ. рдлрд╛рдИрд▓рдЪреА рдирд╛рд╡реЗ рдлрд╛рдИрд▓рдордзреАрд▓ рд╡рд░реАрд▓рдкреНрд░рдорд╛рдгреЗрдЪ рдЕрд╕рддреАрд▓ name.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

рддреБрдордЪреНрдпрд╛ рдлреЙрд░рд╡рд░реНрдб рдЭреЛрди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╛. рдпреЗрдереЗ рдЖрдореНрд╣реА рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ (рдЧреЛрд▓рд┐рдирдХреНрд╕рд╣рдм-рдХреНрд▓рд╛рдпрдВрдЯ) рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА (рдЧреЛрд▓рд┐рдирдХреНрд╕рд╣рдм-рд╕рд░реНрд╡реНрд╣рд░) рдПрдХ рд░реЗрдХреЙрд░реНрдб рддрдпрд╛рд░ рдХрд░рддреЛ.

# 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

рдкреБрдвреЗ, рд░рд┐рд╡реНрд╣рд░реНрд╕ рдЭреЛрди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╛. рдпреЗрдереЗ рдЖрдореНрд╣реА golinuxhub-client рдЖрдгрд┐ golinuxhub-server рд╕рд╛рдареА 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.

рдЖрдореНрд╣реА рд╕реЗрд╡рд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА name-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

рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЪрд╛рдВрдЧрд▓реЗ рджрд┐рд╕рдд рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рдЖрдордЪреА рд╕реЗрд╡рд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ name-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

рддреБрдореНрд╣реА рдмрдШреВ рд╢рдХрддрд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛ рд╡рд┐рдирдВрддреАрд▓рд╛ (QUERY) рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рд╕рд╛рдж (ANSWER) рдорд┐рд│рд╛рд▓рд╛ рдЖрд╣реЗ.

[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 рдордзреНрдпреЗ рдмрд╛рдЗрдВрдб рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдЪрд░рдг-рджрд░-рдЪрд░рдг рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: bind chroot рд╡рд╛рдкрд░реВрди DNS рд╕рд░реНрд╡реНрд╣рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛ (CentOS/RHEL 7).

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛