네임서버 가상호스트 관련..

KaRTa의 이미지

레드햇 9으로 혼자 책보고 공부하다가 막히는 부분이 있어서
이렇게 질문 드립니다.

제가 지금 test.com이라는 도메인은 구축할려고 합니다.
또, abc.test.com이라는 도메인을 구축하고, abc.com이라는
도메인도 구축을 하고 싶습니다.

하나의 도메인 구축은 해보았지만 한 서버에 여러개의 도메인
구축은 처음이라 잘 안되네요..^^;;

제가 아는 방법은

httpd.conf에
<VirtualHost 아이피>
DocumentRoot 경로
ServerName abc.test.com
</VirtualHost>
이렇게 입력하고

DNS의 zone파일에
work IN A 아이피

이렇게만 알고 있습니다. 도움 부탁드립니다.

DefaultX의 이미지

참고 하세요
제가 예전에 갈무리 해두었던 내용입니다

네임서버를 운영한다는 것은 모든 서비스에서 꼭 필요한 도메인을 관리하는 
것이기 때문에 신중하게 해야 합니다. 

간단하게 네임서버를 운영하기 위한 절차를 알아보도록 하겠습니다. 

1. 호스트 등록 
네임서버 역할을 하기 위해서는 정확한 호스트명과 IP를 가진 하나의 호스트
를 상위 도메인 관리기관인 krnic(domain.nic.or.kr)이나 nic(networksoluti
ons.com)에 등록을 해야 합니다. 

2. 각 도메인의 네임서버 정보 변경 
현재 네임서버를 운영하기 위해 호스트 등록을 

host : ns.wdb.co.kr 
IP : 111.111.111.111 

로 했다고 가정합시다. 
그리고 서비스를 시작 하기 위해 pretty.co.kr이란 도메인을 네임서버에 등록
시키기 위해서는 이 도메인의 네임서버 정보를 

primary : 
ns.wdb.co.kr 
111.111.111.111 

위와 같이 변경해야 합니다. 
물론 2차 네임서버가 존재한다면 secondary 정보도 넣으면 됩니다. 

3. 본격적인 네임서버 셋팅 
운영하고자 하는 네임서버가 프라이머리만 있다고 가정합시다. 
현재 사용되고 있는 네임서버 프로그램은 bind 입니다. 일반적으로 설치가 되
어 있기 때문에 굳이 다시 설치할 필요는 없습니다. 
셋팅할 파일은 /etc/named.conf입니다. 

기존에 사용하던 것은 bind4였는데 보안상 문제가 있어 요즘 사용되고 있는 
것은 bind8입니다. bind4에서 주 설정 파일은 named.boot 였지만 bind8에서는
named.conf입니다. 작성하는 것도 물론 틀립니다. 

이제 본격적인 네임서버 설정에 들어 갑시다. 

#vi /etc/named.conf 
// generated by named-bootconf.pl 

options { 
directory "/var/named"; 
/* 
* If there is a firewall between you and nameservers you ant 
* 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 
// 
zone "." { 
type hint; 
file "named.ca"; 
}; 

zone "0.0.127.in-addr.arpa" { 
type master; 
file "named.local"; 
}; 

zone "pretty.co.kr"{ 
type master; 
file "pretty.co.kr.zone"; 
}; 

현재 서비스할 도메인을 여기에 추가합니다. 파일 형식은 위와 같이 하면 됩
니다. 
여기에서 

directory "/var/named"; 

이 부분은 각 도메인에 대한 존파일이 존재할 위치입니다. 기본적으로 /var/
named에 위치합니다. 
위의 파일을 예로 든다면 pretty.co.kr.zone 
이란 파일이 /var/named에 존재해야 겠지요. 
그리고 type이 master라는 것은 primary를 의미합니다. 
만약 2차 네임서버라면 이 부분이 

type slave 

로 되어야 합니다. 

이 설정 파일은 각 도메인에 대한 이름과 그 도메인의 존파일을 지정하는 곳
이기 때문에 철자하나, ; 등 신중하게 작성해야 합니다. 

4. 각 도메인에 대한 존파일 작성하기 

이제 해야 할 일은 named.conf에서 지정해준 도메인에 대한 존파일을 작성하
는 것입니다. 
이것을 작성하기 위해서는 named가 이해하는 각각의 레코드를 알아야 합니다
. 

다음은 지금 설정하려고 하는 pretty.co.kr에 대한 설정 예입니다. 

#vi /var/named/pretty.co.kr.zone 

@ IN SOA ns.wdb.co.kr. hostmaster.wdb.co.kr. 
( 
2000032210 ; serial 
43200 ; retry 
3600 ; refresh 
1209600 ; expire 
86400 ; minimum ttl 
) 
IN NS ns.wdb.co.kr. 
IN NS ns1.wdb.co.kr. 
IN MX 10 mail 
IN A 111.111.111.111 

www IN MX 10 mail 
IN A 111.111.111.111 
mail IN A 111.111.111.111 
ns IN A 111.111.111.111 
ftp IN CNAME www 

위의 파일을 이해하기 위해서는 각 레코드에 대해 알아야 합니다. 
1) SOA (start of authority) 
모든 존파일은 이 레코드로 시작합니다. 이것은 해당 도메인에 대해 네임서버
가 인증된 자료를 갖고 있음을 의미합니다. 

* serial : secondary 네임서버가 존파일의 수정 여부를 판단할 수 있도록 하
는 것입니다. secondary 네임서버가 존재한다면 존파일이 변경 될 때마다 꼬
꼭 수정을 해야 합니다. 

* Serial의 표기는 증가하는 임의 숫자보단 일반적으로 최종 수정일을 YYYYM
MDDNN의 형식으로 표기합니다. YYYYMMDDNN 연도 표기법은 4294년까지 표기 가
능합니다. 

* Refresh: Primary측의 Zone 데이터베이스 수정여부를 Secondary가 검사하는
주기입니다. 네트워크의 변경이 잦아 Zone파일이 자주 수정된다면, 3H(1080
0) 정도로 설정합니다. Zone이 안정되는 시점에서는 일반적으로 6H(21600) -
12H로 설정합니다. 

* Retry: Secondary측에서, Primary와 연결이 안될 경우, 재 시도 시간 주기
입니다. Refresh 기간 보다 적을때 의미가 있으며, 대부분의 경우 30M(1800)
- 1H로 설정합니다. 

* Expire: Secondary가 Expire로 지정된 시간동안 Primary에 연결하지 못할 
경우, 오래된 백업카피의 자료가 더 이상 유효하지 않다고 보고, 해당 도메인
에 대한 답변을 하지 않습니다. 이 값을 너무 낮게 책정하는 것은 좋지 않고
보통 1W - 2W(1209600)로 설정합니다. 

* Minimum: 타 네임서버가 본 Zone에 기술된 자료를 갖고 갔을 경우, 그 자료
에 대한 유효기간(캐쉬에 살아있는 시간)을 설정합니다. TTL(Time To Live)값
이 명시되지 않은 레코드는 본 값을 기본으로 갖게 됩니다. 특정 레코드가 변
경되었을 때, 이것이 인터넷에 전파되어 업데이트되는 주기는 전적으로 이 M
inimum 값에 의존합니다. 일반적으로 SOA에서는 1D(86400)를 설정하여 전체 
레코드에 적용하고, 잦은 변경이 예상되는 레코드만 명시적으로 1H - 3H 정도
로 낮추는 방법을 사용합니다. 0은 캐싱을 하지 말라는 의미입니다. 
서버를 이전하거나 급하게 수정을 원한다면 ttl을 0으로 바꾼 후 전에 ttl이
지난후 변경해야 합니다. 

2) NS(Name Server) 레코드 
NS 레코드로 해당 도메인에 대한 네임서버를 나타냅니다. 

3) A 레코드 
IN A 111.111.111.111 

위와 같이 A 레코드 다음에는 꼭 주소가 나와야 합니다. 

4) CNAME 레코드 
이것은 별칭을 의미합니다. 

ftp IN CNAME www 

위와 같이 다른 이름을 줄수 있습니다. 

5) MX(Mail eXchanger) 레코드 
MX 레코드는 해당 호스트의 메일 라우팅 경로를 조정합니다. 주의할 점은 MX
레코드에 CNAME으로 설정된 도메인을 넣으면 안됩니다. 

5. 네임서버 재가동 
모든 설정이 끝났다면 네임서버를 재가동시키면 됩니다. 

# /etc/rc.d/init.d/named restart 

6. 동작 확인 
아무리 자신있게 설정했다 하더라도 간혹 안될 경우도 있습니다. 그래서 꼭 
확인 해보아야 하는데 이때 사용하는 것은 nslookup입니다. 

#nslookup 
server ns.wdb.co.kr 
111.111.111.111 
>pretty.co.kr. 
Name: pretty.co.kr 
Address: 111.111.111.111 

위와 같이 되었다면 성공한 것입니다. 
그런데 만약 주소를 못찾는 다면 
/var/log/messages나 /var/log/daemon.log를 꼭 확인해 보세요. 

안되는 이유에 대해 정확히 나와 있으니까 원인을 쉽게 찾을 수 있습니다. 

Now Starting ....

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.