• 締切済み

Virtual Directory について

DNZに2台のHTTPサーバを置き1台を通常のウェブサーバとして残り1台を試作用として設置をしました。LAN上にあるPCから両サーバに問題はなく繋がります。当然のことですが、外部からですと1台のHTTPサーバにしかつながりません。 現在は海外のレジストラーにDNS委託をして1台のHTTPサーバは運用できます。解決策として、新しいドメイン名を取得して他のもう一社にDNSを委託することで問題を解決できるのではと考えているのですが、無謀ですか? が第一の質問です。 二番目の質問は、apacheのVirtual Directory Hostingを使えば新しいドメイン名を取得しなくても解決が出来ると聞いたことがあります。1台のHTTPサーバで2つのドメイン名を振り分ける手法の解説書はありましたが、2台のHTTPサーバにアリアスかバーチャルドメイン名を振り分ける手法について説明のあるウェブサイトが見つかりません。分かる方がいらっしゃれば是非教えを請いたいのですが。ウェブサイトの紹介(英文)でもかまいませんので宜しくお願いします。 尚、2台のHTTPサーバはLAMPです。DebianのEtchとApache2を使用しています。 グローバルIPアドレスは1つありますがFirewallにppp0に付与しています。DMZは192.168.0.2と192.168.0.3のプライベートアドレスを使用しています。DMZ上には2台のHTTPサーバ以外は置いておりません。 グローバルIPアドレスは経費が掛かりすぎるために断念しています。 宜しくお願いします。

noname#202629
noname#202629

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

> 無謀ですか? が第一の質問です。  正直何を言っているのかさっぱり分からないのだが、状況を類推するとこういう事だろうか。 インターネット |(グローバルIP) 終端装置 |←192.168.254.x(仮) ○-+-サーバA(ルータからNAT?) | |←192.168.0.x | +-サーバB |←192.168.1.x(仮) 社内クライアントパソコンたち ○のところがDMZ切り替えルータで192.168.0.x(DMZ)、192.168.254.x(仮、インターネット向けセグメント、あるいはここがグローバルIP?)、192.168.1.x(仮、社内セグメント)の3つを分けている。 混乱の原因は、多分他の会社にDNS委託云々の所が余計な説明というか余計な事を考えているんだと思う。今のDNS委託でwww.fruchan.tldが1個あるってんなら、普通に www.fruchan.tld→ルータのグローバルIP www2.fruchan.tld→ルータのグローバルIP で良いじゃん。IP1個じゃどんな構成を取ったところでどうせ一旦サーバAが受ける事になるんだから。いや、取りたいなら別ドメインを取っても良いんだけど。 で、めでたくサーバAでバーチャルホスト2台が動作するようになったら、そのうちの片方をリバースプロクシでサーバBに飛ばしてやれば良い。  何が分からないって「何をしたい」のかが分からない。文脈から「今はグローバルIPが1個しかないからインターネットからサーバAにしかつながらないけど、これをグローバルIPを1個のままでサーバAとサーバBに両方リクエストがくるようにしたい」のかなと思うのだけど・・・・。回答もその仮定のもとに行った。  ポート番号を変えても良いのであればこんな事をごちゃごちゃする必要は全くないんだけどね。単純にwww.fruchan.tld:80→サーバA:80へ、www.fruchan.tld:81→サーバB:80ってすれば良い。いずれにせよDNS委託を二社に増やす意味は全くない。 「長々と書いて結局何をすれば良いのかわかんね」とならないように、する事をまとめると、 1.サーバAで2つのバーチャルホストを動かせるようにする。 2.バーチャルホスト2へのアクセスをリバースプロクシでサーバBに飛ばすようにする。 この2つだけだ。

noname#202629
質問者

お礼

お礼の返事が送れまして申し訳ありません。 ポート番号を変えることでトライをしています。何とか http://www.linuxvirtualserver.org/VS-NAT.html に行き着いたのですが、敷居は高そうです。 分からない事があれば引き続き質問をさせていただきます。宜しくお願いします。

関連するQ&A

  • バーチャルドメインについて

    DNSとApacheが連携をしてバーチャルドメインは成り立つものだと理解しています。 IPベースのバーチャルドメインの仕組みはApacheに2つバーチャルドメイン(IPベース)が設定しておいて、それをDNSが順番に問い合わせをして1つのサーバーからApacheに設定されている2つのIPアドレスを順に返すということだろうと思います。 ということはDNSの問い合わせ動作は自分が管理している(おそらく設定ファイルで指定する)IPの範囲のサーバーに順番に(DNSへ問い合わせに来た)IPアドレスを問い合わせているという認識で正しいでしょうか。

  • Apacheでのバーチャルドメインによる負荷について

    Apacheでのバーチャルドメインによる負荷について Apacheについてお尋ねしたいです。 DNSサーバは別のサーバで動いているとして、例えば、Apacheに1000個のバーチャルドメインを設定した場合と10個のバーチャルドメインを設定した場合で、それぞれのリクエスト数が同一だとした場合、やはり前者のバーチャルドメイン1000個設定しているサーバの方が動作は重いのでしょうか? 何を言いたいのかと申しますと、バーチャルドメインが一つ増える毎にサーバにかかる負荷というのは無視できない程大きいものでしょうか?それとも軽微なものなのでしょうか?

  • 自宅windows XP に Apache2.0.61 をインストールしてWEBサーバ構築し、1つのIPアドレスで複数のドメインを管理したいのですが

    自宅のwindows XP sp2 に Apache HTTP server 2.0.61 をインストールしてWEBサーバの構築をしているのですが、そこで 1つのIPアドレスで複数のドメイン(ウェブサイト)を管理・公開したいのですがうまくいきません 自宅の自家製WEBサーバにて、1つのIPアドレスで、ネームベースのバーチャルホストを設定して、複数のドメイン(複数のウェブサイト)を管理し、ネット上に公開したいのですが、バーチャルホスト設定がうまくいきません。以下のURLは、わたしのApacheのConfi 内容です。Apache HTTP server 2.0.61 をインストールして全く内容は編集していない状態ですので、どこの部分をどのように編集すれば良いか具体的に教えていただければ幸いです。 http://192.168.0.4/new11/yahoo-1.html 以上です。

  • iptablesの記述に付き

    LANとDMZのセグメントを持つサーバで私のネットワーク環境に最も合ったスクリプト http://www.asahi-net.or.jp/~AA4T-NNGK/ipttut/output/rcdmzfirewalltxt.html を使用して試験的にファイアーオール運用しています。問題なく機能しているようですが、この設定でよいのか解かりません。ご教授頂ければ幸いです。 ファイアーウォールは3枚のNICを持ち、OSはLinux(Debian)を使用しています。インターネットの接続はPPPoEn でインターフェース(ppp0)に唯一のグローバルIPアドレスを付与しています。LAN側(eth1)に市販のルータを噛ませ第二のファイアーウォールとして数台のPCを繋いでいます。DMZ(eth2)のインターフェースはスイッチに繋ぎ、現在は1台のデスクトップにウェブサーバ(LAMP)とFTPサーバを入れています。ドメイン名は登録済みです。メールサーバとDNSシステムは持たずにレジストラーに委託して運用しています。 上記のウェブアドレスにある”rc.DMZ.firewall.txt”スクリプトを基本にして使用をしていますが、図解のネットワーク構造で今一理解できないのが、インターネット側にあるグローバルIPアドレスと思われる194.236.50.153/155です。どのような状態を示しているのかが今一わかりません。と、言うのも、同アドレスは、DMZ上のHTTPやDNSのIPに付与されるもので、グローバルIPアドレスを使わない、私のような場合にのみプライベートドレスで代用するのだと思っていましたので。 私のドメイン名である  www.example.com = 194.236.50.153 = 192.168.1.2  と勝手に解釈をして上記のスクリプトを下記のように修正しましたがこれでよいのですか? まずHTTP_IPアドレス部分をコメントアウト # 1.1 Internet Configuration. # HTTP_IP="194.236.50.153" prerouting chainにある”HTTP_IP”の記述を“INET_IP”に書き直す。 # 4.2.4 PREROUTING chain $IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP もちろんDNSに関する記述はコメントアウトをしてあります。 宜しくお願いします。

  • iptablesの記述に付き

    LANとDMZのセグメントを持つサーバで私のネットワーク環境に最も合ったスクリプト ​http://www.asahi-net.or.jp/~AA4T-NNGK/ipttut/output/rcdmzfirewalltx...​ を使用して試験的にファイアーオール運用しています。問題なく機能しているようですが、この設定でよいのか解かりません。ご教授頂ければ幸いです。 ファイアーウォールは3枚のNICを持ち、OSはLinux(Debian)を使用しています。インターネットの接続はPPPoEn でインターフェース(ppp0)に唯一のグローバルIPアドレスを付与しています。LAN側(eth1)に市販のルータを噛ませ第二のファイアーウォールとして数台のPCを繋いでいます。DMZ(eth2)のインターフェースはスイッチに繋ぎ、現在は1台のデスクトップにウェブサーバ(LAMP)とFTPサーバを入れています。ドメイン名は登録済みです。メールサーバとDNSシステムは持たずにレジストラーに委託して運用しています。 上記のウェブアドレスにある”rc.DMZ.firewall.txt”スクリプトを基本にして使用をしていますが、図解のネットワーク構造で今一理解できないのが、インターネット側にあるグローバルIPアドレスと思われる194.236.50.153/155です。どのような状態を示しているのかが今一わかりません。と、言うのも、同アドレスは、DMZ上のHTTPやDNSのIPに付与されるもので、グローバルIPアドレスを使わない、私のような場合にのみプライベートドレスで代用するのだと思っていましたので。 私のドメイン名である  ​www.example.com​ = 194.236.50.153 = 192.168.1.2  と勝手に解釈をして上記のスクリプトを下記のように修正しましたがこれでよいのですか? まずHTTP_IPアドレス部分をコメントアウト # 1.1 Internet Configuration. # HTTP_IP="194.236.50.153" prerouting chainにある”HTTP_IP”の記述を“INET_IP”に書き直す。 # 4.2.4 PREROUTING chain $IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP もちろんDNSに関する記述はコメントアウトをしてあります。 宜しくお願いします。

  • Apacheのバーチャルホストの設定

    Apacheでいくつかのドメインをバーチャルホストに指定してIPアドレスを直接入力してた場合アクセスを拒否、可能であればApacheのサーバーであることを隠せる状態にしたいのですがどのように設定すればよいのでしょうか?

  • apache バーチャルホスト

    “名前ベースのバーチャルホストを利用する” http://httpd.apache.org/docs/2.2/ja/vhosts/name-based.html#using に付いて、質問をさせてください。中ほどの行にある; 『たとえば、www.domain.tld を動かしていて、 さらにバーチャルホスト www.otherdomain.tld を追加するとしましょう。』 が今一理解できません。 たとえば登録済みのドメイン名が上記のようにdomain.tldとして、実際にウェブサイトをwww.domain.tld で運用していると仮定します。 www.sub.domain.tldをバーチャルホストとして使用できることは分かりますが、この追加するバーチャルホストの“www. otherdomain.tld”とは実際に何を示すのか教えていただきたいのです。 このドメイン名とは www.domain.tldと別に新たにwww.otherdomain.tldを登録して取得をした正式なドメイン名を示すのか、もしくは、バーチャルホストであるため他の人が登録をしていないドメイン名であればバーチャルとして使用して構わないと言うことなのかです。 前者であろうと推測しますがそれではバーチャルとは言わないのではとも考えています。 お願いします。

  • IPベースのバーチャルホスト / IPエイリアスについて

    ApacheのIPベースのバーチャルホストについて質問です。 バーチャルホストで複数ドメインを扱い、それぞれのSSL環境を構築したいと思っています。 調べたところ、下記のことがわかりました。  ・ネームベースのバーチャルホストではSSL環境を複数構築できない  ・IPエイリアスというものを使って、IPベースのバーチャルホストを行えば可能 現在の環境ではeth0にグローバルIPが当たっているのですが、グローバルIPはひとつしか持っていません。そこで質問なのですが  1.eth0にグローバルIP、eth0:0にローカルIPというように、混在してIPエイリアスを設定することは可能ですか?  2.(1が可能な場合)外部からeth0:0に割り当てられたバーチャルホストにアクセスするためにはどうすればよいですか(DNSサーバをたてて、ドメイン名→ローカルIPの設定をする??)? よろしくお願いいたします。 ※環境 CentOS Apache2.2

  • 大規模なDNS名前解決の手法名が分かりません。

    DNSの名前解決での質問です。 大規模なサービスを行っているサーバがあります。 このサーバは複数のロケーションに2台づつ設置されています。 DNSでは、このサーバの名前解決を行うと、ネットワーク的に(ドメイン的かもしれませんが)一番近い2台のサーバのアドレスをラウンドロビンで返します。 ここで、ネットワーク的に近いサーバを選択している手法を何といえば言いか、分かりません。 IP Anycastのドメイン版のような物です。 その昔、Firewall-1で実現出来たことは記憶しているのですが、どうしても思い出せません。 よろしくお願いします。

  • DMZのLinuxマシンドメインについて

    DMZのLinuxマシンとWindowsマシンのドメイン名の関連性について不明な点があります。 「なぜ、外部D<ZのLinux・Unixサーバのドメイン名と内部のドメイン名を一緒にする必要があるのかわからないのです。」 一般環境では ・DMZに、LinuxまたはUNIXサーバに、bindやapcheを導入したサーバ設置。(Apacheサーバ、DNSサーバと名前はします。) ・内部LANには、ADでドメインを構築し、PC端末をドメインで管理するのが一般的だと思っております。 このとき、 (1)内部LAN(WindowsのADで.tast.netドメイン)を構築しPC1を参加させる。⇒PC1.test.net (2)DMZのLinuxやUnixのサーバーのホストネームを、「サーバ名.test.net」として、bindやapacheをインストールして外部に公開する。 DMZ側のドメインと、Windows側のドメインを同じ名前にしておく必要があるのでしょうか? DMZ側は、当然外に公開しているので、指定(=取得)したドメインを設定する必要があると思うのですが、 極論ですが、内部のWindowsADドメイン名は、DMZと異なったドメイン(test.com以外のもの「aaa.net等」)でも実際は問題無いのでしょうか? (当然、わかりにくくなって管理しにくくなるとはおもうのですが) なぜ、DMZとLANの 両ドメインを同じものに設定するのでしょうか? ADと同じドメインに参加したクライアントは、「サーバー等から管理もでき」「ドメイン不参加端末には、ファイルサーバ等にアクセスさせない」といったことができると考えております。 ですが、dmzのlinux群は、ドメイン名だけ一致しており、別にWindowsADに参加しているわけでは ないので恩恵がないのでは?なぜ中のドメイン名は外と一致させているのか?と思っております。 今、私が考え付くドメインを一致させておかないと不便かと思うのが 内部から外部にメールを送る際に、postfix等で転送する異なるドメイン名(=異なったWindowsサーバドメイン名:aaa.net)の指定等がいるのかなと思っているのですが。 ・確認したい点 (1).なぜ、外と内のドメイン名を一緒にする必要があるのでしょうか? linuxがwindowsのADとかに参加しているというのであれば、納得はできるのですが。 DMZに設置しているLinux群のサーバが、ADドメインに参加しているという状況を見たことが無いのです。 (2).DMZのドメイン名(apache.test.net) と AD参加内部クライアント(PC1.test.net)は、 ただドメインの一致だけさせており、DMZのサーバは、内部クライアントとは異なりドメインには 参加していない。の考えであっていますでしょうか?(コンピューターの管理とうに、DMZマシン名はでない。) どうしても、ドメイン名がつくと、内部のADに参加し、ドメイン名がくっついた形になっているのか? と考えていますのです。(DMZ:Apacheサーバ ⇒apache.test.net) どなたか ご教授のほうよろしくお願いします。