웹호스팅문제입니다. 도와주세요.

hereinon의 이미지

현재 네트워크 구축 상황입니다.

Quote:

|----- 윈도우 2000 서버(192.168.10.2)
외부 ---->리눅스 -----|----- 윈도우 2000 서버(192.168.10.3)
|----- 윈도우 2000 서버(192.168.10.4)
|----- 윈도우 2000 서버(192.168.10.5)

위의 그림과 같이 리눅스에서 eth0(공인아이피)과 eth1(사설아이피)를 활용하여 IP MASQUERADE를 구현 해놓았습니다.(물론 내부의 사설 아이피에 물려있는 윈도우 서버들은 인터넷도 다 되고요.) 그리고 IP MASQUERADE를 구현해 놓은다음 192.168.10.2서버를 네임기반 가상호스팅할수 있게 IIS 설정을 해놓고 리눅스에서 192.168.10.2로 포트 포워딩을 해서 접근할 수 있게 했습니다.
그래서 예를 들어 도메인 주소 a.com, b.com, c.com을 URL주소창에 입력하게되면 192.168.10.2로 포워딩되어
해당 서버에서 도메인에 맞게 IIS 가 가상 호스팅을 하게 되는것 까지 구현 했습니다.
--------------------------------<이상의 내용은 다 구현되어있고 실제 사용도 하고 있습니다>-------------------
# 지금부터가 문제인데 제가 원하는것은 외부에서 a.com , b.com , c.com이라는 도메인을 입력하게되면
a.com은 192.168.10.2, b.com은 192.168.10.3, c.com은 192.168.10.3 서버로 보내고 싶을때는 어떻게 해야 할까요? 또한 이렇게 구현하고자 할때 라우터와 같은 장비를 사용해서 네트워크 디자인을 다시 해야 할지 어떻게 할지 감이 잘 안옵니다. 아시는분 답변 부탁드립니다.
codebank의 이미지

bind(dns)을 이용해야하지 않을까요?
포트 포워딩을 해 놓았다면 서비스가 일률적으로 포워딩한 서버로만 갈것 같네요.
제가 볼때는 dns 서버를 구축해놓고 그 dns에 의해서 각 서버로 가는게 맞는것 같은데말이죠.

------------------------------
좋은 하루 되세요.

supersky의 이미지

제가 2000년도에 하이텔에 올렸던 문서인데요 이문서를 보시면
자세히 아실꺼라 생각합니다.

그때보다 조금더 Upgrade되었을것 같은데요..
그건 직접 실험해보는것이 좋을듯 합니다.

문태준님의 사이트에 그때 작성한 글이 있습니다.
링크는 아래와 같습니다.

http://www.tunelinux.pe.kr/bbs/read.php?table=linuxinfo&no=34

궁금한점 있으시면 메일로 부탁합니다.
도움이 되셨으면 합니다.

void main()
{
printf("Hello World\n");
exit(0);
}
/* 초심으로 돌아가자~~~~~ */

hereinon의 이미지

codebank님이 이야기 하시는건 dns에 따라 포트 포워딩을 리눅스에서 하라는 이야기인가요? 제가 이해한게 맞다면구체적인 방법은 어떻게 해야 할까요

mudori의 이미지

관리 서버만 늘릴 필요 있을까요?

호스팅이 1:n 인데.. 특별히 막기도 어렵죠..

hereinon의 이미지

다른건 원하지 않습니다.

codebank의 이미지

hereinon wrote:
codebank님이 이야기 하시는건 dns에 따라 포트 포워딩을 리눅스에서 하라는 이야기인가요? 제가 이해한게 맞다면구체적인 방법은 어떻게 해야 할까요

아닙니다.
named이 각 이름에 따라서 사용할 컴퓨터를 정한다는 것이죠.
dns의 역할을 이해하신다면 쉽게 설명이 가능하겠죠.
즉, a.com은 192.168.0.2로 보내고 b.com은 192.168.0.4를 가리키게하는게
dns의 역할입니다.(IP값을 알려주는 역할을 하죠.)
사용할 client에서는 간단하게 dns항목에 dns서버가 운영중인 서버(linux서버)를
추가시켜주기만하면 해당 네임을 linux의 dns에서 검색하여 접근하기때문에
다른 변화는 필요없다는 뜻이였습니다.
물론 이런 경우에는 192.168.xx.xx의 IP번호를 가진 client에서만 유효한 것입니다.

iptables는 제가 알기로 IP주소로 분류가 됩니다. 하지만 호스트 이름으로 분류가
되려면 일단은 그것을 분석해주는 것이 필요하고 그 분석작업을 해주는 것이 dns서버
라는것이죠.
iptables에서도 이런 작업이 있는지는 모르겠지만 일단 제가 아는 방법에서는
들어오는 호스트 이름별로 분류작업을 해줄 수 있는 그래서 요청한 client가
해당 서버의 IP를 얻어갈 수 있는 방법이 dns라고 생각한 것입니다.

------------------------------
좋은 하루 되세요.

hereinon의 이미지

그렇다면 example.zone 파일에다가
www IN A 192.168.10.2(사설아이피)
이런식으로 작성을 하라는 이야기는 아니겠지요?

박영선의 이미지

코드뱅크님께서 말씀하신것은 내부에서 리눅스머신의 DNS를 참조하여 접근할때만 가능한게 아닐까요?

질문하신분은 외부에서 접근할때를 말씀하시는것같은데...

요약을 하자면 공인아이피 하나에 도메인 세개를 연결해놓고, 사설네트웍의 서로 다른 서버로 연결이 되어야 한다는것이라고 할 수 있을것같은데...

결국 NAT머신(라우터든, 리눅스든, L4든 무엇이 되었건...)에서 URL(Layer 7)을 보고 스위칭을 해줘야 한다는거잖아요.

제 짧은 지식으로 L7스위치외에는 방법이 없을듯 합니다.

다만 구차하게 편법을 쓰자면 이런 방법이 있을듯합니다.

먼저 리눅스머신에서 NAT를 구현하고, 아파치에서 도메인기반 버추얼호스팅으로 세개의 홈페이지를 띄워놓습니다.

각 홈페이지는 사설서버들의 링크를 자동으로 연결하게 해주는거죠.

물론 NAT머신에서 포트포워딩할때 세개의 서버들은 ??다른 포트로 웹서비스를 해야겠죠.

이를테면 포워딩 룰셋이 다음과 같다는거죠.

공인아이피:80 -> 192.168.10.2:80
공인아이피:81 -> 192.168.10.3:80
공인아이피:82 -> 192.168.10.4:80

그리고 각 페이지 셋팅은 이렇게 하면 될듯합니다.

a.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:80/index.html 으로 페이지를 자동으로 이동,

b.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:81/index.html 으로 페이지를 자동으로 이동,

c.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:82/index.html 으로 페이지를 자동으로 이동해주면 되지않을까 합니다.

^^;;

hereinon의 이미지

L7스위치라는것은 구체적으로 무엇을 말하는걸 까요?
참고할 수 있는 문헌이나 사이트 자료를 얻을 수 있는 곳 좀 소개
시켜주시면 좋겠습니다.
어떻게든 해결을 해야하는데 잘 안되서요~~
답변 감사하고요 좋은 하루 되세요

박영선의 이미지

hereinon wrote:
L7스위치라는것은 구체적으로 무엇을 말하는걸 까요?
참고할 수 있는 문헌이나 사이트 자료를 얻을 수 있는 곳 좀 소개
시켜주시면 좋겠습니다.
어떻게든 해결을 해야하는데 잘 안되서요~~
답변 감사하고요 좋은 하루 되세요

L7 스위치는 레이어7에서 스위칭한다는겁니다.

L4는 레이어 4에서 IP보고 스위칭하잖아요.

URL은 7계층 http프로토콜에서 쓰는거니까 L7스위치 혹은 애플리케이션스위치라고합니다.

패킷을 마지막까지 다 까보고 스위칭을 하니 URL보고 원하는대로 보낼수 있는거죠.

근데 값이 꽤 비쌀겁니다.

L4 두배는 생각究탑峠撚?..

^^;;

hereinon의 이미지

그렇다면 제가 제기한 문제는 순수 리눅스 네트워크 기술로는 불가능하다는 이야기로 귀결 되는 거 같은데 다른 방법은 없을까요?
(리눅스 이데로 무너지나~?)고수님들 참여해주세요~plz

박영선의 이미지

hereinon wrote:
그렇다면 제가 제기한 문제는 순수 리눅스 네트워크 기술로는 불가능하다는 이야기로 귀결 되는 거 같은데 다른 방법은 없을까요?
(리눅스 이데로 무너지나~?)고수님들 참여해주세요~plz

순수리눅스네트워크기술로 불가능하다니요.

없으면 만들면 되는것을...

어디선가 그 기능을 지금도 만들고있을지도 모를일이죠.

다만 난이도가 높고, 활용도가 낮거나 관심있는 프로그래머가 별로 없으니까 안만드는거 아닐까요?

사실 iptables에서 스트링 탐색해서 필터링하는 기술도 IPS에 활용할수있는 Layer 7 기술아닙니까...

^^;;

hereinon의 이미지

시중에는 리눅스만 갖고는 해결할 수 없고
장비를 사서 그문제를 해결할 수 있다는 절망적인 이야기인가요?
아님 없으면 개발이라도 해야한다면 어떤 문헌 자료를 참고 해야 할까요?
의견 부탁~

ironiris의 이미지

박영선 wrote:
다만 구차하게 편법을 쓰자면 이런 방법이 있을듯합니다.

먼저 리눅스머신에서 NAT를 구현하고, 아파치에서 도메인기반 버추얼호스팅으로 세개의 홈페이지를 띄워놓습니다.

각 홈페이지는 사설서버들의 링크를 자동으로 연결하게 해주는거죠.

물론 NAT머신에서 포트포워딩할때 세개의 서버들은 ??다른 포트로 웹서비스를 해야겠죠.

이를테면 포워딩 룰셋이 다음과 같다는거죠.

공인아이피:80 -> 192.168.10.2:80
공인아이피:81 -> 192.168.10.3:80
공인아이피:82 -> 192.168.10.4:80

그리고 각 페이지 셋팅은 이렇게 하면 될듯합니다.

a.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:80/index.html 으로 페이지를 자동으로 이동,

b.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:81/index.html 으로 페이지를 자동으로 이동,

c.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:82/index.html 으로 페이지를 자동으로 이동해주면 되지않을까 합니다.

여기 해답을 주셨네요.
hereinon의 이미지

일반사용자 그 누구가 도메인옆에 포트 번호를 치고 홈페이지에 접속을 할런지요~

익명 사용자의 이미지

hereinon wrote:
일반사용자 그 누구가 도메인옆에 포트 번호를 치고 홈페이지에 접속을 할런지요~

이해를 못하시는 군요.

Quote:

a.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:80/index.html 으로 페이지를 자동으로 이동,

b.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:81/index.html 으로 페이지를 자동으로 이동,

c.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:82/index.html 으로 페이지를 자동으로 이동해주면 되지않을까 합니다.

일반 사용자는 a.com , b.com , c.com 으로 접속하면 됩니다.

리눅스의 virtual host 설정과 해당 페이지에서 각
http://공인아이피:80/index.html 형식으로 보낸다는 것이죠.

hereinon의 이미지

firefox wrote:
hereinon wrote:
일반사용자 그 누구가 도메인옆에 포트 번호를 치고 홈페이지에 접속을 할런지요~

이해를 못하시는 군요.

Quote:

a.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:80/index.html 으로 페이지를 자동으로 이동,

b.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:81/index.html 으로 페이지를 자동으로 이동,

c.com 이 버추얼호스팅으로 서비스되는 메인페이지에는 http://공인아이피:82/index.html 으로 페이지를 자동으로 이동해주면 되지않을까 합니다.

일반 사용자는 a.com , b.com , c.com 으로 접속하면 됩니다.

리눅스의 virtual host 설정과 해당 페이지에서 각
http://공인아이피:80/index.html 형식으로 보낸다는 것이죠.

설마 아파치웹서버에서 사설아이피로 가상호스트를 하라는 이야기는 아니겠지요~?

댓글 달기

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