320x100
320x100

chapter 6. DNS

 

DNS (Domain Name System) : 호스트의 도메인 이름을 IP주소로 바꾸거나 반대의 변환을 지원

 

Primary Name Server

: 도메인 관리를 위한 필수적인 서버. Master DNS

: 도메인 등록시 이 서버에 IP주소를 등록하고 자체 도메인에 대한 정보 관리

 

Secondary Name Server

: Primary Name Serverzone 파일을 백업하는 서버. Slave DNS

: 외부 클라이언트에서 2DNS로 설정할시 Master DNS 다운시에도 정상적인 resoving 정보 제공

 

Caching Name Server

: 관리하는 도메인 없이 resolving 만을 제공하기 위한 서버.

: 도메인에 대한 resolving 결과를 저장하고 서버에 기록된 정보에 대한 요청시 즉시 응답 (속도향상)

 

resolving : 호스트의 정보를 구하는 요청에 대한 응답

 

 

 

bind : named라는 이름의 데몬을 사용하는 DNS 서버 프로그램

 

/etc/named.conf : DNS 서버의 전반적인 환경설정 파일. 서버에서 사용하는 zone 파일 지정

 

/var/named : 루트 도메인 서버에 대한 정보를 담고 있는 named.ca를 비롯한 사용자가 선언한 zone 파일 위치한 디렉터리

 

/etc/rc.d/init.d/named : DNS 서버 가동을 위한 데몬 스크립트. stop, start, restart, reload

zone 파일 : 호스트명 지정, 2차 도메인 부여 등 도메인에 대한 정보를 담고 있는 파일

 

 

/etc/named.conf 구성과 특징

ㆍ각 구문은 {}로 둘러싸고 ;으로 마침

include 지시자를 선언하여 별도의 파일에 추가 정의 가능

ㆍ주석은 /* */ // # 등 모두 가능

 

 

/etc/named.conf options 구문

directory “/var/named“; # 존 파일 위치 디렉터리 명

dump-file “/var/named/data/cache_dump.db“; # 정보를 갱신할 dump 파일 생성 위치 및 파일명

statistic-file “/var/named/data/named_stats.txt“; # 네임서버 통계 파일 생성 위치 및 파일명

memstatistics-file “/var/named/data/named_mem_stats.txt“; # 네임서버 메모리 통계 파일 생성 위치 및 파일명

forward (only|first); # forwarders와 함께 사용.

# only=도메인 질의를 대신 받아준 다른 서버가 무응답시 자신도 무응답

# first=타 서버 무응답시 대신 응답

forarders {네임서버주소1, 네임서버주소2..}; # 도메인에 대한 질의를 넘길 서버

allow-query {192.168.0/24;}; # 네임서버에 질의할 수 있는 호스트 지정

allow-transfer {192.168.0/24;}; # zone 파일의 내용을 복사할 수 있는 대상 설정

datasize 512M; # DNS 캐싱 메모리

recursion yes; # 하위 도메인에 대한 검색 가능 여부 설정

 

 

 

/etc/named.conf acl 구문

options 구문 이전에 선언. options 구문의 allow-queryallow-transfer에 적용

acl “member” { 210.96.52.100; 203.247.40/24; 211.58.96.100;};

options {

directory “/var/named“;

allow-trnasfer { 203.247.50/24’ 203.247.51.30;};

dump-file “/var/named/data/dache_dump.db“;

staticstics-file “/var/named/data/named_stats.txt“;

memstatistics-file “/var/named/data/named_mem_stats.txt“;

forward only;

forwarders { 203.247.32.31; };

allow-query { 203.247.50/24; 203.247.51.33; member; };

datasize 512M;

};

 

zone “.” IN {

type hint;

file “named.ca”;

};

include “/etc/named.rfc1912.zones”;

 

 

/etc/named.conf zone 구문

zone파일 : 도메인을 관리하는 데이터베이스 파일

named.ca에 대한 선언 (resolving 담당) named.ca : 도메인 서버에 대한 정보 파일

localhost, localhost domain 등에 대한 존 파일 선언이 되어있음

zone파일과 reverse zone 파일을 추가로 선언 필요

 

zone

: 도메인명 자리에 설정하려는 도메인 이름기재

: 리버스 존파일의 경우 맨마지막 주소를 제외하고 “50.247.203.in-addr.arpa” 형식으로 기재

ex) zone “linux.co.kr”

zone “50.247.203.in-addr.arpa”

 

type : DNS 서버의 종류. Primary (master), Secondary (slave), hint (resolving을 위한 root zone 서버)

ex) type master;

type slave;

masters { 203.247.40.243; };

 

file : 사용하려는 zone파일명 기재. “도메인명.zone” / “도멘인명.rev”

ex) file “linux.zone”;

file “linux.rev”;

 

ex)

zone “도메인명” IN {

type (master | slave | hint);

file “zone 파일명”;

};

 

 

 

/etc/named.conf 분할 : root().zone을 제외한 다른 zone 파일 관련 설정은 /etc/namd.rfc1912.zones에 설정을 권장

zone 파일

: /etc/named.conf 파일이나 /etc/named.rfc1912.zones 파일에 지정된 디렉터리에 생성

: 일반 zone 파일과 reverse zone 파일로 구분

: reverse zone 파일의 생성 이유는 IP 주소에 따른 도메인 조회 사이트에 메일 전송시 스팸처리가 될 수 있기 때문

: zone 파일을 통해 2차 도메인 설정 가능 (devops.comeve.com / back-end.comeve.com)

 

 

zone 파일 설정 준비

chown root.named linux.zone

chmod 640 linux.zone

 

 

zone 파일 구조

SOA (Start Of Authority) 레코드 : 존파일을 시작하는 레코드

ㆍ자원 레코드 (Resource record)

ㆍ도메인 : 전체 도메인 지정시 맨뒤에 . 작성. 호스트명만 기입시 호스트명.도메인명

TTL : 레코드에 대한 TTL 설정. 생략시 $TTL로 반영

class : 레코드의 클래스. IN(인터넷), CH, HS 등 사용.

type : 레코드 타입 지정

- A : IPv4 주소

- AAAA : IPv6 주소

- NS : 도메인의 네임서버 지정

- MX : 메일서버 지정. MX다음에 0 또는 정수 값을 기입하여 우선순위 지정 필요

- CNAME : 별칭

- PTR : 리버스 존에서만 사용하는 레코드. IP 주소를 도메인으로 변환하기 위해 지정

Rdata : IP주소, 도메인명, 호스트명을 지정하는 영역. 전체 도메인 명기시 반드시 . 작성

 

$TTL 1D # 다른 서버의 도메인 정보 조회시 해당 서버 캐시에 데이터가 머무는 시간

@ IN SOA nameserver contact-email-address ( # 네임 서버의 호스트명 및 도메인명. 마지막에 . (루트도메인)

serial_number ; YYYMMDDNN # zone파일 갱신 관련 일련번호. NN에는 수정회수 표시

refresh_number ; 1D # 보조 네임서버의 주 네임서버로부터 정보 갱신 주기. 1D=1day

retry_number ; 1H # 보조 네임서버의 주 네임서버 접근 실패시 재시도 주기

expire_number ; 1W # 접속 재시도시의 만기시간

minimum_number ) ; minumum # 일종의 SOA 영역의 TTL. 가져간 정보의 최소 보관 시간

도메인 TTL class type Rdata

 

 

 

DNS 서버 설정 절차

/etc/named.conf 설정 # 일부 설정 제거 등

/etc/naemd.rfc1912.zones # 도메인에 따른 존파일 선언

cd /var/named

cp p named.localhost linux.zone # 기존 zone파일의 내용 복사 / linux.rev도 복사 / 후 수정

service named start

ps aux |grep named # DNS 서버 가동 및 데몬 동작 확인

 

 

 

DNS 서버 설정 확인

/etc/resolv.conf 확인 및 변경

nslookup을 통한 확인 및 변경

> server 10.0.2.15 \ 10.0.2.15#53

> www.linux.or.kr # 정상적용 확인

 

named-checkconf [파일명] : /etc/named.conf 파일 문법오류 확인. 파일명 입력시 해당 파일 문법적 오류 체크

named-checkzone 도메인명 zone_파일경로 : zone파일의 문법적 오류 체크

 

300x250
728x90