DNS VIEW 주종 구축
운영 체제: 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.