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 เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉ‡เจฐเจพ 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 เจตเจฟเฉฑเจš เจฌเจพเจˆเจก เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ•เจฆเจฎ-เจฆเจฐ-เจ•เจฆเจฎ เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจ…เจฒ: เจฌเจพเจˆเจ‚เจก เจ•เฉเจฐเฉ‹เจŸ (CentOS/RHEL 7) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ DNS เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเฉ‹.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹