DNS (Domain Name System) [개념, 설정법]
DNS (Domain Name System) [개념, 설정법]
DNS(Domain Name System)은 IP 주소 및 기타 데이터를 저장하고 이름별로 쿼리할 수 있게 해주는 계층형 분산 시스템입니다.
만약 웹 사이트를 접속해야 할 때 웹 서버의 IP 주소를 통해 접근해야 한다면 웹 서버의 IP 주소를 모두 외워야 합니다.
1
2
네이버를 접속해야 한다
=> 웹 브라우저에 223.130.200.107 IP 주소 입력
이러한 불편함을 해소하기 위해 DNS(Domain Name Server)를 사용합니다. DNS란 위와 같이 특정 사이트의 IP 주소(컴퓨터가 이해할 수 있는 IP 주소)를 사람이 쉽게 기억할 수 있는 이름으로 접근할 수 있게 해 주는 서비스를 제공합니다.
1. DNS의 동작 원리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. 사용자가 DNS Server에 'www.naver.com' 접속 요청
2. DNS Resolver가 'com'에 해당하는 부분을 TLD(Top Level Domain)에 쿼리
3. TLD가 'com'에 해당하는 부분 Query 후 DNS 서버에 응답
4. DNS Resolver가 'naver'에 해당하는 부분 SLD(Second Level Domain)에 쿼리
5. SLD가 'naver'에 해당하는 부분 Query 후 DNS 서버에 응답
6. DNS Resolver가 'www'에 해당하는 부분 Sub-Domain에 쿼리
7. Sub-Domain에서 'www' 또는 그 하위에 해당하는 부분을 찾은 후 반환
8. DNS Resolver가 '200.130.200.107' IP 주소를 웹 브라우저(USER)에게 응답
2. CentOS에서 DNS Server 구축하기
2.1. bind, bind-utils package 다운로드
1
yum -y install bind bind-utils
2.2. /etc/named.conf 파일 설정
DNS Server의 기능적인 설정
1
vi /etc/named.conf
- 13행 listen-on port 53 { any; }; 로 변경
- 21행 allow-query { localhost; }; 에서 { any; }; 로 변경
2.3. /etc/named.rfc1912.zones 파일 설정
안내 파일에 대한 정보 명시
1
vi /etc/named.rfc1912.zones
2.4. /var/named/ 하위에 안내파일 생성 및 설정
서버 목록이 담긴 안내 파일 생성 영문 주소 => IP 주소 매칭 목록 추가
1
vi /var/named/{안내 파일 명}
2.5. 설정 확인
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 안내 파일 형식에 문제가 없는지 체크
named-checkzone {도메인 주소} {안내파일}
ex) named-checkzone aws1.com /var/named/aws1.com.db
# DNS Server 시작 프로그램에 추가 및 실행
systemctl enable --now named
# DNS Server 변경 (IN Client)
vi /etc/sysconfig/network-scripts/ifcfg-ens32
=> ens32에 해당하는 부분은 사용자의 이더넷에 맞게 설정 변경 필요
# 도메인 설정이 올바르게 되었는지 확인 (IN Client)
# nslookup을 사용하기 위한 Package 설치
yum -y install bind-utils
# 현재 DNS 서버 확인
cat /etc/resolv.conf
# 현재 DNS 서버가 올바른 주소로 안내하는지 확인
nslookup aws1.com
궁금하신 점이나 추가해야 할 부분은 댓글이나 아래의 링크를 통해 문의해주세요.
Written with KKamJi
This post is licensed under CC BY 4.0 by the author.
