DNS 2 – DNS 마스터 복제 구현
운영 및 종속 복제 실현
주종 복제: 1. 독립된 이름 서버이어야 한다.2. 주 서버의 영역 분석 라이브러리 파일에 반드시 NS 기록이 종속 서버를 가리켜야 한다.3. 서버에서 영역만 정의하고 분석 라이브러리 파일을 제공할 필요가 없다.해석 라이브러리 파일은/var/named/slaves/디렉터리에 두어야 합니다.4. 메인 서버는 서버에서 지역으로 전송하는 것을 허용해야 한다.5. 주종 서버 시간은 동기화되어야 하며 ntp를 통해 진행할 수 있다.6.bind 프로그램은 일치해야 한다.그렇지 않으면 높고 낮음부터
사전 실습 준비:
주 서버: A(IP 주소 192.168.34.101)
서버에서: B(IP 주소 192.168.34.103)
클라이언트: C(IP 주소 192.168.34.105)
주 서버 관련 파일을 구성하려면:
(1) 주 서버 A에서 파일 정보 구성:vim/etc/named.conf
수정 후 DNS 서비스 다시 시작: rndc reload
options {
listen-on port 53 { localhost; }; localhost (//), ,
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; any (//)
allow-transfer { 192.168.34.103; }; IP , 103 , : , ,
(2) 주 서버 A 영역 라이브러리 파일의 내용을 수정합니다.
vim/var/named/baidu.com.zone
[root@ansiblenamed]#vim /var/named/baidu.com.zone
$TTL 1D
@ IN SOA dns1 admin.baidu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
NS dns2 # , NS
dns1 A 192.168.34.101 # IP
dns2 A 192.168.34.103 # IP
www CNAME webs
webs A 6.6.6.6
webs A 8.8.8.8
webs A 7.7.7.7
@ MX 10 mailser1
@ MX 20 mailser2
mailser1 A 11.9.9.9
mailser2 A 9.9.9.9
@ A 8.8.8.8
* A 8.8.8.8
$GENERATE 1-200 server$ A 192.168.34.$
서버로부터 파일을 구성하려면:
(1) 서버 B에 DNS 설치: yum install bind
구성 파일에서/etc/named를 수정합니다.conf 관련 구성 파일
[root@centos7_1 ~]# vim /etc/named.conf
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; };
allow-transfer { none;}; , , , IP
주의: 첫 줄의listen-on port 53 포트를 주석하거나 localhost로 작성하십시오. 그렇지 않으면 본 기기의 서비스를 위해 allow-query 업계를 주석할 수 있습니다.
(2) 서버 B의/etc/named.rfc1912.zones 구성 파일을 수정합니다.
[root@centos7_1 ~]# vim /etc/named.rfc1912.zones
zone "baidu.com" { #
type slave; # “ ”
masters {192.168.34.101;}; # IP
file "slaves/baidu.com.zone.slave"; # slaves
};
(3) 주 서버 A의 DNS 서비스를 다시 로드합니다.
[root@ansiblenamed]#rndc reload
server reload successful
(4) 현재 서버 B에서 동기화된 데이터 파일을 조회합니다. 이때 우리는/var/named/slaves 디렉터리에서 주 서버의 데이터 내용이 동기화된 것을 볼 수 있습니다.
[root@centos7_1 ~]# ls /var/named/slaves
baidu.com.zone.slave
클라이언트를 구성하려면:
(5) 클라이언트 C에서 두 개의 DNS 주소를 구성하여 주종 서버의 IP 주소를 연결합니다.
[root@centos6network-scripts]#vim ifcfg-eth0
DEVICE=eth0
PROTOBOOT=static
IPADDR=192.168.34.105
GATEWAY=192.168.34.2
ONBOOT=yes
DNS1=192.168.34.101 # DNS IP
DNS2=192.168.34.103 # DNS IP
(6) 클라이언트 C에서 현재 구성된 DNS 서비스 주소 보기
[root@centos6network-scripts]#cat /etc/resolv.conf DNS
# Generated by NetworkManager
search 10.localdomain
nameserver 192.168.34.101
nameserver 192.168.34.103
(7) 클라이언트 C에서dig 명령으로 현재baidu를 확인합니다.com 웹 주소, 현재 DNS에서 IP 주소를 확인할 수 있는 서버:
[root@centos6network-scripts]#dig www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<;; SERVER: 192.168.34.101#53(192.168.34.101) # IP
;; WHEN: Thu Nov 7 09:38:55 2019
;; MSG SIZE rcvd: 168
(8) 주 서버 A의 NIC down(ifconfig ens33 down)을 제거하고 클라이언트 C에서 현재 내용을 확인합니다.
[root@centos6network-scripts]#dig www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<;; SERVER: 192.168.34.103#53(192.168.34.103) # , IP , 。
;; WHEN: Thu Nov 7 10:24:16 2019
;; MSG SIZE rcvd: 168
(9) 현재 서버 동기화 상황을 검증하고 메인 서버 영역 라이브러리 파일의 내용을 수정합니다:/var/named/baidu.com.zone
[root@ansible~]#vim /var/named/baidu.com.zone
$TTL 1D
@ IN SOA dns1 admin.baidu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
NS dns2
dns1 A 192.168.34.101
dns2 A 192.168.34.103
www CNAME webs
webs A 6.6.6.6
webs A 8.8.8.8
webs A 7.7.7.7
@ MX 10 mailser1 #
@ MX 20 mailser2 #
mailser1 A 11.9.9.9
mailser2 A 9.9.9.9
@ A 8.8.8.8
* A 8.8.8.8
$GENERATE 1-200 server$ A 192.168.34.$
(10) 삭제 후 DNS 서비스를 다시 시작합니다. rndc reload
[root@ansible~]#rndc reload
server reload successful
(11) 그리고 우리는 클라이언트 C에서dig에서 동기화 정보를 조회했다. 이때 우리는 각각 주종 서버에서 MX의 설정 기록을 볼 수 있다. 왜 그런가?이는 구성 파일만 수정하는 것이 아니라 위의 일련 번호(serial)를 수정해야 동기화가 수행되지 않기 때문입니다. 12단계를 참조하십시오.
[root@centos6network-scripts]#dig -t mx baidu.com @192.168.34.101
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> -t mx baidu.com @192.168.34.101
;; global options: +cmd
;; Got answer:
;; ->>HEADER<> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> -t mx baidu.com @192.168.34.103
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
(12) 일련 번호(serial)를 1로 변경하고 변경한 후 DNS 서비스를 다시 로드합니다. rndc reload:
[root@ansible~]#vim /var/named/baidu.com.zone
$TTL 1D
@ IN SOA dns1 admin.baidu.com. (
1 ; serial # 0 1
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
NS dns2
dns1 A 192.168.34.101
dns2 A 192.168.34.103
www CNAME webs
webs A 66.66.66.66
mailser1 A 11.9.9.9
mailser2 A 9.9.9.9
@ A 8.8.8.8
* A 8.8.8.8
$GENERATE 1-200 server$ A 192.168.34.$
(13) 구성을 수정한 후 DNS 서비스를 다시 시작하고 클라이언트에서 dig 검증을 실시한다. 이때 IP 주소가 동기화되고 MX 프로필의 기록이 없다.
[root@ansible~]#rndc reload DNS
server reload successful
[root@centos6network-scripts]#dig www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<www.baidu.com. 86400 IN CNAME webs.baidu.com.
webs.baidu.com. 86400 IN A 66.66.66.66 IP
;; AUTHORITY SECTION:
baidu.com. 86400 IN NS dns2.baidu.com.
baidu.com. 86400 IN NS dns1.baidu.com.
;; ADDITIONAL SECTION:
dns1.baidu.com. 86400 IN A 192.168.34.101
dns2.baidu.com. 86400 IN A 192.168.34.103
;; Query time: 1 msec
;; SERVER: 192.168.34.101#53(192.168.34.101)
;; WHEN: Thu Nov 7 10:41:43 2019
;; MSG SIZE rcvd: 136
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.