Name Server - DNS 기능을 제공하는 서버.
# /etc/resolv.conf 로컬 DNS서버의 IP를 설정
1. 구성요소
- 도메인 이름
- 리소스 레코드
- DNS 영역 파일
2. 네임 서버
- 서버의 데몬 프로세스로 동작하는 네임서버 프로그램
2.1 권한 있는 네임 서버 ( Authoritative name Server )
- 특정 도메인에 대한 정보를 설정하고, 도메인에 대한 정보를 요청하는 클라이언트들에게
독점적으로 해당하는 도메인에 대한 최종적인 정보를 제공하는 서버.
2.2 Master 서버
- Primary 또는 main 서버라도고 불리낟.
2.3 Slave 서버
- 서버들의 정보를 동기화 하는 서버
2.4 Caching-Only 서버
- DNS는 한번 검색한 결과는 메모리의 캐시에 기록된다.
- 같은 정보가 요청되면 캐시에 저장된 정보를 클라이언트에게 제공한다. 즉, 응답속도가 빨라진다.
3. 리졸버
- 클라이언트와 서버 사이의 정보를 제공하는 기능
도메인 <-- ( 번역 ) ----> IP 주소
▶ Forward Lookup ( 정방향 조회 )
- 도메인을 IP 주소로 변환
- 사용하는 DB 파일이름은 Forward Zone 이다.
▶ Reverse Looup ( 역방향 조회 )
- IP 주소를 도메인으로 변환
- 사용하는 DB 파일 이름은 Reverse Zone 이다.
▶ 정방향과 역방향의 차이
( 정방향 )
( 역방향 )
4. 리소스 레코드
- Zone 또는 도메인의 특성을 나타내는 용어
1. TTL
- Time To Live의 약어로서 네임 서버가 설정한 도메인에 대한 정보를 제공받은 클라이언트 들이
얼마 동안 이정보를 캐시에 저장 할지 결정하는 시간이다.
2. serial
- 존 정보가 업데이트 되었는지를 슬레이브 네임 서버에 전달하기 위해 사용하는 숫자로서
보통 YYYYMMDD 같은 날짜를 이용해 생성한다. 마스터 서버는 존 정보가 변경될 때마다
이 번호를 증가 시킴으로써 슬레이브는 이정보를 받아올지 아닐지를 결정하게 된다.
3. refresh
- 슬레이브 네임 서버가 얼마의 주기로 마스터 서버에 접속해 정보가 변경되었는지를 점검하기 위해
사용되는 시간을 의미한다.
4. retry
- 슬레이브 네임 서버가 마스터 서버로의 refresh 접근이 실패 할 경우 얼마 후에 다시 접근할지를
결정하는 시간 단위이다.
5. expire
- 슬레이브 네임 서버가 retry를 얼마 동안 허용할지 결정하는 시간이며, 이 시간 이후 슬레이브
네임서버는 마스터 서버로의 접근을 더 이상 시도하지 않고 현재의 정보도 클라이언트에게 제공하지 않는다.
6. minimum
- Negative Caching이라고 하며, NODATA, NXDOMAIN같은 존재하지 않거나 잘못된 호스트에
대한 정보를 저장하기 위한 TTL을 의미한다.
7. NS
- 해당 도메인의 네임 서버를 지정하기 위해 사용한다.
8. MX
- 해당 도메인의 메일 서버 (Mail Exchange)를 지정하기 위해 사용한다.
9. A
- 도메인의 IP주소(IPv4-32bit)를 지정하기 위해 사용한다.
10. AAAA
- 도메인의 IP주소(IPv6-128bit)를 지정하기 위해 사용한다.
11. PTR
- Pointer의 약어로서 IP주소에 일치하는 도메인을 가리키기 위해 사용한다.
12. CNAME
- Canonical Name의 약어로서 기존 호스트의 다른 이름을 지정 하기 위해 사용한다.
13. TXT
- 해당 도메인의 Text정보를 설정하기 위해 사용한다.
Bind 설치와 DNS 서버 구축
BIND (Belkey Internet Name Domain )
- 패키지 설치 후 생성되는 주요 파일 및 디렉토리
# /etc/named.conf 네임 서버의 주 설정 파일
# /etc/named.rfc1912.zones 존 정보를 설정하기 위한 파일
# /var/named 네임서버의 DB파일을 보관하는 디렉토리
# /usr/sbin/named 네임 서버 데몬 파일
[ DNS 서버 구축 전 Bind 설치 ]
1. 패키지 설치
# yum -y install bind bind-utils bind-libs bind-chroot
- bind : DNS 서버 구축 프로그램을 제공
- bind-utils : DNS 서버 질의에 사용되는 유틸리티 모음
- bind-libs : BIND 과 유틸리티 프로그램이 사용할 라이브러리 패키지
- bind-chroot : BIND의 chroot 환경에 사용되는 파일
2. 패키지가 정상적으로 설치 됬는지 확인하기.
# rpm -qa | grep bind
[ chroot 동작 확인 ]
1. chroot
# vi /etc/sysconfig/named
( /etc/named.conf를 최상위 디렉토리( / ) 로 인식시키는 설정 )
2. chroot가 있는 곳으로 이동 후 파일 확인
# cd /var/named
# ls
3. 최상위 디렉토리(/var/named)의 하위에 위치한 /etc 디렉토리로 이동후 경로확인
# cd /var/named/chroot/etc
# pwd
4. name 서비스 시작
# ls
# service named start
5. name 서비스 중지
# ls
# service named stop
named 서비스를 시작하면 /etc 디렉토리에 위치한 네임서버의 원본 설정 파일이 해당 디렉토리에 복사가 되어 동작한다.
[ DNS 서버 시작 ]
1. 데몬 시작
# service named start 데몬 시작
# service named status 데몬 정보
2. 데몬 설정
# chkconfig named on 재부팅 이후에도 자동으로 데몬 활성화
# chkconfig --list named 설정 확인
# netstat -antu | grep 53
# cat /etc/services | grep -w domain 정보 확인
[ Root 네임 서버 정보 갱신 ]
# yum -y install wget 외부 사이트에서 다운할수 있는 명령어 ( wget ) 설치
# wget ftp://rs.internic.net/domain/named.root wget 명령어로 root 네임서버정보파일을 다운
# mv named.root /var/named ; cd /var/named 다운한 named.root 파일을 /var/named/ 로 이동
# cp -p named.root named.ca 다운한 파일을 기존 named.ca 파일에 덮어씌운다
# tail -45 /var/log/messages named 데몬 시작시 로그 파일에 내용 저장
# ps -ef | grep -v grep | grep named ps 명령어로 named 데몬 동작 확인
# cat /etc/host.conf
# cat /etc/nsswitch.conf | grep hosts
1. 도메인 설정
# vim /etc/named.conf 네임 서버의 주 설정 파일
2. 도메인 추가
# vim /etc/named/rfc1912.zones
[ DB 파일 생성]
1. 디렉토리를 변경
# cd /var/named
2. 도메인에 대한 정보를 저장하는 Froward Zone DB 파일 생성
# cp named.empty tyen.zone
3. DB 파일 수정
# vim tyen.zone
FQDN : 전체 주소 도메인 네임
- DNS 트리 구조상에서 호스트네임 + 도메인 네임을 모두 포함하는 전체 이름이다.
- 반드시 도메인 뒤에 루트도메인( . )을 붙여서 작성해야 한다. ex) www.naver.com.
PQDN : 부분 주소 도메인 네임
4.
# cp tyen.zone tyen.rev.zone
# vim
[ DB 파일 확인 ]
1. named 데몬이 접근이 가능하도록 Forward Zone File 소유권 변경
# chown root:named tyen.zone
:
2. named 데몬이 접근이 가능하도록 Reverse Zone File 소유권 변경
# chown root:named tyen.rev.zone
3. 설정 후 재시작
# service named restart
4. 문법 검사.
# named-checkconf /etc/named/rfc1912.zones
5. 존 설정 검사
# named-checkzone tyen.zone tyen.rev.zone
'OS > Cent OS' 카테고리의 다른 글
FTP (0) | 2017.03.04 |
---|---|
DHCP (0) | 2017.02.19 |
이론+실습] DNS -2 (0) | 2017.02.19 |
Telnet (0) | 2017.02.18 |
IP 확인을 위한 Ping 과 ifconfig (0) | 2017.02.12 |
VMware에서 Bonding으로 서버 구축하기 (0) | 2017.02.12 |
댓글