조건
> DNS master 서버는 Centos6, Slave는 Centos7
Master : 172.30.1.120
Slave : 172.30.1.120, 172.30.1.130
- Slave 서버 구성을 하기위하여 아래와 같이 진행합니다.
1. Master 서버 설정
1. master 서버 설정
[root@dns-m etc]# cd /var/named/chroot/etc/
[root@dns-m etc]# vim named.conf
allow-transfer { 172.30.1.120;172.30.1.130; }; //허용 IP ip추가
[root@dns-m etc]# vim external.zones
allow-update { 172.30.1.120;172.30.1.130; }; //허용 IP ip추가
// DNS 정보를 가지고 있는 zone 파일에 NS 등록을 해줘야 업데이트가 된다.
// 이 내용이 빠지면 업데이트가 잘 안된다...
# vi /var/named/chroot/var/named/external/theko/theko.co.kr
NS ns2.theko.co.kr.
NS ns3.theko.co.kr.
ns2 A 172.30.1.120
ns3 A 172.30.1.130
[root@dns-m etc]# /etc/init.d/named restart
>Master 서버에서는 여기까지만 설정해주면 된다.
2. Slave 서버 설정
> 방화벽은 모두 내려가 있어야 한다. selinux, firewalld
# yum install bind bind-chroot bind-utils
#/usr/libexec/setup-named-chroot.sh /var/named/chroot on
#systemctl stop named
#systemctl disable named
#systemctl start named-chroot
#systemctl enable named-chroot
============================= 참고 ==================================================
이렇게 하면 자동으로 파일 생성이 됨(정지되면 파일이 없어짐)
[root@dns-s03 etc]# ll /var/named/chroot/etc/ 경로임
drwxr-x--- 2 root named 6 Aug 4 2017 named
drwxr-x--- 3 root named 25 Jun 10 14:10 pki
==>
[root@dns-s03 etc]# ls
localtime named named.conf named.iscdlv.key named.rfc1912.zones named.root.key pki protocols rndc.key services
여기도 파일이 생성됨
[root@dns-s03 named]# pwd
/var/named/chroot/var/named
[root@dns-s03 named]# ls
chroot data dynamic named.ca named.empty named.localhost named.loopback slaves
====================================================================================
# cd /var/named/chroot/etc/
# vim named.conf
......생략
Masterfile-Format Text; // centos7 bind9 는 zone파일이 기본적으로 raw 파일로 작성
......생략 // Text 파일로 보기위해 넣어주는 옵션! 필수!
view "external"
{
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.root.hints";
include "/etc/external.zones";
};
# cd /var/named/chroot/etc/
# vi external.zones
zone "0.0.127.in-addr.arpa" IN {
type slave;
file "external/127.0.0.reverse";
masters { 172.30.1.110; }; //Master IP 넣어주면 된다.
};
zone "1.1.1.in-addr.arpa" IN {
type slave;
file "external/1.1.1.reverse";
masters { 172.30.1.110; };
};
zone "2.2.2.in-addr.arpa" IN {
type slave;
file "external/2.2.2.reverse";
masters { 172.30.1.110; };
};
zone "3.3.3.in-addr.arpa" IN {
type slave;
file "external/3.3.3.reverse";
masters { 172.30.1.110; };
};
// theko.co.kr
zone "theko.co.kr" IN {
type slave;
file "external/theko/theko.co.kr";
masters { 172.30.1.110; };
};
// 기존 bind 9.3버전에는 /usr/share/doc/bind-9.9.4/sample/etc/ 디렉토리에 있지만
bind 9.8, 9.9 에는 없어서 그냥 만들어줌
# vi /var/named/chroot/etc/named.root.hints
zone "." IN {
type hint;
file "named.ca";
};
# chown root.named /var/named/chroot/etc/named.root.hints
업데이트 되어야 할 Zone 상위 디렉토리를 생성해줘야 한다.
#cd /var/named/chroot/var/named/
# mkdir external
# chown named.named external/
# cd external/
# mkdir theko
# chown named.named theko/
이제 모두 설정 했으니 데몬 재기동
# systemctl start named-chroot
> LOG로 정상적 업데이트 됨을 확인
Jun 10 17:37:45 dns-s04 named[988]: client 172.30.1.110#36287: view external: received notify for zone 'theko.co.kr'
Jun 10 17:37:45 dns-s04 named[988]: zone theko.co.kr/IN/external: notify from 172.30.1.110#36287: zone is up to date