DNS VIEW 주종 구축

11485 단어
환경:
운영 체제: CentOS release 6.5(Final)
master:10.59.77.27  
slave: 10.59.77.29
수요: 내부 네트워크 10.59.77.38을 가설하여 dnsmaster에 접근하고salt를 해석합니다.a.pa.com 주소는 10.10.100.200 외부 네트워크 10.59.77.28에 dnsmaster를 방문하여salt를 해석합니다.a.pa.com 주소는 10.10.100.201로 스마트 DNS 분석 마스터 구성을 완료합니다.
1 dnssec-keygen -a HMAC-MD5 - b 128 - n USER testkey 명령을 사용하여 키를 생성합니다.
nnssec-keygen: 업데이트 키를 만드는 데 사용합니다.
- a HMAC-MD5: HMAC-MD5 암호화 알고리즘을 사용합니다.
- b 128: 생성된 키 길이는 128비트입니다.
- n USER testkey: 키의 사용자 이름은 testkey입니다.
내부 네트워크 키:
4
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST internal
외부 네트워크 키:
4
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST external
파일을 생성하고 다음 키를 확인합니다.
[root@test-zabbix-agent ~]# ls -lthr
-rw-------   1 root root    52 Jul 24 09:54 Kinternal.+157+50879.key
-rw-------   1 root root   165 Jul 24 09:54 Kinternal.+157+50879.private
-rw-------   1 root root   165 Jul 24 09:58 Kexternal.+157+48279.private
-rw-------   1 root root    52 Jul 24 09:58 Kexternal.+157+48279.key

[root@test-zabbix-agent ~]# cat Kinternal.+157+50879.key
internal. IN KEY 512 3 157 lsNaNoce0PCxGpR/YQzRcg==

[root@test-zabbix-agent ~]# cat Kexternal.+157+48279.key
external. IN KEY 512 3 157 Ixo6/9bJIU13abl14WJOiA==

마스터, 슬레이브 메인 파일에 키 정보 추가
2 마스터 파일을 수정하려면 다음과 같이 하십시오.
[root@test-zabbix-agent ~]# cat /etc/named.conf
//
// 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.
//


options {
#	listen-on port 53 { 127.0.0.1; };
#	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     { any; };
        allow-transfer  { 10.59.77.29; };
        also-notify     { 10.59.77.29; };
 recursion yes;


 dnssec-enable yes;
 dnssec-validation yes;
 dnssec-lookaside auto;


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


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


logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
        channel query_log {
                      file "data/query.log"    versions 3 size 50m;
                      severity    dynamic;
                      print-time    yes;
                      print-category  yes;
              };
              category queries {
                      query_log;
              };
};


acl "internal" { 10.59.77.27;10.59.77.38;};  #  client ip 10.59.77.38


acl "external" { 10.59.77.28;}; #  client ip 10.59.77.28


key INSIDE {
         algorithm hmac-md5;                   #         
         secret "lsNaNoce0PCxGpR/YQzRcg==";    #     
};


key OUTSIDE {
         algorithm hmac-md5;
         secret "Ixo6/9bJIU13abl14WJOiA==";
};


view "inside" in {
    match-clients { key INSIDE; "internal"; };    # key,acl
    server 10.59.77.29 { keys INSIDE; };


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

    zone "a.pa.com" IN {
            type master;
            file "named.a.pa.com";
            allow-update { key INSIDE; };     # none    key INSIDE
            notify yes;
    };
    
};


view "outside" in {
    match-clients { key OUTSIDE; "external"; };
    server 10.59.77.29 { keys OUTSIDE; };


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

    
    zone "a.pa.com" IN {
            type master;
            file "a.pa.com";
            allow-update { key OUTSIDE; };
            notify yes;
    };
};




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

3 영역 구성 파일 수정
[root@test-zabbix-agent named]# cat named.a.pa.com 
$ORIGIN .
$TTL 600	; 10 minutes
a.pa.com		IN SOA	master.a.pa.com. root.a.pa.com. (
				2015052211 ; serial
				10800      ; refresh (3 hours)
				900        ; retry (15 minutes)
				604800     ; expire (1 week)
				86400      ; minimum (1 day)
				)
			NS	master.a.pa.com.
			NS	slave.a.pa.com.
			MX	10 master.a.pa.com.
$ORIGIN a.pa.com.
elk			A	10.10.100.201
git			A	10.10.100.201
master			A	10.59.77.27
mirrors			A	10.10.100.201
$TTL 86400	; 1 day
rr			A	10.10.10.38
$TTL 600	; 10 minutes
salt			A	10.10.100.200
[root@test-zabbix-agent named]# cat a.pa.com 
$ORIGIN .
$TTL 600	; 10 minutes
a.pa.com		IN SOA	master.a.pa.com. root.a.pa.com. (
				2015052207 ; serial
				10800      ; refresh (3 hours)
				900        ; retry (15 minutes)
				604800     ; expire (1 week)
				86400      ; minimum (1 day)
				)
			NS	master.a.pa.com.
			NS	slave.a.pa.com.
			MX	10 master.a.pa.com.
$ORIGIN a.pa.com.
elk			A	10.10.100.201
git			A	10.10.100.201
master			A	10.59.77.27
mirrors			A	10.10.100.201
$TTL 86400	; 1 day
rr			A	10.10.10.30
$TTL 600	; 10 minutes
salt			A	10.10.100.201

slave 구성:
마스터 파일
[root@test-zabbix-proxy-agent slaves]# cat /etc/named.conf
//
// 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.
//

options {
//	listen-on port 53 { 127.0.0.1; };
//	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     { any; };
	recursion yes;

	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;

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

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

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

acl "internal" { 10.59.77.29;10.59.77.38;};

acl "external" { 10.59.77.28;};

key INSIDE {
         algorithm hmac-md5;
         secret "lsNaNoce0PCxGpR/YQzRcg==";
};

key OUTSIDE {
         algorithm hmac-md5;
         secret "Ixo6/9bJIU13abl14WJOiA==";
};

view "inside" in {
    match-clients { key INSIDE; "internal"; };
    server 10.59.77.27 { keys INSIDE; };


    zone "a.pa.com" IN {
            type slave;
            file "slaves/named.a.pa.com";
            masters { 10.59.77.27; };
    };
    
    zone "." IN {
    	type hint;
    	file "named.ca";
    };
};

view "outside" in {
    match-clients { key OUTSIDE; "external"; };
    server 10.59.77.27 { keys OUTSIDE; };
    
    zone "." IN {
        type hint;
        file "named.ca";
    };
 
    zone "a.pa.com" IN {
        type slave;
        file "slaves/a.pa.com";
        masters { 10.59.77.27; };
    };

};

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

테스트:
[[email protected]]# dig salt.a.pa.com @10.59.77.27

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.3 <<>> salt.a.pa.com @10.59.77.27
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54119
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;salt.a.pa.com.			IN	A

;; ANSWER SECTION:
salt.a.pa.com.		600	IN	A	10.10.100.200

;; AUTHORITY SECTION:
a.pa.com.		600	IN	NS	slave.a.pa.com.
a.pa.com.		600	IN	NS	master.a.pa.com.

;; ADDITIONAL SECTION:
master.a.pa.com.	600	IN	A	10.59.77.27
slave.a.pa.com.		600	IN	A	10.59.77.27

;; Query time: 5 msec
;; SERVER: 10.59.77.27#53(10.59.77.27)
;; WHEN: Fri Jul 24 17:39:44 2015
;; MSG SIZE  rcvd: 120
[[email protected] ~]# dig salt.a.pa.com @10.59.77.27

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.3 <<>> salt.a.pa.com @10.59.77.27
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13110
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;salt.a.pa.com.			IN	A

;; ANSWER SECTION:
salt.a.pa.com.		600	IN	A	10.10.100.201

;; AUTHORITY SECTION:
a.pa.com.		600	IN	NS	slave.a.pa.com.
a.pa.com.		600	IN	NS	master.a.pa.com.

;; ADDITIONAL SECTION:
master.a.pa.com.	600	IN	A	10.59.77.27
slave.a.pa.com.		600	IN	A	10.59.77.27

;; Query time: 2 msec
;; SERVER: 10.59.77.27#53(10.59.77.27)
;; WHEN: Fri Jul 24 17:39:49 2015
;; MSG SIZE  rcvd: 120

nsupdate 사용
nsupdate는 동적 DNS 업데이트 도구입니다.DNS 서버에 레코드 업데이트를 요청할 수 있습니다.리소스 레코드를 직접 편집할 필요 없이 영역 파일에서 추가하거나 삭제할 수 있습니다.다음은 사용 방법입니다.
nsupdate [ -d ] [ [ -y keyname:secret ] [ -k keyfile ] ] [ -v ] [ filename ]
-d 디버그 모드.
-k는 키 파일에서 키 정보를 읽습니다.
- y keyname은 키의 이름이고 secret은base64로 인코딩된 키입니다.
- v는 nsupdate를 위해 TCP 프로토콜을 사용합니다.기본값은 UDP 프로토콜입니다.
입력 형식: nsupdate는 터미널이나 파일에서 명령을 읽을 수 있습니다.명령줄마다 한 줄씩.빈 행이나 "send"명령은 이전에 입력한 명령을 DNS 서버에 보냅니다.
명령 형식: 서버 서버name [port] 서버name 서버의port 포트에 요청을 보냅니다.서버name을 지정하지 않으면, nsupdate는 현재 실행 중인 주 DNS 서버에 요청을 보냅니다.예: > 서버 192.168.0.153
local address [port] nsupdate 요청을 보낼 때 사용하는 로컬 주소와 포트입니다.
zone zonename 업데이트할 영역 이름을 지정합니다.
class classname 기본 범주를 지정합니다.기본 범주는 IN입니다.
key name secret은 업데이트에 사용할 모든 키를 지정합니다.
prereq nxdomain domain-name은domain-name에 자원 기록이 존재하지 않도록 요구합니다.
prereq yxdomain domain-name은domain-name가 존재하도록 요구하고 최소한 하나의 기록을 포함합니다.
prereq nxrrset domain-name [class] type은domain-name에 지정한 종류의 자원 기록이 없도록 요구합니다.
prereq yxrrset domain-name [class] type은 지정한 자원 기록을 요구합니다.범주와domain-name이 있어야 합니다.
update delete domain-name [ ttl ] [ class ] [ type [ data... ] ] domain-name의 자원 기록을 삭제합니다.type과 데이터를 지정하면 일치하는 기록만 삭제합니다.
업데이트 add domain-name ttl [class] type data... 자원 레코드 추가
show는send 명령 이후 모든 요구 정보와 업데이트 요청을 표시합니다.
send는 요청 정보와 업데이트 요청을 DNS 서버에 보냅니다.빈 줄을 입력하는 것과 같습니다.
aaaa를 추가합니다.a.pa.com에서 192.168.1.100으로 분석
[root@test-zabbix-agent ~]# nsupdate -y INSIDE:lsNaNoce0PCxGpR/YQzRcg==
> server 10.59.77.27
> zone a.pa.com
> update add aaaa.a.pa.com 86400 A 192.168.1.100
> send
> quit

테스트:
[root@test-zabbix-agent named]# dig aaaa.a.pa.com @10.59.77.27

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.3 <<>> aaaa.a.pa.com @10.59.77.27
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4507
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;aaaa.a.pa.com.			IN	A

;; ANSWER SECTION:
aaaa.a.pa.com.		86400	IN	A	192.168.1.100

;; AUTHORITY SECTION:
a.pa.com.		600	IN	NS	slave.a.pa.com.
a.pa.com.		600	IN	NS	master.a.pa.com.

;; ADDITIONAL SECTION:
master.a.pa.com.	600	IN	A	10.59.77.27
slave.a.pa.com.		600	IN	A	10.59.77.27

;; Query time: 2 msec
;; SERVER: 10.59.77.27#53(10.59.77.27)
;; WHEN: Fri Jul 24 18:33:20 2015
;; MSG SIZE  rcvd: 120

좋은 웹페이지 즐겨찾기