Itọsọna igbesẹ nipasẹ igbesẹ lati ṣeto olupin DNS BIND ni agbegbe chroot fun Red Hat (RHEL/CentOS) 7

Translation ti awọn article pese sile fun dajudaju omo ile "Aabo Linux". Ṣe o nifẹ si idagbasoke ni itọsọna yii? Wo awọn gbigbasilẹ ti igbohunsafefe ti Ivan Piskunov ká titunto si kilasi "Aabo ni Lainos akawe si Windows ati MacOS"

Itọsọna igbesẹ nipasẹ igbesẹ lati ṣeto olupin DNS BIND ni agbegbe chroot fun Red Hat (RHEL/CentOS) 7

Ninu àpilẹkọ yii, Emi yoo rin ọ nipasẹ awọn igbesẹ lati ṣeto olupin DNS kan lori RHEL 7 tabi CentOS 7. Mo lo Red Hat Enterprise Linux 7.4 fun ifihan. Ibi-afẹde wa ni lati ṣẹda igbasilẹ A kan ati igbasilẹ PTR kan fun awọn agbegbe wiwa siwaju ati yiyipada, lẹsẹsẹ.

Ni akọkọ, fi sori ẹrọ awọn idii rpm pataki fun olupin DNS.

AKIYESI: Fun RHEL o gbọdọ ni ti nṣiṣe lọwọ RHN alabapin, tabi o le ṣeto ibi ipamọ aisinipo agbegbe kan, pẹlu eyiti oluṣakoso package “yum” le fi awọn idii rpm pataki ati awọn igbẹkẹle sori ẹrọ.

# yum install bind bind-chroot caching-nameserver

Eto mi:

# 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

Niwọn igba ti a yoo lo chroot, a nilo lati mu iṣẹ naa ṣiṣẹ.

# systemctl stop named
# systemctl disable named

Lẹhinna daakọ awọn faili ti a beere sinu ilana chroot.
AKIYESI. Lo ariyanjiyan -p ninu egbe kan cp lati tọju awọn ẹtọ ati awọn oniwun.

[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’

Lẹhinna daakọ awọn faili ti o ni nkan ṣe pẹlu agbegbe si ipo titun kan.

[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/

Ko awọn awọn akoonu ti named.conf ati ki o lẹẹmọ awọn wọnyi.

[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";
};

Alaye kan pato agbegbe gbọdọ wa ni afikun si /var/ti a npè ni/chroot/etc/named.rfc1912.zones. Fi awọn titẹ sii ni isalẹ. Faili apere.zone jẹ faili agbegbe wiwa siwaju, ati apẹẹrẹ.rzone - yiyipada agbegbe faili.

AKIYESI PATAKI: Agbegbe wiwa pada ni 1.168.192 ninu nitori adiresi IP mi jẹ 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; };
};

Awọn faili ti o ni nkan ṣe pẹlu awọn agbegbe wa nibi:

# cd /var/named/chroot/var/named/

Nigbamii, a yoo ṣẹda awọn faili fun awọn agbegbe iwaju ati yiyipada. Awọn orukọ faili yoo jẹ kanna bi loke ninu faili naa ti a npè ni.rfc1912.awọn agbegbe. A ti ni ọpọlọpọ awọn awoṣe aiyipada ti a le lo.

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

Bi o ṣe le rii, awọn igbanilaaye lọwọlọwọ lori gbogbo awọn faili ati awọn ilana jẹ ti 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

Yi awọn igbanilaaye ti gbogbo awọn faili lati tọkasi olumulo bi eni root ati ẹgbẹ ti a npè ni.

# chown root:named *

Ṣugbọn fun data oluwa gbọdọ jẹ oruko: oruko.

# 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

Ṣafikun akoonu atẹle si faili agbegbe iwaju rẹ. Nibi a ṣẹda igbasilẹ A fun localhost (onibara golinuxhub) ati omiiran fun olupin naa (olupin 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

Nigbamii, ṣafikun akoonu si faili agbegbe yiyipada. Nibi ti a ṣẹda a PTR gba fun golinuxhub-onibara ati fun 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.

Ṣaaju ki a to bẹrẹ iṣẹ naa ti a npè ni-chroot, jẹ ki a ṣayẹwo iṣeto ni ti agbegbe faili.

[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

Ohun gbogbo wulẹ dara. Bayi ṣayẹwo faili iṣeto ni lilo pipaṣẹ atẹle.

[root@golinuxhub-client named]# named-checkconf -t /var/named/chroot/ /etc/named.conf

Nitorinaa, ohun gbogbo ti pari ni aṣeyọri.

[root@golinuxhub-client named]# echo $?
0

AKIYESI PATAKI: Mo ni SELinux ni ipo iyọọda

# getenforce
Permissive

Ohun gbogbo dabi pe o dara, nitorinaa o to akoko lati ṣe ifilọlẹ iṣẹ wa ti a npè ni-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

Bi o ti le rii, a gba esi rere (IDÁHÙN) si ibeere wa (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

A le ṣayẹwo agbegbe taara ni ọna kanna.

[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

Nkan yii jẹ igba atijọ diẹ bi ni RHEL 7 o ko nilo lati daakọ awọn faili iṣeto ni dipọ sinu chroot. Ikẹkọ Igbesẹ-Igbese: Tunto olupin DNS nipa lilo chroot dipọ (CentOS/RHEL 7).

orisun: www.habr.com

Fi ọrọìwòye kun