プロが教える店舗&オフィスのセキュリティ対策術

LAN内に複数台(2台)のWEBサーバを立てて外部からアクセスさせる場合の
ルータのポートフォワーディング(アドレス変換)について。

※グローバルIPアドレスはルータのWAN側に1個だけ付与されているとします。


以下の図のように
ルータの80ポートに着信があったらサーバAの80ポートにポートフォワーディング。
ルータの8080ポートに着信があったらサーバBの80ポートにポートフォワーディング。
という具合に、ルータ側で着信ポートによってアドレス変換(ポート変換)させるしかないのでしょうか?
※つまりクライアント側に8080を指定してもらう。

これをTCP80でアクセスしたときに、こちらはサーバA こちらはサーバBへと
分けるためには、グローバルIPアドレスがもう1個いるという問題になるのでしょうか?


  
クライアントA→TCP(80)  → 【ルータ】→【サーバA:80ポート】+【サーバB:80ポート】
クライアントB→TCP(8080)   
   


説明が下手ですいません。
よろしくお願いします。

A 回答 (4件)

もしルータのみで設定しようとした場合ですが、ポートフォーワーディングの設定は、


WAN側IPアドレス:WAN側ポート番号→LAN側IPアドレス:LAN側ポート番号
のように設定します
WAN側IPアドレスが1つなら、WAN側ポート番号を変えて振り分けるしかありません
逆にIPアドレスが2つならポート番号は両方80/TCPにできます

ルータではなく、HTTPのリクエストヘッダを解釈できるようなロードバランサやリバースプロキシサーバを用意して、FQDNを2つ取ればIPアドレスが1つでも、
www1.example.com:80 → サーバAへ
www2.example.com:80 → サーバBへ
という振り分けはできます
ルータはIPアドレスとポート番号までしか識別できないのでドメインやFQDNを見て振り分けはできません
    • good
    • 0
この回答へのお礼

>WAN側IPアドレスが1つなら、WAN側ポート番号を変えて振り分けるしかありません

ルータのみで、グローバルIPアドレス1個の場合、そうするしかないですよね。

>HTTPのリクエストヘッダを解釈できるようなロードバランサやリバースプロキシサーバを用意してドメインやFQDNを見て振り分けをする。

なるほど、そういう手法もあるんですね

納得しました。

ところで一般的な市販のルータ1個(1万くらいのやつ)で
既存の回線が物理的に1つの環境でも、プロバイダにもう1つグローバルIPアドレスを
申請すれば、ルータ側でグローバルIPアドレスを1回線で2個受けることって
できるんでしょうか?

使用しているルータはBUFFALO WHR-G300Nという一般的なやつです。

お礼日時:2011/09/04 05:24

いったんサーバーAで全部受けて、ホスト名によってサーバーBに飛ばすということができるはず。



サーバーはApacheですよね?ちょっとテストしてませんが、A側の設定は、これでホスト名によって振り分けできるんじゃないかなあ。B側設定は普通でいいです。

NameVirtualHost *
<VirtualHost *:80>
ServerName A.example.com
ProxyPass / http://localhost/
ProxyPassReverse / http://localhost/
</VirtualHost>
<VirtualHost *:80>
ServerName B.example.com
ProxyPass / http://192.168.1.20/ # BのローカルIPアドレス
ProxyPassReverse / http://192.168.1.20/
</VirtualHost>

だめなら、VirtualHost、ReverseProxy をキーワードに調べてください。
    • good
    • 0
この回答へのお礼

>いったんサーバーAで全部受けて、ホスト名によってサーバーBに飛ばす

サーバはApacheです。

VirtualHostは稼動させていますが、ReverseProxyは知りませんでした。
調べてみますね。

お礼日時:2011/09/04 05:28

その通りです


同じIPアドレスで同じポート80では サーバAかBかの区別はできません

サーバAかBかを区別するには IPアドレスかポート番号のいずれかが異なる必要があります
    • good
    • 0
この回答へのお礼

#4さんの言うとおり、納得です。

ありがとうございます。

お礼日時:2011/09/04 05:29
    • good
    • 0
この回答へのお礼

ありがとうございます。

調べてみますね。

お礼日時:2011/09/04 05:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!