chapter 6. DNS
DNS (Domain Name System) : 호스트의 도메인 이름을 IP주소로 바꾸거나 반대의 변환을 지원
Primary Name Server
: 도메인 관리를 위한 필수적인 서버. Master DNS
: 도메인 등록시 이 서버에 IP주소를 등록하고 자체 도메인에 대한 정보 관리
Secondary Name Server
: Primary Name Server의 zone 파일을 백업하는 서버. Slave DNS
: 외부 클라이언트에서 2차 DNS로 설정할시 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-query와 allow-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파일의 문법적 오류 체크
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 마스터 1급 2차 정리 15 - 프록시 서버 (0) | 2021.11.02 |
---|---|
리눅스 마스터 1급 2차 정리 14 - xinetd (네트워크 데몬 관리) (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 12 - 메일 프로그램 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 11 - FTP (네트워크 파일 전송 서비스) (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 10 - NFS (네트워크 파일 마운트) (0) | 2021.11.02 |