도메인을 설정하는 순서
1. /etc/named.rfc1912.zones 파일에 도메인을 등록한다.
2. /var/named/ 정방향존파일을 설정한다.
3. named-checkconf, named-checkzone 명령어로 설정파일과 존파일을 문법을 검사한다.
4. systemctl reload named 명령어로 네임서버를 리로드한다.
5. nslookup, dig, host 명령어로 도메인을 확인한다.
# nslookup sbs.com
# dig sbs.com
# host sbs.com
zone 파일의 형식
RR (리소스 레코드)
리소스 레코드는 도메인을 가리키고 지원하는 구성요소이고 DNS에서 이런 정보들을 제공한다.
참고 : http://www.ktword.co.kr/abbr_view.php?m_temp1=2110
RR 종류
SOA : 도메인의 시작을 의미한다.
NS : 네임서버를 의미한다.
A : IPv4 주소를 의미한다. (정방향)
AAAA : IPv6 주소를 의미한다. (정방향)
PTR : 도메인 주소를 의미한다. (역방향)
MX : 메일서버를 의미한다.
TXT : 스팸메일을 확인할 때 사용한다.
CNAME : 별칭을 의미한다.
SOA 레코드 (Start Of Authority) : sbs.com에 대해 네임서버가 인증(authoritative)된 자료를 갖고
있음을 의미한다. sbs.com 도메인의 자료가 최적의 상태로 유지, 관리될 수 있도록 한다.
도메인 IN SOA 1차네임서버 관리자이메일 (serial refresh retry expire minimum)
ex)
sbs.com. IN SOA ns.sbs.com. webmaster.sbs.com. ( serial refresh retry expire minimum )
sbs.com. IN SOA ns webmaster ( serial refresh retry expire minimum )
@ IN SOA ns webmaster ( serial refresh retry expire minimum )
존 파일에서 @는 도메인명을 의미한다.
도메인 :
관리자가 구입해서 도메인명을 넣는다. 도메인명 끝에 . 이 반드시 들어간다.
도메인은 @로 대체할 수 있다.
IN : INTERNET 클래스명을 무조건 적는다.
SOA : sbs.com에 대해 네임서버가 인증(authoritative)된 자료를 갖고 있음을 의미한다.
1차네임서버 :
도메인명에 대한 1차 네임서버를 설정한다.
1차 네임서버는 관리자가 설정한다.
도메인명은 생략하면 도메인명. 이 자동으로 붙는다. (ns1.sbs.com. -> ns1)
예전에는 1차 네임서버를 ns.sbs.com. 으로 많이 사용했지만 요즘은
1차 네임서버를 ns1로 많이 사용한다. ns1.sbs.com. 으로도 사용한다.
관리자이메일 :
관리자가 설정한다.
이메일의 @는 사용하면 안된다. @는 도메인명이므로 사용할 수 없다.
webmaster@sbs.com. -> webmaster.sbs.com.sbs.com.
( : 소괄호로 열고 시작한다.
serial : zone파일의 버전
2차 네임서버가 있을 때 필요 (YYYYMMDDNN)
2차 네임서버와 비교할 버전을 적는다. 형식은 YYYYMMDDNN 4294년까지 가능하다.
2021021601 -> 2021021602
refresh : 업데이트 시간
2차 네임서버가 있을 때 필요
2차 네임서버가 1차 네임서버의 변경을 확인하는 시간 (기본단위 초)
참고 : 네이버 21600 (6시간 6H)
retry : 접속 실패시 재접속 시간
2차 네임서버가 있을 때 필요
2차 네임서버가 접속에 실패했을 때 다시 접속하는 시간
retry 가 refresh 낮아야 한다.
참고 : 네이버 1800 (30분 30M)
expire : 유통기간
2차 네임서버가 있을 때 필요
2차 네임서버가 접속에 계속 실패했을 때 폐기처분하는 시간
참고 : 네이버 1209600 (14일 2W)
minimum : 캐쉬 시간
캐쉬 시간으로 상대방이 도메인을 요청해서 받아갔다면 메모리에 가지고 있을 TTL(Time To Live 타임투리브)값을 의미한다.
) : 끝날때는 소괄호로 닫는다.
실습> 도메인 뒤에 .을 붙히지 않은 경우
1. 도메인에 .이 없는 경우
-- /var/named/sbs.com.zone --
$TTL 60
@ IN SOA ns root.sbs.com ( 2021111201 1D 1H 1W 3H )
IN NS ns
IN A 192.168.108.3
ns IN A 192.168.108.3
www IN A 192.168.108.3
-- /var/named/sbs.com.zone --
# named-checkzone sbs.com sbs.com.zone
zone sbs.com/IN: loaded serial 2021111201
OK
# systemctl reload named
axfr 은 sbs.com 도메인에 모든 정보를 다 요청하는 것임.
일반적으로 보안상 막아주는 것이 좋다.
현재 sbs.com은 막혀있지 않고 열려있어서 정보를 보여준 것이다.
# dig sbs.com axfr
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.7 <<>> sbs.com axfr
;; global options: +cmd
sbs.com. 60 IN SOA ns.sbs.com. root.sbs.com.sbs.com. 2021111201 86400 3600 604800 10800
sbs.com. 60 IN NS ns.sbs.com.
sbs.com. 60 IN A 192.168.108.3
ns.sbs.com. 60 IN A 192.168.108.3
www.sbs.com. 60 IN A 192.168.108.3
sbs.com. 60 IN SOA ns.sbs.com. root.sbs.com.sbs.com. 2021111201 86400 3600 604800 10800
;; Query time: 1 msec
;; SERVER: 192.168.108.3#53(192.168.108.3)
;; WHEN: 금 11월 12 17:51:44 KST 2021
;; XFR size: 6 records (messages 1, bytes 190)
# dig sbs.com soa
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.7 <<>> sbs.com soa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32429
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sbs.com. IN SOA
;; ANSWER SECTION:
sbs.com. 60 IN SOA ns.sbs.com. root.sbs.com.sbs.com. 2021111201 86400 3600 604800 10800
;; AUTHORITY SECTION:
sbs.com. 60 IN NS ns.sbs.com.
;; ADDITIONAL SECTION:
ns.sbs.com. 60 IN A 192.168.108.3
;; Query time: 0 msec
;; SERVER: 192.168.108.3#53(192.168.108.3)
;; WHEN: 금 11월 12 17:53:28 KST 2021
;; MSG SIZE rcvd: 118
2. 도메인에 .이 있는 경우
-- /var/named/sbs.com.zone --
$TTL 60
@ IN SOA ns root.sbs.com. ( 2021111201 1D 1H 1W 3H )
IN NS ns
IN A 192.168.108.3
ns IN A 192.168.108.3
www IN A 192.168.108.3
-- /var/named/sbs.com.zone --
# systemctl reload named
# dig sbs.com soa
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.7 <<>> sbs.com soa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25098
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sbs.com. IN SOA
;; ANSWER SECTION:
sbs.com. 60 IN SOA ns.sbs.com. root.sbs.com. 2021111201 86400 3600 604800 10800
;; AUTHORITY SECTION:
sbs.com. 60 IN NS ns.sbs.com.
;; ADDITIONAL SECTION:
ns.sbs.com. 60 IN A 192.168.108.3
;; Query time: 0 msec
;; SERVER: 192.168.108.3#53(192.168.108.3)
;; WHEN: 금 11월 12 17:54:30 KST 2021
;; MSG SIZE rcvd: 110
'Linux > Linux 실습' 카테고리의 다른 글
| [Linux] 2차 네임서버 구축 (0) | 2021.11.18 |
|---|---|
| [Linux] 도메인 SOA RR 분석 (0) | 2021.11.13 |
| [Linux] 도메인 + 가상 호스트 설정 (0) | 2021.11.12 |
| [Linux] DNS 서버 구축 (0) | 2021.11.12 |
| [Linux] 다양한 형식 웹 언어 (0) | 2021.11.12 |