Linux/Linux 실습

[Linux] 도메인 정리

GGkeeper 2021. 11. 13. 02:58

도메인을 설정하는 순서
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