728x90
반응형
  • Ansible에서 common에서 초기 설정은 살고 있는 전제
  • CentOS 7 64bit

 

BIND설치

/usr/libexec/setup-named-chroot.sh /var/named/chroot/ on

BIND chroot환경의 초기화

BIND의 자동 실행 설정

systemctl enable named-chroot.service

/etc/named.conf의 편집

vi /etc/named.conf
728x90
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html


acl naver-networks-local {
    10.0.0.0/8;
    192.168.0.0/16;
};


options {
    listen-on port 53 { any; };
    listen-on-v6 port 53 { none; };
    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; naver-networks-local; };
    allow-transfer  { localhost; naver-networks-local; };
    forwarders { 10.70.0.2; };
    /* forwarders { 118.238.201.33; 118.238.201.49; }; */
    /* forwarders { 8.8.8.8; 8.8.4.4; }; */
    forward only;


    /*
     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     - If you are building a RECURSIVE (caching) DNS server, you need to enable
       recursion.
     - If your recursive DNS server has a public IP address, you MUST enable access
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface
    */
    recursion yes;


    dnssec-enable no;
    dnssec-validation no;


    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";


    managed-keys-directory "/var/named/dynamic";


    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};


logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};


view "internal"
{
    match-clients       { localhost; cocone-networks-local; };
    match-destinations  { localhost; cocone-networks-local; };
    recursion yes;


    zone "." IN {
        type hint;
        file "named.ca";
    };


    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
};



BIND의 정지/기동 등의 조작

systemctl stop named-chroot.service
systemctl start named-chroot.service
systemctl reload named-chroot.service
728x90
300x250

'IT > Bind' 카테고리의 다른 글

Bind 환경설정  (0) 2021.07.29
Bind 기타 명령에 대한 설명  (0) 2021.07.29
Bind named.conf 파일 설정  (0) 2021.07.29
Bind Dig 명령어에 대해  (0) 2021.07.29
Bind 기초정보와 용어  (0) 2021.07.29
728x90
반응형

환경설정


기동환경

 - IPv6 를 무효로 하다

    ㄴ /etc/sysconfig/named에 옵션 추가.

OPTIONS="-4"

 

 - named.conf에서 ipv6의 무효화. 아래의 항목을 설정한다.

listen-on-v6 port 53 { none; };

 

로그설정


출력 로그를 디폴트에서 변경하므로 로테이션 설정이 필요하다.

 - /etc/logrotate.d/named

/var/named/data/query.log
/var/named/data/default.log
/var/named/data/named_stats.txt
{
    daily
    rotate 7
    missingok
    create 0644 named named
    postrotate
        /sbin/service named reload  2> /dev/null > /dev/null || true
    endscript
}
728x90
300x250

'IT > Bind' 카테고리의 다른 글

DNS서버 구축 메모  (0) 2021.08.19
Bind 기타 명령에 대한 설명  (0) 2021.07.29
Bind named.conf 파일 설정  (0) 2021.07.29
Bind Dig 명령어에 대해  (0) 2021.07.29
Bind 기초정보와 용어  (0) 2021.07.29
728x90
반응형

기타 명령어


named.conf 구문 체크


named-checkconf 파일 이름

chroot 환경에서는 chroot의 디렉토리를 지정한다.

named-checkconf -t /var/named/chroot

 

rndc 명령어


영역 설정 새로 고침

- bind를 재기동하면 캐시 데이터가 클리어되므로 그것을 피하기 위해 존 정보의 갱신뿐이라면 해당 존만 다시 읽으면 된다.

rndc reload 존명

존명을 생략했을 경우는 모든 존 파일이 읽혀진다. 다만 읽히는 것은 Serial Number 가 변경 되었을 경우만..

service 명령으로 관리되고 있는 경우는 service에서 reload 해도 마찬가지.

 

영역 전송 즉시 실행

- 슬레이브 측에서 존 전송을 실행한다.

rndc refresh 존명

존명의 지정이 없는 경우는 모든 구역이 궁합이 된다. 다만 Serial Number 가 변경 되었을 경우만..

 

캐시 데이터 확인

 - 캐시로 보유하고 있는 데이터를 파일에 써서 확인한다.

rndc dumpdb

캐시 데이터는 /var/named/chroot/var/named/data/cache_dump.db 에 작성된다.

728x90
300x250

'IT > Bind' 카테고리의 다른 글

DNS서버 구축 메모  (0) 2021.08.19
Bind 환경설정  (0) 2021.07.29
Bind named.conf 파일 설정  (0) 2021.07.29
Bind Dig 명령어에 대해  (0) 2021.07.29
Bind 기초정보와 용어  (0) 2021.07.29
728x90
반응형

named.conf 파라미터 목록


Parameter Name Statements Outline etc
also-notify zone bind 재부팅 시 NS 레코드에 등록되어 있는 서버에 존 전송의 notify 메시지를 송신하는데, 등록되어 있지 않은 서버에 송신할 경우에는 이 파라미터로 대상 서버를 추가한다.  
allow-recursion options 지정된 호스트에서만 재기 질의를 허가한다. zone 스테이트먼트내에 기술하면 에러가 되므로 주의. 제한하는 것은 재기 질의뿐
allow-query options/zone 지정된 호스트에서만 질의를 허용한다.  
allow-transfer options/zone 지정한 호스트에게만 존 전송을 허용한다.  
blackhole options 지정 호스트로부터의 액세스를 거부한다.  
acl global 액세스를 제어할 경우에 지정하는 호스트의 에일리어스. 각종 제한 옵션으로 이용할 수 있다. 일원화 관리를 통해 수정 대응이 쉬워진다.  
recursion options no를 지정하여 재기 질의를 금지한다.  
max-cache-ttl options 캐시의 TTL 을 강제로 지정된 값으로 고쳐 쓴다.  
max-ncache-ttl options 네거티브 캐시의 TTL 를 강제적으로 고쳐 쓴다.  
max-cache-size options 캐시로 사용하는 데이터 크기를 제한한다.  
version options 버전 정보를 다시 쓴다. 외부에서 사용 버전을 보이지 않게 한다.  
forward options forwarders 가 지정되어 있을 때만 유효하게 된다. 값은 first or only.
디폴트는 first로, only가 지정되면 스스로 해결할 수 없다고 말하게 되면 모두 forwaders로 지정한 서버로 향한다.
 
forwarders options 쿼리를 전송할 전송처 서버를 지정. 기본값은 전송하지 않는다. 복수 지정 가능.  

 

728x90
300x250

'IT > Bind' 카테고리의 다른 글

DNS서버 구축 메모  (0) 2021.08.19
Bind 환경설정  (0) 2021.07.29
Bind 기타 명령에 대한 설명  (0) 2021.07.29
Bind Dig 명령어에 대해  (0) 2021.07.29
Bind 기초정보와 용어  (0) 2021.07.29
728x90
반응형

dig 커맨드


bind-utils에 부속되어 있는 DNS에 질의하는 커맨드.

질의나 존 전송 확인 등을 할 수 있다.

 * Unix/Linux 계정의 호스트로부터 진행합니다. Windows의 경우는 nslookup을 사용합니다.

 

질의


기본 커맨드 구조

dig 질의명 [레코드 타입] [@네임서버명] [쿼리 옵션들] [dig 옵션]
순서는 상관 없습니다.
ex ) dig naver.com A @1.1.1.1 +dnssec +trace
레코드 타입 A/MX/NS 등의 레콛드 타입을 지정하고 질의 한다.
지정이 없는 경우 A 레코드(CNAME) 이다.
여기서 AXFR를 지정한 경우 해당 도메인이 Zone-Transfer를 허용하는지 체크하는 용도로 사용됨
@네임서버명 리퀘스트를 하는 서버를 지정, 지정이 없으면 /etc/resolv.conf의 설정에 근거하고 네임 서버를 결정한다.
쿼리 옵션 옵션을 사용하여 질의의 방법과 결과의 표시를 커스터마이즈 가능
아래는 일부
+[no]tcp     : 질의시 TCP를 사용 / 디폴트는 사용하지 않음
+[no]recur   : 재 질의를 하지 않는다. 존의 설정을 확인 할 때 등 유용 / 디폴트 재질의 함
+[no]defname : /etc/resolv.conf 기본 도메인 이름을 추가함
+trace       : DNS 질의과정을 Root DNS로 부터 모두 표시 (Flow 확인)
+dnssec      : DNSSEC 검증 수행 (네임서버에 RRSIG이 붙는다)
dig 옵션 dig 명령에 추가 옵션
-x IP 주소 : 역순으로 한다
-f 파일네임 : 배치모드에서 실행
-T time : 배치모드에서 실행 했을 때 초단위로 설정하여 질의
-p port : 질의서버의 포트를 지정​

 

728x90
300x250

'IT > Bind' 카테고리의 다른 글

DNS서버 구축 메모  (0) 2021.08.19
Bind 환경설정  (0) 2021.07.29
Bind 기타 명령에 대한 설명  (0) 2021.07.29
Bind named.conf 파일 설정  (0) 2021.07.29
Bind 기초정보와 용어  (0) 2021.07.29
728x90
반응형

링크 : Internet Systems Consortium | BIND

 

설치


yum에서 설치 가능.bind-chroot을 설치할 뿐 chroot환경에서 동작시킬 수 있다(기동시에/var/named/chroot에 파일이 이동한다). 

# yum install bind bind-chroot
# chkconfig named on

 

기초정보와 용어


DNS에 관한 기본 용어


스탑 리졸버 DNS로의 문의를 하는 측(클라이언트)에 존재해, 어플리케이션과 이름해결을 주고 받는다.
풀 서비스 리졸버 클라이언트로부터의 문의에 응답하는 캐시 서버.
TTL Time To Live의 약자 각종 캐시되는 데이터의 유효기간.기본 단위는 「초」. TTL 의 표기는 이하를 사용할 수 있다.
W(주간) : 604800
D(일간) : 86400
H(시간) : 3600
M(분간) : 60
S(초)  : 1


 

기초정보


마스터 서버와 슬레이브 서버

용장성을 갖기 위해서 여러대의 DNS를 운용할 경우 각각 같은 존 데이터를 가지고 있을 필요가 있다.

이를 구현하기 위해서 존 데이터 원본을 1대의 서버에 두고(마스터 서버), 그것을 "존 전송"에 의해서 카피로 받은 서버(슬레이브 서버)를 설치한다.마스터 서버는 하나의 존에 대해서 1대만 나온다.슬레이브 서버에 제한은 없다.

또한 마스터 서버와 슬레이브 서버에 관한 아래의 해석은 착각입니다.

  • 슬레이브 서버는 백업에서 마스터 서버에 장애가 있을 때만 이용된다
  • 존 문의는 마스터 서버에 대해 이루어지며 실패 시 슬레이브 서버에 문의된다

정확한 것은,"문의는 마스터, 슬레이브에 관계 없이 이루어진다"이다.

마스터 서버와 슬레이브 서버의 차이는 전 지역 데이터를 가지고 있는지 카피를 가지고 있는지의 차이밖에 없다.
이 때문에 마스터 서버와 슬레이브 서버는 물리적으로 다른 위치에 설치되는 것이 바람직하다.

 

728x90
300x250

'IT > Bind' 카테고리의 다른 글

DNS서버 구축 메모  (0) 2021.08.19
Bind 환경설정  (0) 2021.07.29
Bind 기타 명령에 대한 설명  (0) 2021.07.29
Bind named.conf 파일 설정  (0) 2021.07.29
Bind Dig 명령어에 대해  (0) 2021.07.29

+ Recent posts