CentOS 7 - DNS Server
✔ DNS(Domain Name Server)
- Domain 이름을 IP로 변환해주는 서버
- 사이트에 있는 서버들의 정보를 저장
- 컴퓨터 이름 + IP 를 hosts 파일에 기록
- C:\Windows\System32\drivers\etc\hosts (window)
- /etc/hosts (linux)
- DNS는 기본적으로 UDP 53번을 사용, 특수한 경우 TCP 53번 포트 사용한다
※ TCP 포트 사용하는 경우
1. 안정성을 위해 두 개의 DNS 서버를 사용할 경우 Master에서 Slave로 Zone 정보를 보낼 때 사용
2. 쿼리 메시지가 512bite를 넘어갈 때 사용
🔵 도메인 구조
Root Level Domain | • | 도메인 구조에서 최상위를 차지하는 도메인 |
일반적으로 브라우저에 입력하는 경우는 생략 | ||
도메인 설정 시 반드시 표기 | ||
전 세계에 Root DNS 서버 13개 존재 | ||
Top Level Domain | kr, fr, sp, en, jp, … | ccTLD(country code) / 국가 코드 최상위 도메인 |
com, net, org, … | gTLD(general) / 일반 최상위 도메인 | |
Second Level Domain | naver, google, kakao | 회사나 조직, 기관 등의 목적에 부합되는 단어 및 숫자를 이용해 생성 |
Third Level Domain | www, ftp, … | 각 목적에 따라 필요한 경우 생성된 도메인, 서브 도메인이라고도 함 |
※ FQDN(Full Qualified Domain Name)
- "www.naver.com" 처럼 호스트 부분(www)과 도메인 부분(naver.com)을 전체로 부르는 것
<이미지 : https://한국인터넷정보센터.한국 자료 첨부>
🔵 DNS 동작 방식
🔵 DNS Server 종류
▪ 캐시 네임 서버(로컬 DNS 서버)
- 사용자들의 질의를 받아 DNS 정보를 조회하여 응답해주는 네임 서버
▪ 권한 네임 서버(마스터 DNS 서버)
- 도메인 존(zone) 데이터를 갖고 있어, 응답하는 네임 서버
- 도메인을 등록할 때 이 서버의 IP를 등록하고 자체 도메인에 대한 정보를 관리
- 회사나 단체에서 제공하는 서비스 or 호스트를 IP로 매핑시켜주는 서버
🔵 DNS 관련 설정 파일
▪ /etc/hosts
- 자체 설정 forward 파일
▪ /etc/resolv.conf
- 네임서버 주소 지정
- 직접 지정은 일회성( 재부팅 시 초기화 )
- 네트워크 설정 파일에서 DNS 서버 주소를 지정해야 함
🔵 DNS Server 구축
◾ Local DNS Server(Cache DNS Server or Recursive DNS Server)
1. 서비스에 필요한 패키지 찾기
# bind, bind-utils
2. 패키지 버전 확인 및 설치
# yum install -y bind-utils bind
3. 설정
# vim /etc/named.conf
12행 ~ 45행 : 전역 설정
13행 listen-on port 53 { 127.0.0.1; }; // 127.0.0.1 을 any 로 수정
21행 allow-query { localhost; }; // localhost 를 any 로 수정
※ named-checkconf /etc/named.conf : 문법 체크
4. 서비스 실행 및 동작 확인 & 방화벽 설정 및 확인
# systemctl restart dns
# systemctl status named
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --add-port={53/tcp,53/udp} --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
# setenforce 0
# vim /etc/selinux/conf
enforcing을 disabled로 변경
5. /etc/resolv.conf 파일 수정
nameserver [DNS 서버 IP] // 추가
6. nslookup 확인
# nslookup
> server
> www.naver.com
※ dig를 통해 IP를 받아오는 경로를 추적
# dig @192.168.56.10 www.kakao.com A +trace
◾ Master DNS Server(Authoritative DNS Server)
▫ 정방향 DNS 설정
- /etc/named.conf 파일 수정
- # forwarders {a.b.c.d}; : 내부 DNS 설정 시 외부 DNS 서버로 포워딩 하는 명령
- zone 생성
- Zone Database 파일 생성
# cd /var/named
# cp named.localhost syc.com.db
※ 파일의 소유그룹을 named로 변경해야 함
⬇
▫ 역방향 DNS 설정
- /etc/named.conf 파일 수정
- Zone Database 파일 생성
# cd /var/named/
# cp -p named.loopback syc.rev
# vim syc.rev