[named] BIND 관리를 위한 RNDC 설정

BIND 관리를 위한 RNDC 설정

bind 서버를 로컬 및 원격지에서 관리하기 위한 Tool로써 보다 향상된 보안 기능을 포함하고 있다. 이것은 클라이언트에 해당되는 Tool로써 제공된다. 그러나 rndc 명령어를 실행할 때마다 별도의 옵션이 필요하기 때문에 rndc.conf 파일을 생성하여 보다 쉽게 사용할 수 있도록 한다.

 

rndc-confgen

rndc-confgen 명령어는 rndc.conf 파일을 보다 쉽게 생성해주는 명령어로 보다 향상된 DNS 서버를 관리하기 위해 제공된 유틸리티로 BIND 서버와 별도로 사용된다.

rndc-confget 옵션

옵 션

설 명

-a

자동으로 “/etc/rndc.key”파일을 생성해주는 옵션으로 만약 생략한다면 표준출력 즉 모니터로 출력이 된다.

-b

생성할 키 사이즈를 설정할 수 있으면 1~512 사이의 bit을 사용할 수 있다. 기본값으로 128bit이다.

-c

키 파일을 지정

-k

사용하고자 하는 키 이름을 지정

-p

rndc 유틸리티가 사용하고자 하는 포트를 설정

-s

rndc를 사용하고자 하는 소스IP를 지정

-t

chroot 환경에서의 최상위 디렉토리 설정

-u

지정한 사용자로 rndc.conf 파일을 생성

먼저 /etc/rndc.conf 파일을 생성하기 위해 다음과 같이 설정을 입력한다.

# rndc-confgen -b 512 -u named -k rndc-key -p 953 -s 127.0.0.1

위와 같이 생성이 되는데 출력 결과를 파일로 저장한다면 “>”을 이용하여 저장한다.

# rndc-confgen -b 512 -u named -k rndc-key -p 953 -s 127.0.0.1 > /etc/rndc.conf

rndc를 이용하여 서버를 관리하기 위해 named.conf 에서도 각 옵션을 설정해 주어야 하며 controls 에 의해 제어할 수 있다.

 

named.conf 에 적용

vi named.conf” 을 열고 “rrndc.conf” 을 이용하여 파일을 불러온 후 다음만 남겨두고 삭제한다. 위에서 주석이 해제된 부분은 BIND 서버에 rndc 명령어를 이용하여 접속하고자 할 때 사용할 수 있는 설정이며 하단에 주석으로 처리된 부분인 named.conf에서 설정해야 하는 부분이다. 만약 rndc.conf 파일을 작성하지 않았다면 rndc 명령에서 제공하는 옵션을 이용하여 각각 접속을 해야 한다.

# cat /etc/rndc.conf

# Start of rndc.conf

key "rndc-key" {

algorithm hmac-md5;

secret "cknwI3oQuW1hlVQQh1MSHRpLAIpb/VnZoN+31l7VVRLUqYsAyZWErimftx8kS1RZBH8QqvPrVvMwonvl65KF/Q==";

};

options {

default-key "rndc-key";

default-server 127.0.0.1;

default-port 953;

};

# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:

# key "rndc-key" {

# algorithm hmac-md5;

# secret "cknwI3oQuW1hlVQQh1MSHRpLAIpb/VnZoN+31l7VVRLUqYsAyZWErimftx8kS1RZBH8QqvPrVvMwonvl65KF/Q==";

# };

#

# controls {

# inet 127.0.0.1 port 953

# allow { 127.0.0.1; } keys { "rndc-key"; };

# };

# End of named.conf

 

rndc

위의 내용으로 원격지 및 로컬에서 “rndc” 명령어를 이용하여 네임서버를 제어할 수 있다. 다음은 rndc 명령에서 제공하는 명령어에 대한 설명이다.

rndc 명령어

설 명

ndc reload

rnamed.conf 파일과 zone 파일를 다시 로드

rndc reload zone

zone 파일을 다시 로드

rndc reconfig

named.conf 와 새롭게 생성 된 zone 파일을 다시 로드

rndc stats

통계 파일 생성(쓰기)

statistics-file "/var/named/data/named_stats.txt";

rndc querylog

질의에 관련된 로그를 설정

rndc dumpdb

DB에 대한 덤프 설정(덤프 파일 생성)

dump-file "/var/named/data/cache_dump.db";

rndc status

BIND 서버에 대한 통계 출력

rndc recursing

현재 외부 질의하고 있는 쿼리를 수집

/var/named/named.recursing

rndc flush

캐시(cache) 삭제

rndc retransfer zone

단일 영역 동기화

 

[named] whois 유틸을 이용한 ASN 정보조회

whois 유틸을 이용한 ASN 정보조회

$ dig google.co.kr

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.6 <<>> google.co.kr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25372
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;google.co.kr.   IN A

;; ANSWER SECTION:
google.co.kr.  300 IN A 74.125.129.94

;; AUTHORITY SECTION:
google.co.kr.  83365 IN NS ns1.google.com.
google.co.kr.  83365 IN NS ns2.google.com.
google.co.kr.  83365 IN NS ns3.google.com.
google.co.kr.  83365 IN NS ns4.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.  190320 IN A 216.239.32.10
ns2.google.com.  190320 IN A 216.239.34.10
ns3.google.com.  190320 IN A 216.239.36.10
ns4.google.com.  190320 IN A 216.239.38.10

;; Query time: 345 msec
;; SERVER: 61.78.35.195#53(61.78.35.195)
;; WHEN: Tue Mar 12 10:54:26 2013
;; MSG SIZE  rcvd: 192


$ whois -h whois.cymru.com " -v 74.125.129.94"
[Querying whois.cymru.com]
[whois.cymru.com]
AS      | IP               | BGP Prefix          | CC | Registry | Allocated  | AS Name
15169   | 74.125.129.94    | 74.125.129.0/24     | US | arin     | 2007-03-13 | GOOGLE - Google Inc.

 

[named] named 계정 생성

named 계정 생성

# useradd -m -d /var/named -c "NAMED" -s /sbin/nologin -u 25 named

# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin

[named] recursive clients

recursive clients 개수

# rndc status | grep recursive
recursive clients: 6/10000

// recursive clients 수가 200이상 증가 시,
// 외부 통신이 불가능한 상황이 발생한다.

# rndc recursing
// 현재 외부 질의를 하고 있는 퀴리를 수집

# vi /var/named/named.recursing (recursing queries 로그 확인)
-----------------------------------------------------------------
;
; Recursing Queries
;
; client 152.149.80.2#35056: '118.220.172.71.co.kr' requesttime 1245718851
; client 152.149.73.143#49185: 'grafjasqq.ru' requesttime 1245718858
; client 152.149.73.143#49185: 'grafjasqq.ru' requesttime 1245718862
; client 152.149.80.2#35151: '118.220.172.71.co.kr' requesttime 1245718869
; client 152.149.73.143#49686: 'grafjasqq.ru' requesttime 1245718875
; Dump complete
~
-----------------------------------------------------------------

// blackhole에 IP 등록

# vi /etc/named.conf
-----------------------------------------------------------------
options {
        blackhole {131.123.123.19;};
};
-----------------------------------------------------------------

# rndc relocad

[named] named.localhost ZONE 파일

named.localhost ZONE 파일

 $TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1

 

◀ PREV 1···127128129130131 NEXT ▶