하나의 IP로 웹가상 호스팅

icno의 이미지

다름이 얼마전까지 여러개의 아이피를 가지고 하나의 서버에서
웹호스팅을 하다가 지금은 하나의 아이피로 여러 도메인의
웹호스팅을 하려고 합니다.

이곳에서 관련 글을 찾아보았지만 원하는 내용을 찾지 못하여
이렇게 글을 올립니다.

외부 ip : 61.82.131.100
도메인 : a.co.kr
b.co.kr
c.co.kr (공히 isp 업체에 의해 61.82.131.100이 DNS 로
등록 되었음)

named.conf 파일
--------------------------------------------------------------------------
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

zone "131.82.61.in-addr.arpa" IN {
type master;
file "a.zone";
allow-update { none; };
};

zone "a.co.kr" {
type master;
file "a.zone";
notify no;
allow-update { key "mykey"; };
};

zone "b.co.kr" {
type master;
file "b.zone";
notify no;
allow-update { key "mykey"; };
};

zone "c.co.kr" {
type master;
file "c.zone";
notify no;
allow-update { key "mykey"; };
};
-----------------------------------------------------

a.zone 파일입니다.
----------------------------------------------------

$TTL 86400

@ IN SOA ns.a.co.kr. root.a.co.kr. (
2000032701; Serial
300; Refresh
60; Retry
1209600; Expire
86400); Minimum
IN NS ns.a.co.kr.
IN A 61.82.131.100

IN MX 10 a.co.kr.
IN MX 20 mail.a.co.kr.
IN MX 30 pop.a.co.kr.
IN MX 40 61.82.131.100.

a.co.kr. A 61.82.131.100
localhost A 127.0.0.1
ns A 61.82.131.100
www A 192.168.1.203 ;<= 웹호스팅을 위하여 사설 아이피 부여
mail A 61.82.131.100
pop A 61.82.131.100

100 PTR a.co.kr.
100 PTR ns.a.co.kr.
203 PTR www.a.co.kr.
100 PTR mail.a.co.kr.
100 PTR pop.a.co.kr.
-------------------------------------------------------------

b.zone 파일입니다.
-------------------------------------------------------------
$TTL 86400

@ IN SOA ns.b.co.kr. b.b.co.kr. (
2003022700 ; Serial
300 ; Refresh
60 ; Retry
1209600 ; Expire
86400 ) ; Minimum

IN NS ns.b.co.kr.
IN A 61.82.131.100

IN MX 10 b.co.kr.
IN MX 20 mail.b.co.kr.
IN MX 30 pop.b.co.kr.

b.co.kr. A 61.82.131.100
localhost A 127.0.0.1
www A 192.168.1.102 ;<= 웹호스팅을 위해 사설ip 부여
mail A 61.82.131.100
pop A 61.82.131.100

100 PTR b.o.kr.
102 PTR www.b.co.kr.
100 PTR mail.b.co.kr.
100 PTR pop.b.co.kr.
-----------------------------------------------------------

c.zone 파일은 b.zone 파일과 동일한 구조를 갖고 있습니다.

* nslookup을 이용해서 보면 모두 정상적을 DNS가 구동되고 있습니다.
(참고로, www를 위해 사설ip 부여부분을 고정ip 61.82.131.100으로
변경해서 해서도 테스트를 해보았습니다.)

아래는 httpd.conf 파일의 주요부분입니다.

------------------------------------------------------

NameVirtualHost 192.168.1.203
NameVirtualHost 61.82.131.199
NameVirtualHost 192.168.1.101
NameVirtualHost 192.168.1.103

<VirtualHost 192.168.1.102>
ServerAdmin b@b.co.kr
DocumentRoot /etc/httpd/htdocs/webhosting/b
ServerName www.b.co.kr
ErrorLog logs/b-error_log
</VirtualHost>

<VirtualHost 192.168.1.203>
ServerAdmin a@a.co.kr
DocumentRoot /etc/httpd/htdocs/webhosting/a
ServerName www.a.co.kr
ErrorLog logs/a-error_log
</VirtualHost>

<VirtualHost 192.168.1.103>
ServerAdmin c@c.co.kr
DocumentRoot /etc/httpd/htdocs/webhosting/c
ServerName www.c.co.kr
ErrorLog logs/c-error_log
</VirtualHost>

-------------------------------------------------------------------

문제는 nslookup으로는 정상적으로 모두 동작을 하는데 제가
httpd.conf 파일을 잘못 셋팅해서 안되는지 www.a.co.kr, www.b.co.kr,
www.c.co.kr 모두 www.a.co.kr만을 가르킵니다.

물론 ping으로 사설ip를 테스트하면 모두 정상적으로 작동하구요.

왜 그런지요?
아시는분 답변주시면 정말 감사하겠습니다.

노인철

장준영의 이미지

사설IP를 어떤 목적으로 쓰시는건지 잘 모르겠네요...

하나의 아이피(61.82.131.100)으로
여러도메인네임( www.a.co.kr, www.b.co.kr, www.c.co.kr)을
서비스하시려면..

DNS 설정에서는 세 도메인이 모두 동일한 공인IP인 61.82.131.100 을
가리키게 하시고..

아파치 설정에서는
NameVirtualHost 61.82.131.100 으로 하시고
세 도메인에 대해 각각 모두 <VirtualHost 61.82.131.100>으로
설정을 해주셔야할것 같네요.

icno의 이미지

우선 답변 감사합니다.

그런데 안되네요.... :<

문재식의 이미지

Quote:
100 PTR a.co.kr.
100 PTR ns.a.co.kr.
203 PTR www.a.co.kr.
100 PTR mail.a.co.kr.
100 PTR pop.a.co.kr.

PTR 레코드는 forward zone 에서 사용할 수 없고, reverse zone 에서 사용가능합니다. 위의 부분을 삭제하시죠. 그리고 내부 아이피로 설정한 www 를 삭제하고요.

yaongi0620의 이미지

위에서 한 분이 말씀하신 것처럼 굳이 사설 아이피를 설정할 필요없이
네임서버에서 각 가상서버들을 공인아이피로 맞추어주고,
아피치 설정을
namevitualhost 공인아이피

<vitualhost www.a.co.kr>
.....

<virtualhost www.b.co.kr>
.....

이런 식으로 해주시면 됩니다. 앞에서 이야기하신 분 설정 중 잘못된 부분은 <virtualhost 공인아이피> 부분인데, 이렇게 하면 아파치 설정에서 가상서버의 루트 도큐멘트보다 기본 도큐멘트 루트로 잡혀있는 문서를 먼저 읽어버리게 되어, 가상 서버를 설치한 의미가 없어지게 됩니다.

---- m( @.@)m -----------

jedi의 이미지

제가 보기에는 강좌를 한번 읽어보시는것이 빠를것 같습니다.

일단 사설 ip가 DNS설정에 사용된것은 잘못으로 보입니다.

혹시 ip하나당 하나의 홈페이지를 사용할수 있다고 생각 하시는 것인 아니신지..

---
한번 박은 진드기의 머리는 돌아나올 줄 모른다. 죽어도 안으로 파고 들다가
죽는다. 나는 그 광경을 몰두라고 부르려 한다.
-- 성석제, <재미나는 인생> 중에서, 1997년

+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년

탱탱의 이미지

NameVirtualHost 디렉티브는
그 인수로 받은 IP로 리퀘스트가 왔을때 어떤 페이지로 맵핑을 해 준다는
말입니다
그러므로 라우터에서 도메인 네임에 따라
보내는 IP가 틀려야겠죠
그리고 님과 같은 셋팅에서는 한개의 NIC에 여러개의 IP가 할당이 되어있어야 할겁니다
원 서버에서 돌리실 생각이시라면 가상 IP도 하나로 맞추시는게 좋을겁니다 실제로 저도 그렇게 사용하고 있습니다

난 세상의 떨거집니다
더 알 필요가 있겠습니까? 나에 대해서??

qking의 이미지

문재식 wrote:
Quote:
100 PTR a.co.kr.
100 PTR ns.a.co.kr.
203 PTR www.a.co.kr.
100 PTR mail.a.co.kr.
100 PTR pop.a.co.kr.

PTR 레코드는 forward zone 에서 사용할 수 없고, reverse zone 에서 사용가능합니다. 위의 부분을 삭제하시죠. 그리고 내부 아이피로 설정한 www 를 삭제하고요.

덧붙이면 하나의 ip에는 하나의 PTR 레코드만 올 수 있습니다.

DNS 문서를 한번 보시는게 좋겠습니다.
http://www.kr.freebsd.org/doc/PoweredByDNS/

복날은 간다.

icno의 이미지

여러므로 답변주신 모든분들께 감사드립니다.

제가 DNS 셋팅을 잘못하여 발생한 문제입니다.
말씀하신대로 DNS에 사설 IP를 제거사고
공인아이피로 셋팅함으로써 모든 문제를
해결하였습니다.

다시한번 감사드립니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.