- 네임서버의 개요
- www.nate.com을 IP 주소로 변환하는 과정을 이름해석(name resolution)이라고 한다.
- 네트워크에서 컴퓨터를 구분하는 유일한 방법은 IP주소다. 즉, 인터넷에 연결된 ㅇ모든 컴퓨터는 중복되지 않는 IP주소를 가지고 있다.
- 트리 구조 형태의 도메인 이름 체계
[참조] http://webdir.tistory.com/161
- ROOT(.) 네임서버 : com 네임서버, net 네임서버, org 네임서버, edu 네임서버와 국가도메인인 kr, fr, sp 등을 관리
- 1단계 네임서버 : 자신의 하위 네임서버를 관리, 예를 들어 com 네임서버는 nate, google, naver 등 2단계 도메인을 관리하는 네임서버들만 관리하면 된다.
- hosts 파일이란?
- 웹 브라우저에 URL 주소를 입력하면 가장 먼저 자신의 hosts 파일에서 해당 URL에 대응하는 IP주소가 있는지 확인한다. hosts 파일에 설정하는 방법은 다음과 같다.
ex) 192.168.10.111 www.nate.com
- hosts 파일 위치
- 윈도우 : C:\Windows\system32\drivers\etc\hosts
- 리눅스 : /etc/hosts
- /etc/host.conf 파일과 /etc/resolv.conf 파일의 의미
host.conf 파일에는 URL 입력 시 IP주소를 얻기 위해 무엇을 먼저 확인할 것인지 결정되어 있다. 기본적으로는 'order hosts,bind' 라고 입력됐거나, 생략됐으면 먼저 /etc/hosts 파일을 찾아본다. /etc/hosts 파일에도 관련 정보가 없다면 bind(DNS 클라이언트, 즉 /etc/resolv.conf 에 설정된 네임 서버에 질의하라는 의미)를 이용한다. 만약 네임서버에 먼저 질의하고, 없을 경우 /etc/hosts 파일을 확인하고 싶으면 "order bind,hosts"로 변경한다. 또 'multi on'은 /etc/hosts 파일에 여러 개의 URL을 사용할 수 있다는 의미다.
- DNS 질의 명령어
- nslookup 명령어
- 도메인 이름과 IP주소를 확인하는 기능을 가진 네트워크 관리 툴
- dig 명령어
- domain information groper 의 약자
- DNS 네임서버에 쿼리를 날리기 위한 툴
- dig 사용시 name server 를 명시하지 않으면 /etc/resolv.conf 파일에 명시된 리스트로 쿼리를 보낸다.
→ dig 명령어 형식
dig @[SERVER] [NAME] [TYPE]
dig @네임서버IP 조회할URL
[SERVER] : 네임서버의 아이피 또는 도메인을 명시한다.
[NAME] : 도메인을 명시한다.
[TYPE] : ANY, A, MX, SIG, 기타... 를 명시한다. TYPE을 생략하는 경우 기본적으로 A레코드를 출력한다.
ex) dig @168.126.63.1 domain.net ANY
TYPE의 종류
A : 네트워크 주소를 의미
ANY : 지정한 도메인의 모든 정보를 의미
MX : 지정한 도메인의 메일서버 정보를 의미
NS : 네임서버를 의미
SOA : 권한의 시작을 의미
HINFO : HINFO 레코드에 대한 정보를 의미
- 네임서버의 종류
- 캐싱전용네임서버(로컬네임서버)
리눅스에는 각자 사용하는 네임서버가 /etc/resolv.conf 파일에 'nameserver IP주소' 형식으로 설정된다. 즉, PC에서 URL로 IP주소를 얻고자 할 때 해당하는 URL의 IP주소를 알려주는 네임서버로써 로컬네임서버라고 지칭한 컴퓨터가 캐싱전용네임서버의 역할을 수행한다고 보면된다.
- 마스터네임서버
john.com 과 같은 도메인에 속해 있는 컴퓨터들의 이름을 관리하고 외부에서 www.john.com 이나 ftp.john.com 등의 컴퓨터 IP 주소를 알기 원할 때 해당 컴퓨터의 IP주소를 알려주는 네임서버로 자신이 직접 www (웹서버), ftp(파일전송서버) 등을 서비스하는 네임서버
- 네임서버 설정파일(named.conf)과 포워드 존파일
/etc/named.conf : 네임서버의 설정파일로써 네임서버 시작될 때 제일 먼저 읽어들이는 파일
options {
listen-on port 53 { any; } → 네임서버에 접속이 허용된 컴퓨터 IP주소
directory "디렉터리이름" ; → 네임서버 DB 파일이 들어 있는 디렉터리
dump-file "덤프파일이름" ; → 정보가 갱신될 때 저장되는 파일
statistics-file "통계파일이름" ; → 통계 처리 용도의 파일
allow-query { 컴퓨터; } → 도메인이름의 쿼리가 허용된 컴퓨터 또는 IP주소
};
zone "도메인이름" IN {
type hint 또는 master 또는 slave; → 마스터 네임 서버는 master
file "파일이름" ; → options의directory에 생성될 도메인이름의 상세 설정파일
allow-update { IP주소 } 또는 { none } ; → 2차 네임서버의 주소. 생략하면 none으로 됨
};
포워드 존 파일의 문법 이해하기
- ; (세미콜론) : 주석을 의미한다.
- $TTL : Time To Live의 약자로 www.john.com 의 호스트 이름을 질의해갔을 때 질의해간 다른 네임서버가 해당 IP주소를 캐시에 저장하는 시간. 3H는 3시간(Hour)을 의미한다.
- @ : /etc/named.conf 에 정의된 john.com을 의미(john.com으로 고쳐 써도 됨)한다.
- IN : 클래스 이름으로 internet을 의미한다.
- SOA : Start Of Authority 약자로 권한의 시작을 뜻한다. 또, 괄호 안의 숫자는 시간을 의미하는데 다음과 같다. serial(버전정보), refresh(상위 네임 서버에 업데이트된 정보를 요청하는 간격), retry(상위 네임 서버에 문제가 발생했을 때 재 접속 간격), expire(상위 네임 서버에 접속하지 못할 경우 이전의 정보를 파기하는 간격), minimum(이 시간 이후에 정보가 삭제됨)을 말한다. 여기서 H는 Hour, D는 Day, W는 Week의 약자다.
- NS : Name Server의 약자로 설정된 도메인의 네임 서버 역할을 하는 컴퓨터를 지정한다.
- MX : Mail Exchanger 의 약자로 메일 서버 컴퓨터를 설정한다.
- A : 호스트 이름에 상응하는 IP주소를 지정한다.
- CNAME : 호스트 이름에 별칭을 부여할 때 사용한다.
포워드 존 파일 설정 예
$TTL 3H
@ SOA @ root. ( 2 1D 1H 1W 1H )
IN NS @
IN A 192.168.111.100
ftp IN A 192.168.111.200
www CNAME webserver.john.com.
webserver 100 IN 61.111.13.51
200 IN 119.205.194.11
300 IN 211.234.241.141
포워드 존 파일 설정 예에서 붉은색 부분은 웹서버에 별칭을 부여함으로써 라운드로빈방식으로 구현하고 있다.
라운드로빈 : 여러대의 웹 서버를 통해 웹 서버의 부하를 분산시키는 방법
'네트워크 서버 구축 실무' 카테고리의 다른 글
프록시 서버 설치와 운영(페도라의 Squid 프록시서버) (0) | 2015.01.04 |
---|---|
vsftpd의 설치와 운영 (0) | 2014.12.30 |
소스를 컴파일해서 APM을 설치하자.(Fedora 19) (0) | 2014.12.29 |
VNC 서버구축(Fedora 19) (0) | 2014.12.26 |