Red Hat (RHEL / CentOS) 7-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ chroot āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ BIND DNS āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻžāĻĒā§‡ āĻ§āĻžāĻĒā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž

āĻ•ā§‹āĻ°ā§āĻ¸ āĻ›āĻžāĻ¤ā§āĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻ…āĻ¨ā§āĻŦāĻžāĻĻ "āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž". āĻāĻ‡ āĻĻāĻŋāĻ•ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€? āĻ‡āĻ­āĻžāĻ¨ āĻĒāĻŋāĻ¸āĻ•ā§āĻ¨āĻ­ā§‡āĻ° āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°āĻšāĻžāĻ°ā§‡āĻ° āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨ "āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻāĻŦāĻ‚ āĻŽā§āĻ¯āĻžāĻ•āĻ“āĻāĻ¸ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž"

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 āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻžāĻ° āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻšāĻ˛ 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

āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻ°āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻœā§‹āĻ¨ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ˛ā§‹āĻ•āĻžāĻ˛āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ A āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ (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

āĻāĻ°āĻĒāĻ°ā§‡, āĻ°āĻŋāĻ­āĻžāĻ°ā§āĻ¸ āĻœā§‹āĻ¨ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž 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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨