2009年04月21日

自宅でWebサーバを運用するならヘアピンNAT付きルータが便利

自宅で常時稼動のWebサーバを運用する場合、一般的にルータとの接続は次のようになると思います。

router

ここでルータはBUFFALO等のいわゆるブロードバンドルータで、ブラウザから192.168.11.1にアクセスすることで管理画面を開けるものとします。

このときLAN内のPC1から、ルータのWAN側のIPアドレスの220.x.x.xに対してブラウザでアクセスした際に、192.168.11.1と同じようにルータの管理画面が開くものと、PC2のWebサーバにアクセスできるものがあります。後者のPC2にルーティングされる機能を、通称「ヘアピンNAT」と言います。

ヘアピンNATがなくても、LAN内のIPアドレス192.168.11.3を指定すれば、PC1からWebサーバにアクセスすることは可能です。

しかしここで、PC2のWebサーバで名前ベースのバーチャルホストを使おうとすると、ヘアピンNATのないルータでは問題が発生します。

バーチャルホストへのアクセスはIPアドレスだけでなくホスト名も重要なので、IPアドレス直接指定ではアクセスすることができません。ホスト名を指定してアクセスしても、ヘアピンNATが無い場合はルータの管理画面が開いてしまってPC2にアクセスすることができません。

先日、私は最近BUFFALOのWZR-HP-G300NHを購入したのですが、この製品にはヘアピンNAT機能が無かったので、バーチャルホストで運用しているWebサーバにLAN内からアクセスすることができなくなってしまいました。以前使っていたルータには付いていた機能で当たり前のように思っていたので、いざ無くなってしまうととても不便に感じます。

対処法としては、次のような方法があります。

  • 外部のプロキシサーバを経由してWAN側からアクセスする
  • hostsファイルを編集してバーチャルホスト名を192.168.11.3にルーティングする

私は後者のhostsファイルを使って解決しました。

他にもWebサーバのポートを80以外にする方法もありそうですが、WZR-HP-G300NHではポートを変えてもアクセスすることはできませんでした。

タグ:Webサービス
2009年04月21日 【PC環境・周辺機器】 | コメント(0) |

この記事へのトラックバック

ヘアピンNATに対応していないルータでバーチャルホストを使って複数のドメインを運用
この記事へのコメント

コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。