Red Hat (RHEL/CentOS) 7-เดจเตเดณเตเดณ chroot เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ BIND DNS เดธเต†เตผเดตเตผ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด˜เดŸเตเดŸเด‚ เด˜เดŸเตเดŸเดฎเดพเดฏเตเดณเตเดณ เด—เตˆเดกเต

เด•เต‹เดดเตโ€Œเดธเต เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเดฐเดฟเดญเดพเดท "เดฒเดฟเดจเด•เตเดธเต เดธเตเดฐเด•เตเดท". เดˆ เดฆเดฟเดถเดฏเดฟเตฝ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต‹? เด‡เดตเดพเตป เดชเดฟเดธเตเด•เตเดจเต‹เดตเดฟเดจเตเดฑเต† เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต† เดชเตเดฐเด•เตเดทเต‡เดชเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เด•เดพเดฃเตเด• "Windows, MacOS เดŽเดจเตเดจเดฟเดตเดฏเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดฒเดฟเดจเด•เตเดธเดฟเดฒเต† เดธเตเดฐเด•เตเดท"

Red Hat (RHEL/CentOS) 7-เดจเตเดณเตเดณ chroot เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ BIND DNS เดธเต†เตผเดตเตผ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด˜เดŸเตเดŸเด‚ เด˜เดŸเตเดŸเดฎเดพเดฏเตเดณเตเดณ เด—เตˆเดกเต

เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, RHEL 7 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ CentOS 7-เตฝ เด’เดฐเต DNS เดธเต†เตผเดตเตผ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด˜เดŸเตเดŸเด™เตเด™เดณเดฟเดฒเต‚เดŸเต† เดžเดพเตป เดจเดฟเด™เตเด™เดณเต† เดจเดฏเดฟเด•เตเด•เตเด‚. เดกเต†เดฎเต‹เตบเดธเตโ€ŒเดŸเตเดฐเต‡เดทเดจเดพเดฏเดฟ เดžเดพเตป Red Hat Enterprise Linux 7.4 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เดซเต‹เตผเดตเต‡เดกเต, เดฑเดฟเดตเต‡เดดเตเดธเต เดฒเตเด•เตเด•เดชเตเดชเต เดธเต‹เดฃเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดฏเดฅเดพเด•เตเดฐเดฎเด‚ เด’เดฐเต เดŽ เดฑเต†เด•เตเด•เต‹เตผเดกเตเด‚ เด’เดฐเต เดชเดฟเดŸเดฟเด†เตผ เดฑเต†เด•เตเด•เต‹เตผเดกเตเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดžเด™เตเด™เดณเตเดŸเต† เดฒเด•เตเดทเตเดฏเด‚.

เด†เดฆเตเดฏเด‚, 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 เดซเดฏเตฝ เดซเต‹เตผเดตเต‡เดกเต เดฒเตเด•เตเด•เดชเตเดชเต เดธเต‹เตบ เดซเดฏเดฒเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เด‰เดฆเดพเดนเดฐเดฃเด‚.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@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

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดซเต‹เตผเดตเต‡เดกเต เดธเต‹เตบ เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด‰เดณเตเดณเดŸเด•เตเด•เด‚ เดšเต‡เตผเด•เตเด•เตเด•. เด‡เดตเดฟเดŸเต† เดžเด™เตเด™เตพ เดฒเต‹เด•เตเด•เตฝเดนเต‹เดธเตเดฑเตเดฑเดฟเดจเต (golinuxhub-client) เด’เดฐเต A เดฑเต†เด•เตเด•เต‹เตผเดกเตเด‚ เดธเต†เตผเดตเดฑเดฟเดจเดพเดฏเดฟ เดฎเดฑเตเดฑเตŠเดจเตเดจเตเด‚ (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.

เดžเด™เตเด™เตพ เดธเต‡เดตเดจเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดชเต‡เดฐเต-เด•เตเดฐเต‹เดŸเตเดŸเต, เดจเดฎเตเด•เตเด•เต เดธเต‹เตบ เดซเดฏเดฒเดฟเดจเตเดฑเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚.

[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

เดŽเดฒเตเดฒเดพเด‚ เดฎเดฟเด•เดšเตเดšเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดžเด™เตเด™เดณเตเดŸเต† เดธเต‡เดตเดจเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต เดชเต‡เดฐเต-เด•เตเดฐเต‹เดŸเตเดŸเต .

[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) เด’เดฐเต เดจเดฒเตเดฒ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ (เด‰เดคเตเดคเดฐเด‚) เดฒเดญเดฟเดšเตเดšเต.

[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 (CentOS/RHEL 7) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต DNS เดธเต†เตผเดตเตผ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด•.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•