[CentOS 8] DNS 서버
1. DNS 설정 파일
/etc/named.conf : 네임서버 주 설정 파일
/etc/named.rfc1912.zones : 존 정보 설정 파일
/etc/named.root.key : DNSSEC에서 루트 존을 위해 사용되는 DNSKEY가 보관됨
/var/named : 네임서버의 데이터베이스 파일(존 파일)을 보관하는 디렉토리
/etc/resolv.conf : 사용하는 네임서버 주소
/etc/host.conf : 호스트 정보를 찾는 우선순위가 정의된 파일
multi on -> 도메인 정보를 찾는 순위가 hosts, bind
order bind,hosts-> 도메인 정보를 찾는 순위가 bind, hosts
alert -> IP 스푸핑 시도를 syslog 파일에 저장
2. DNS 서버 구축
yum -y install bind bind-utils bind-libs
- /etc/named.conf 수정
- /etc/named.rfc1912.zones 수정
- /var/named/존파일 수정
- 도메인 설정 체크
- 방화벽 설정
1) /etc/named.conf
options {}
listen-on : bind 데몬이 listen할 포트와 인터페이스 주소
allow-query : dns 쿼리 질의를 허용할 인터페이스 주소
recursion : 자기가 관리하지 않는 도메인에 대한 요청이 들어오면 대답할 것인지
forwarders : 자기가 관리하지 않는 도메인에 대한 요청이 들어오면 어디로 포워딩 할것인지
forward only : 포워드 서버가 응답이 없을 경우 자신도 응답하지 않는다
first : 포워드 서버가 응답이 없으면 자신이 응답한다.
recursion 과 forwarders의 차이
recursion은 자기가 모르는 도메인에 대한 요청이 들어오면 자기가 recursive하게 쿼리를 보내 정보를 알아내 응답해준다.
forwarders는 클라이언트로부터 온 dns 쿼리를 다른 dns 서버에게 전달한다.
zone “.” IN {} : 참조할 루트 힌트가 작성되어있는 파일명을 가리킴. 이 파일에는 전세계 루트 도메인에 대한 정보가 있다.
2) /etc/named.rfc1912.zones
type master : 해당 존에 대한 마스터 서버
slave : 해당 존에 대한 보조서버
forward : 해당 존에 대한 질의를 다른 서버로 포워드
hint : 루트 도메인 서버 지정
file : /var/named/ 밑에 도메인에 대한 실제 정보가 있는 파일
allow-update : 동적 업데이트를 허용할 IP 주소, 보조서버의 IP 적음
allow-transfer : 존파일 전송을 허용할 IP 주소, 보조서버의 IP 적음
masters : 해당 서버가 보조서버일 경우 마스터 서버 주소를 적음
# Master Server
-------------------------------------------------------
zone "chul.com" IN {
type master;
file "chul.zone";
allow-update { 192.168.111.200; };
allow-transfer { 192.168.111.200; };
};
zone "111.168.192.in-addr.arpa" IN {
type master;
file "100.zone";
allow-update { 192.168.111.200; };
};
# Slave Server
---------------------------------------------------------
zone "chul.com" IN {
type slave;
file "chul.zone.slave";
masters { 192.168.111.100; };
};
zone "111.168.192.in-addr.arpa" IN {
type slave;
file "100.zone.slave";
masters { 192.168.111.100; };
};
3) /var/named/존파일
# chul.zone
--------------------------------------------------------
$TTL 1D
# @는 /etc/named.rfc````에서 지정된 이름, 여기선 chul.com을 의미
#네임서버주소 #관리자이메일
@ IN SOA ns.chul.com. admin.chul.com. (
2019122701 ; serial
1D ; refresh slave와 master가 데이터를 동기화하는 기간
1H ; retry master가 응답이 없으면 1시간동안 다시 확인
1W ; expire 그걸 1주일동안 반복
3H ) ; minimum 이 zone파일을 복제해간 캐싱 dns 서버는 적어도 3시간 동안 이 zone파일을 보관한다.
NS ns.chul.com.
NS ns2.chul.com.
MX 10 ms.chul.com.
IN A 192.168.111.100
ns IN A 192.168.111.100
ns2 IN A 192.168.111.200
ms IN A 192.168.111.100
www IN A 192.168.111.100
ftp IN A 192.168.111.100
web IN CNAME www
# 100.zone
---------------------------------------------------------
$TTL 1D
@ IN SOA ns.chul.com. root.chul.com. (
2019122701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.chul.com.
NS ns2.chul.com.
MX 10 ms.chul.com.
PTR chul.com.
100 PTR ns.chul.com.
200 PTR ns2.chul.com.
100 PTR ms.chul.com.
100 PTR www.chul.com.
100 PTR ftp.chul.com
4) 설정 체크
chown root.named /var/named/존파일
named-checkconf /etc/named.rfc1912.zones
named-checkzone 도메인 /var/named/존파일
5) 방화벽 해제
53/udp : 단일 dns 서버일 경우 사용
53/tcp : master와 slave 사이에서 사용
댓글남기기