[31] bind, DNS실습

|


- 2014.12.18



[Remark]


# vi /etc/resolv.conf

      1 # Generated by NetworkManager

      2 domain mydomain.co.kr

      3 search mydomain.co.kr

      4 nameserver 192.168.1.140        NS_IP

      5 nameserver 192.168.1.2           GATEWAY_IP

      6 nameserver 168.126.63.1         SUPERDNS




1. BIND


[실습]


cd 안에 있는 bind* PKG 설치

(caching-nameserver PKG 는 6.대부터 bind 안에 포함됨)


# mkdir /cd/

# mount /dev/sr0 /cd


# cd /cd/Packages/

# ls bind*

# rpm -qa | grep bind


# rpm -ivh bind-9.8.2-0.30.rc1.el6.i686.rpm

오류: Failed dependencies:

        bind-libs = 32:9.8.2-0.30.rc1.el6 is needed by bind-32:9.8.2-0.30.rc1.el6.i686

# rpm -ivh bind-libs-9.8.2-0.30.rc1.el6.i686.rpm

# rpm -ivh bind-9.8.2-0.30.rc1.el6.i686.rpm

# rpm -ivh bind-chroot-9.8.2-0.30.rc1.el6.i686.rpm bind-dyndb-ldap-2.3-5.el6.i686.rpm bind-utils-9.8.2-0.30.rc1.el6.i686.rpm




[BIND의 설정파일]


DNS는 자기 자신에게 53번 포트로 열려있다.

누구나 들어올 수 있도록 any 를 적어줘야 함

# vi /etc/named.conf

     10 options {

     11         listen-on port 53 { any; };

     12         listen-on-v6 port 53 { any; };


누구나 질의할 수 있도록 설정한다.

     17         allow-query     { any; };


외부에서 내 DNS를 고정으로 사용하지 못하도록 no 로 바꿈

     18         recursion no;


Caching-nameseerver 정보는 이미 적혀있다.

     37 zone "." IN {

     38         type hint;

     39         file "named.ca";

     40 };


5점대는 /etc/named.conf 수정하지만 6점대는 아래 파일을 수정, 맨 아래쪽에 추가

# vi /etc/named.rfc1912.zones

     45 zone "linux.edu.kr" IN {

     46         type master;                        // ns 정의파일

     47         file "linux.edu.kr.zone";       // 정방향역정의(forword_zone)

     48         allow-update { any; };         // update 누구나

     49         allow-transfer { any; };       // 변경도 누구나

     50 };

     51


아래 디렉터리에 해당 ns 정의 파일을 넣으면 된다.

# vi /etc/named.conf

     13         directory       "/var/named";




[NS 설정, forword zone 설정 (정방향영역 설정)]


# vi /var/named/linux.edu.kr.zone

      1 $TTL 86400      ; 1day  // time to live 데이터의 수명

         ---------------- 이 문서가 살아있는 시간, 1 Day

      2 @       IN      SOA     ns.linux.edu.kr. root(

         ---       ---        ----                              ----

기본도메인 인터넷   인증                          e-mail

      3                         77      ; serial  - 현제 데이터의 버전, YYYYMMDD+NN

                                                                    ex) 2014121801

      4                         10800   ; refresh (3 hours)  - slave 측에서 master에 바뀐게 있나 확인하기

      5                         900     ; retry (15 minutes)  - 실패 시 15분 후에 다시 시도

      6                         604800  ; expire (1 week)

                                               ; 헌데 이렇게 1주일동안 계속 실패면 master에서 가져온 정보를 모두 파기

      7                         86400   ; minimum (1 day)  - 외부에서 이 문서 가져다 쓰는 시간

      8                         )

      9         IN      NS      ns.linux.edu.kr.    // 인터넷에서 쓸 Nameserver

     10         IN      A       192.168.1.140      // 인터넷에서 쓸 주소

        #             위쪽은 NameServer 설정, 아래쪽은 Host 설정

     11 www     IN      A       192.168.1.140




[리버스 매핑 설정 (역방향영역 설정)]


정의는 /etc/named.rfc1912.conf 에, 설정은  /var/named/192.168.8.zone 에 한다.

# vi /etc/named.rfc1912.zones

     53 zone "1.168.192.in-addr.arpa" IN {

                    --------------

            호스트는 적지 않고 역으로 적는다.

     54         type master;            // ns 정의 파일

     55         file "192.168.1.zone";  // 역방향 정의(reverse_zone)

     56         allow-update {any; };

     57         allow-transfer {any; };

     58 };


# vi /var/named/192.168.0.zone

      $TTL 86400 ;(= $TTL 1D)

      @       IN      SOA     ns.linux.edu.kr. root(

                              42      ; serial (d. adams)

                              3H      ; refresh

                              15M     ; retry

                              1W      ; expire

                              1D      ; minimum

                              )

              IN      NS      ns.linux.edu.kr.

              IN      A       192.168.1.140

     

      140     IN      PTR     www.linux.edu.kr.

          ---- host       ------ PTR(Point Record) : IP주소에 대해 도메인 명을 매핑 하여 주며, Reverse Zone 파일에서 사용


zone link file 생성은 5점대까지는 수동으로 해줘야 하지만 6점대부턴 자동으로 된다.


zonefile 소유권과 권한값 변경

# chmod 660 /var/named/192.168.1.zone /var/named/linux.edu.kr.zone

# chown .named /var/named/192.168.1.zone /var/named/linux.edu.kr.zone


# /etc/rc.d/init.d/named restart

_default/1.168.192.in-addr.arpa/IN: bad zone

                                                           [실패]


안되는 이유를 찾아보자

1. /etc/hosts

2. /etc/resolv.conf

3. /etc/named.conf

4. /etc/named.rfc1912.zone

5. NS설정 정방향 (/var/named/)

6. NS설정 역방향 (/var/named/)

        ns(소문자) -> www

        mydomain.co.kr -> linux.edu.kr



# vi /etc/hosts

      4 192.168.1.140   www.linux.edu.kr        linux


# vi /etc/reslov.conf

      2 domain linux.edu.kr

      3 search linux.edu.kr


# vi /etc/named.conf

# vi /etc/named.rfc1912.zone


# vi /var/named/192.168.1.zone

      2 @       IN      SOA     www.linux.edu.kr. root(

      9         IN      NS      www.linux.edu.kr


# vi /var/named/linux.edu.kr.zone

      2 @       IN      SOA     www.linux.edu.kr. root(

      9         IN      NS      www.linux.edu.kr


# /etc/rc.d/init.d/named restart


설정 잘 되어있나 ip 및 주소 넣어서 확인

# nslookup




[실습]


지금 까지 설정한 모든 설정 내용 및 DNS 관련 PKG 모두 삭제하세요


# vi /etc/hosts

# vi /etc/resolv.conf

# vi /etc/named.conf

# vi /etc/named.rfc1912.zones

# rpm -e bind-utils

# rpm -e bind-chroot

# rpm -e bind-dyndb-ldap

# rpm -e bind

경고: /etc/named.conf(이)가 /etc/named.conf.rpmsave(으)로 저장되었습니다

# rm /etc/named.conf.rpmsave

# rpm -e bind-libs

# rm /var/named/192.168.1.zone /var/named/linux.edu.kr.zone




[문제]


host : www

domain : samadal.com

위와 같이 설정해서 nslookup으로 확인 시 정상적으로 나오도록 해보세요


# mount /dev/sr0 /cd

# cd /cd/Packages/

# ls bind*

# rpm -ivh bind-libs-9.8.2-0.30.rc1.el6.i686.rpm

...

# vi /etc/hosts

      3 192.168.1.141   www.samadal.com         samadal.com


# vi /etc/resolv.conf

      2 domain samadal.com

      3 search samadal.com

      4 nameserver 192.168.1.141

      5 nameserver 192.168.1.2

      6 nameserver 168.126.63.1


# vi /etc/named.conf

     11         listen-on port 53 { any; };

     12         listen-on-v6 port 53 { any; };

     17         allow-query     { any; };

     18         recursion no;


# vi /etc/named.rfc1912.zones

     44 zone "samadal.com" IN {

     45         type master;

     46         file "samadal.com";

     47         allow-update { none; };

     48 };

     49

     50 zone "1.168.192.in-addr.arpa" IN {

     51         type master;

     52         file "192.168.1.zone";

     53         allow-update { none; };

     54 };


# vi /var/named/samadal.com

      1 $TTL 1D

      2 @       IN      SOA     www.samadal.com. root(

      3                         77

      4                         3H

      5                         15M

      6                         1W

      7                         1D

      8                         )

      9         IN      NS      www.samadal.com.

     10         IN      A       192.168.1.141

     11 www     IN      A       192.168.1.141


# cp /var/named/samadal.com /var/named/192.168.1.zone


# vi /var/named/192.168.1.zone

      1 $TTL 1D

      2 @       IN      SOA     www.samadal.com. root(

      3                         42

      4                         3H

      5                         15M

      6                         1W

      7                         1D

      8                         )

      9         IN      NS      www.samadal.com.

     10         IN      A       192.168.1.141

     11 141     IN      PTR     www.samadal.com.


# chmod 660 /var/named/samadal.com /var/named/192.168.1.zone

# chown .named /var/named/samadal.com /var/named/192.168.1.zone


# /etc/rc.d/init.d/named restart




And