--------------------------------------------------------------------------------------------------------------------
<<< LINUX 에서 Domain Name Server 설정하기 >>>
--------------------------------------------------------------------------------------------------------------------
※ 네임서버를 설정하기 전에 네임서버에 관련된 파일을 살펴보도록 하자.
1. Resolver
1.1. /etc/host.conf
- 해석(Resolution) 방법 및 순서를 지정하는 파일 [ vi /etc/host.conf 로 확인 ]
1.2. /etc/resolv.conf
- 네임서버 위치를 지정하는 파일 [ vi /etc/resolv.conf 로 확인 ]
2. Name Daemon : 실제 도메인 서버 설정시 편집해야 하는 파일들
2.1. /etc/named.conf
- 네임서버 기본 설정 파일
- /etc/init.d/named 네임서버 데몬이 참조하는 환경(설정) 파일
2.2. /var/named
- /etc/named.conf 파일에 등록된 지역(zone)에 대한 실제 .zone 파일들이 위치하는 곳.
- 정방향 파일 설정을 위한 파일들의 위치.
2.3. /var/named/*.zone
- /etc/named.conf 설정 파일에서 정방향 조회에 대한 도메인(zone)을 추가한 후,
- /var/named 디렉토리로 이동하여 도메인.zone 파일을 만들고, 적절히 수정해야 한다.
- 예 : meimay7.co.kr.zone 파일을 생성하면 네임서버 동작시 /etc/named.conf 에서는 지정된
디렉토리(/var/named)에 있는 meimay7.co.kr.zone 파일 내용을 참조하여 네임서버가
작동하게 된다.
--------------------------------------------------------------------------------------------------------------------
/etc/resolv.conf
--------------------------------------------------------------------------------------------------------------------
1. resolv.conf 파일은 자신의 호스트(내 로컬 컴퓨터)가 네임서버가 아니더라도 도메인 해석을
위하여 어느 네임서버를 사용할 것인가를 설정해 주는 파일이다.
2. 따라서 이 파일이 존재하지 않으면 사용자의 호스트에서는 네임서버를 찾을 수 없으므로 접속
하고자 하는 호스트 주소를 알 수 없게 되어 도메인 이름으로는 외부 네트워크에 접근할 수 없
게 된다.
3. resolv.conf 파일 설정 옵션
3.1. domain
- 사용자 호스트의 로컬 도메인 이름을 넣는다.
- 즉, 자신의 호스트 이름이다
- # uname -a 또는 hostname 으로 자신의 호스트 명 확인
3.2. search
- 자동으로 찾을 도메인 주소를 입력.
- 이 옵션으로 지정한 도메인에 대해서는 호스트명만 입력하면 자동으로 FQDN 으로 인식하여
해당 사이트를 찾습니다. 예를 들어 search naver.com 으로 지정해 주면 웹 브라우저에서
www 를 치면 www.naver.com 으로 인식한다.
3.3. nameserver
- IP 주소로 네임서버를 사용할 호스트를 입력합니다. 첫번째 네임서버에 장애가 발생되면
두번째 네임서버, 세번째 네임서버 순으로 작동한다. ( 최대 3개지 지정 가능 )
4. 일단 /etc/resolv.conf 파일의 내부를 보자.
4.1. 최초의 파일 내용
# cat /etc/resolv.conf
<<<<<<<< 내용 >>>>>>>>
nameserver 168.126.63.1
nameserver 168.126.63.2
4.2. 도메인이 없는 경우 /etc/resolv.conf 를 다음과 같이 설정하자.
# vi /etc/resolv.conf
<<<<<<<< 내용 >>>>>>>>
domain localhost -- 추가부분
search localhost -- 추가부분
nameserver 168.126.63.1 -- 자기 IP
nameserver 168.126.63.2 -- 자기IP
4.3. 도메인이 있는 경우 /etc/resolv.conf 를 다음과 같이 설정하자.
# vi /etc/resolv.conf
<<<<<<<< 내용 >>>>>>>>
domain www.meimay7.co.kr -- 추가부분
search meimay7.co.kr -- 추가부분
nameserver 168.126.63.1
nameserver 168.126.63.2
4.4. /etc/hosts 와 /etc/resolv.conf 와의 차이점 ☆★☆★☆★
- /etc/hosts 는 로컬 시스템에서 작동하는 간이 네임서버 파일이라 할 수 있습니다.
로컬 시스템에서는 도메인 검색 질의를 할 경우 이 파일에서 해당 도메인이 있는지
체크하여 없으면 /etc/resolv.conf 파일에 지정되어 있는 네임서버에게 도메인 검색
을 질의하여 IP 주소로 변환이 이루어집니다. 그러므로 /etc/hosts는 엄밀히 말하자면,
네이서버라 할 수 없지만, 로컬 시스템상에서는 도메인이나 IP 주소를 해석해 주는
기능을 하므로, 간이 네임서버라 할 수 있습니다.
/etc/hosts 파일에 인터넷 사이트의 도메인 주소를 단축시켜 단축시킨 이름으로 웹
서핑이나 텔넷, FTP등에서 사용할 수 있는 이점은 있지만, 이용하는 사이트가 많아지면
많아 질수록 이 파일에서 추가해 주는 것이 한계가 있으므로, 도메인에 대한 맣은 데이터
베이스를 가지고 있는 네임서버가 필요하게 되는 것입니다.
따라서 /etc/resolv.conf 파일에 nameserver 옵션으로 네임서버 주소를 지정해 주면
수많은 도메인에 대해서 쉽게 변환이 이뤄지게 됨으로써 클라이언트 환경에서 인터넷을
사용하는데 그만큼 편리하게 됩니다.
--------------------------------------------------------------------------------------------------------------------
☆★☆★☆★ Domain Name Server 설치 ☆★☆★☆★
--------------------------------------------------------------------------------------------------------------------
1. /etc/named.conf 파일에 정방향 조회를 위해서 다음 내용을 추가.
1.1. 이 작업은 윈도우에서 DNS -> 정방향 조회 영역 -> meimay7.co.kr 도메인을 생성하는
것과 같은 작업니다.
1.2. /etc/named.conf 파일의 추가된 내용
// generated by named-bootconf.pl
options {
//------------- /ver/named 디렉토리의 .zone 파일을 참조한다. -----------------------//
directory "/var/named";
//--------------------------------------------------------------------------------------------------//
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
//---------------------- 추가부분 -----------------------//
zone "meimay7.co.kr" IN {
type master;
file "meimay7.co.kr.zone";
allow-update { none; };
};
//---------------------- 추가부분 끝 -----------------------//
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
include "/etc/rndc.key";
2. zone "meimay7.co.kr" 도메인을 추가하였으므로 /etc/named.conf 내용중 디렉토리가 지정한 곳에서
.zone 파일을 참조할 수 있도록 "meimay7.co.kr.zone" 파일을 생성한다.
2.1. # cp localhost.zone meimay7.co.kr.zone
3. meimay7.co.kr.zone 파일을 열어 SOA 부분 설정가 도메인(meimay7.co.kr)이 사용할 호스트를 추가하자
3.1. 이 작업은 윈도우의 DNS -> 정방향 조회역역 -> meimay7.co.kr 탭에서 SOA 등의 각종 설정과
www , mail 등의 호스트를 지정하는 부분과 같은 작업니다.
3.2. vi meimay7.co.kr.zone 으로 파일을 열자
3.3. meimay7.co.kr.zone 파일을 다음과 같이 되도록 설정하자. ( 문자뒤에는 꼭 . 을 붙인다!!!!!!!!!! )
$TTL 86400 (name 서버이름) (name서버 관리자)
@ 1D IN SOA ns.meimay7.co.kr. meimay7.hotmail.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.meimay7.co.kr.
@ IN A 172.15.0.19 ; 호스트 지정부분
www IN A 172.15.0.19 ; 호스트 지정부분
4. 설정이 완료되었으면 네임서버를 재시작 하자.
4.1. # cd /etc/init.d 명령으로 디렉토리 이동
4.2. # ./named stop | restart | start (네임서버 중지 또는 재시작 또는 시작 )
4.3. # nslookup
> server 172.15.0.19 ( 도메인 서버 지정 : 로컬 IP )
> www.meimay7.co.kr
=> 도메인에 해당하는 IP 가 출력되는 정상 셋팅된 것!
5. 기본 DNS 설정이 완료되었으므로 내 컴퓨터의 IP가 도메인 서비스를 할 수 있도록
/etc/resolv.conf 파일에 다음과 같이 되도록 추가하자
5.1. 파일 내용 추가
# vi /etc/resolv.conf
<<<<<<<< 내용 >>>>>>>>
domain localhost09
search localhost09
nameserver 172.15.0.19 -- 추가부분 (자신의IP) : 가장 위쪽에 추가하자[ 로컬 도메인이 1순위가 되도록 ]
nameserver 168.126.63.1
nameserver 168.126.63.2
5.2. 이 과정은 윈도우2000 에서 "네트워크설정 -> TCP/IP -> 도메인 등록" 과정중 실제 도메인을 자신의
컴퓨터에 등록하는 과정과 같다.
6. 5번과정까지 끝나면 도메인 설정이 완료된 것이다. " /usr/local/apache2/bin/httpd -k start "
명령으로 apache 데몬을 실행시키고 웹 브라우저에서 5번과정까지 설정한 도메인으로
브라우저 접속이 가능한지 테스트 해보도록 하자.
http://www.meimay7.co.kr
7. 여러개의 도메인 추가하기
7.1. 여러개의 도메인 등록도 도메인 하나를 등록하는 방식과 동일힌다.
7.2. /etc/named.conf 에 zone 영역을 추가한다.
// generated by named-bootconf.pl
options {
//------------- /ver/named 디렉토리의 .zone 파일을 참조한다. -----------------------//
directory "/var/named";
//--------------------------------------------------------------------------------------------------//
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "meimay7.co.kr" IN {
type master;
file "meimay7.co.kr.zone";
allow-update { none; };
};
//---------------------- 추가 도메인 부분 -----------------------//
zone "meimay7.pe.kr" IN {
type master;
file "meimay7.pe.kr.zone";
allow-update { none; };
};
//---------------------- 추가 도메인 부분 끝 -----------------------//
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
include "/etc/rndc.key";
7.2. /etc/named.conf 에 zone 영역이 추가 되었으면, /var/named 디렉토리에
"추가도메인명.zone" 파일을 생성하자.
# cp meimay7.co.kr.zone meimay7.pe.kr.zone
7.3. /var/named/meimay7.pe.kr.zone 파일을 다음과같이 만들자.
$TTL 86400 (name 서버이름) (name서버 관리자)
@ 1D IN SOA ns.meimay7.pe.kr. meimay7.hotmail.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.meimay7.co.kr.
IN NS 172.15.0.19. <====== IP 도 등록하자.
@ IN A 172.15.0.19 ; 호스트 지정부분
www IN A 172.15.0.19 ; 호스트 지정부분
7.4. 여러개 도메인 추가후 nslookup으로 테스트시 정상적으로 동작이 안될경우,
" # /etc/init.d/named start " 명령으로 네임서버를 재시작 한 후 테스트 하자.
7.5 새로 등록된 도메인으로 홈페이지가 뜨는지 웹브라우저에서 확인하자.