Red Hat(RHEL/CentOS) 7์šฉ chroot ํ™˜๊ฒฝ์—์„œ BIND DNS ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

์ˆ˜๊ฐ•์ƒ์„ ์œ„ํ•ด ์ค€๋น„ํ•œ ๊ธฐ์‚ฌ ๋ฒˆ์—ญ "๋ฆฌ๋ˆ…์Šค ๋ณด์•ˆ". ์ด ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์ „ํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์œผ์‹ญ๋‹ˆ๊นŒ? Ivan Piskunov์˜ ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค ๋ฐฉ์†ก ๋…นํ™”๋ฅผ ์‹œ์ฒญํ•˜์„ธ์š” "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/

๋ช…๋ช…๋œ.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 โ€” ์—ญ๋ฐฉํ–ฅ ์˜์—ญ ํŒŒ์ผ.

์ค‘์š” ์ฐธ๊ณ  ์‚ฌํ•ญ: ๋‚ด IP ์ฃผ์†Œ๊ฐ€ 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/

๋‹ค์Œ์œผ๋กœ ์ •๋ฐฉํ–ฅ ๋ฐ ์—ญ๋ฐฉํ–ฅ ์˜์—ญ์— ๋Œ€ํ•œ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„์€ ํŒŒ์ผ์—์„œ ์œ„์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ช…๋œ.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)์— ๋Œ€ํ•œ A ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

# 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.

์„œ๋น„์Šค๋ฅผ ์ถœ์‹œํ•˜๊ธฐ ์ „์— ๋ช…๋ช…๋œ chroot, zone ํŒŒ์ผ์˜ ๊ตฌ์„ฑ์„ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

[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

๋ณด์‹œ๋‹ค์‹œํ”ผ, ์š”์ฒญ(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์— ๋ณต์‚ฌํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ด ๋ฌธ์„œ๋Š” ์•ฝ๊ฐ„ ์˜ค๋ž˜๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹จ๊ณ„๋ณ„ ํŠœํ† ๋ฆฌ์–ผ: ๋ฐ”์ธ๋”ฉ chroot๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ์„œ๋ฒ„ ๊ตฌ์„ฑ(CentOS/RHEL 7).

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€