αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž‡αžΆαž‡αŸ†αž αžΆαž“ αŸ— αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ DNS BIND αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸ chroot αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Red Hat (RHEL/CentOS) 7

αž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αž’αžαŸ’αžαž”αž‘αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αž·αžŸαŸ’αžŸαž·αžαžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ "αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž›αžΈαž“αž»αž…". αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αŸ’αž“αž»αž„αž‘αž·αžŸαžŠαŸ…αž“αŸαŸ‡? αž˜αžΎαž›αž€αžΆαžšαžαžαž•αŸ’αžŸαžΆαž™αž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹αž˜αŸαžšαž”αžŸαŸ‹ Ivan Piskunov "αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž€αŸ’αž“αž»αž„αž›αžΈαž“αž»αž… αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„ Windows αž“αž·αž„ MacOS"

αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž‡αžΆαž‡αŸ†αž αžΆαž“ αŸ— αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ DNS BIND αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸ chroot αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Red Hat (RHEL/CentOS) 7

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αžŽαŸ‚αž“αžΆαŸ†αž’αŸ’αž“αž€αž–αžΈαž‡αŸ†αž αžΆαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ DNS αž“αŸ…αž›αžΎ 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 αŸ”
αž…αŸ†αžŽαžΆαŸ†αŸ” αž”αŸ’αžšαžΎαž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹ -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/

αž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž™αžΎαž„αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ†αž”αž“αŸ‹αž‘αŸ…αž˜αž»αž αž“αž·αž„αž”αž‰αŸ’αž…αŸ’αžšαžΆαžŸαŸ” αžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžšαž“αžΉαž„αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αžαžΆαž„αž›αžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡.rfc1912.zones. αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž‚αŸ†αžšαžΌβ€‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜β€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“β€‹αžšαž½αž…β€‹αž αžΎαž™β€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž’αžΆαž…β€‹αž”αŸ’αžšαžΎβ€‹αž”αžΆαž“αŸ”

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

αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰ αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸ…αž›αžΎαž―αž€αžŸαžΆαžš αž“αž·αž„αžαžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‡αžΆαž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž· αž‡αžΆ root.

[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

αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž“αŸƒαž―αž€αžŸαžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαžΆαž‡αžΆαž˜αŸ’αž…αžΆαžŸαŸ‹ αž‡αžΆ root αž“αž·αž„αž€αŸ’αžšαž»αž˜ αžŠαžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡.

# 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) αž“αž·αž„αž˜αž½αž™αž‘αŸ€αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ server (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 αžŠαŸ„αž™αž”αŸ’αžšαžΎ bind chroot (CentOS/RHEL 7).

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹