ポートフォワードを使ったとき,LAN内からでは同じLAN内のホストへアクセスできない件を解決する

Posted on

ポートフォワードを使った際,LANの中からは,同じLANの中にあるホストへドメイン(=グローバルIPアドレス)を使ってアクセスできません.

つまり,

  • ルータA(80番をPC Aの80番にポートフォワード)
    • PC A (abc.com:80)
    • PC B
      • ルータB
        • PC C
        • PC D

というルータ二段構成(ぉの場合,PC A,B,C,Dどれからもabc.com:80を使ってAにアクセスできない,ということです.

多分,ルータAが混乱するんだと思いますが・・・.細かいところは良く分からないので参考書でも読んでください.

これで何が問題なのか.別にプライベートアドレスでいいじゃないか.普通ならそうなんですよ.

しかし.

MovableTypeでは絶対パスを指定させて,Blog内のリソースへのリンクはそれに基づいて張られます.

プライベートアドレスだとたしかにBlogのトップにはアクセスできます.

しかし,スタイルシートや画像,Blog内への他のページのリンクはすべて絶対パスになっているので,見事404となります.

というで,何が何でもグローバルIPでアクセスしたい所です.

プロキシを通して外部から見るようにすれば一応大丈夫ですが,プロキシは重い上,そこらへんのプロキシリストからとってきてもすぐ使えなくなります.

と前フリが長くなりましたが,簡単なことです.

ここに書いてある「hosts」というファイルを書き換える.それだけ.

詳しい説明は他のページに譲りますが,静的にアドレス解決をする設定ファイルのようです.

Windows XPの場合→「C:\WINDOWS\system32\drivers\etc」
Windows 2000の場合→「C:\WINNT\system32\drivers\etc」
Windows 95/98/MEの場合→「C:\Windows」
場合によってはhostsのあとに拡張子が付いたもの、例えば「hosts.ini」などが見つかる場合がありますが、ここで言うhostsファイルは拡張子が無いものです。

ここに,

(PC AのプレイベートIPアドレス) (PC Aの使うドメイン名)

を書き込んでください.再起動は必要ありません.

駄目だったら再起動して見るのもいいと思いますけど.

ちなみに残念ながら,ポートフォワードで80番を8080番にポートフォワードしていた場合は,この手は使えません.

というか,解決方法がないんじゃない?誰か教えてください.


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください