平成15年7月25日(金)
LAN内からドメイン名で自宅サーバーにアクセス
FreeBSDとは直接関係無いですが、後々のためまとめました。
今日「フレッツADSL」の切替日でした。
電話の通話確認、ルーティング・テーブルへの追加設定、IPマスカレードの追加設定、ポートマッピングの設定も終わり「どれ、ドメイン名で自宅WWWサーバーへアクセスしてみようか・・・・」で
"http://takaq1.plala.jp/" としたら「認証画面」がでたのです。
「あれ〜、何だろ今まで使っていたルーター(マルチNAT)ではこんなことなかったぞ!、どこで出してる認証だ〜!!」
"http://takaq1.plala.jp:8082/" とやったら「サーバーが見つかりましぇん!」だって・・・・
あせって色々試してみた。
見た目ポートマッピングが効いていないように感じたのです。
でもだめ!
思い切って自宅メール・サーバーにあるアカウントとぷららのアカウントとでメール送受信したら、ちゃんと自宅メールサーバーのアカウントでメール受信ができたのです。
そこで、友人に頼み仕事先から "http://takaq1.plala.jp/" と "http://takaq1.plala.jp:8082/"
で正常にアクセスできるよとのこと。
ここで初めて「ルーターが出している認証だ!!」と理解したのでした。
いままでのようにドメイン名でアクセスできないとCGIやアクセスカウンタがうまく動かないので、ドメイン名でのアクセスを模索しました。
でも、ルータの設定にはそれらしきものはありません。
「こりゃ〜ネットで調べるしかないな!」で調べたら、上にあるサイトさんに記事がありました。
それによると・・・・(それぞれの詳細は上のサイトさんを参照ください)
1・プラーベートIPアドレスでアクセスする
2・クライアントマシンのHostsにプライベートアドレス<>ドメインの対照表を書いておく。
3・外部プロキシサーバー経由でアクセスする。
4・クライアントパソコンのTCP/IPの設定で、DNSに自分のサーバーのローカルアドレスを指定する。
・・・とのことです。
上のサイトさんによりますと「一番確実で楽」なのは「4」とのことでした。
じゃ〜私は「2」でやってみようと思いました。
そして、自宅内のクライアントPC全部の hostsファイルに以下を記述しました。(実際とは違います!)
192.168.1.2 takaq1.plala.jp
192.168.1.4 takaq1.plala.jp
192.168.1.6 takaq1.plala.jp
・ ・
・ ・
自宅にある全部のWWWサーバー分を記述しています。私のところはDNSを設置していないし、非固定IPなので別名での運用をしていません。
そのかわり、80、8080、8081・・・・などのポート番号で使い分けています。
上記のようにし "http://takaq1.plala.jp/" とするとポート80のWWWサーバーが応答します。
"http://takaq1.plala.jp:8080/" とするとポート8080のWWWサーバーが応答します。
また、自宅WWWサーバーに設置してある自宅メールサーバーへのドメイン名によるメール送信(サーバー管理メールやフォームメールcgi)ができなくなりました。
これは 各WWWサーバーの /etc/mail/aliases や cgi に書いてある送信先のドメイン部分を各WWWサーバーの
hosts に書いてあるローカル・ドメインにしました。
他のドメインには問題無く送信できます。
これで希望どおりの環境ができました。
よかったよかった!!!
【追記】
自宅のパソコンでは Windows95, 98, NT Server4.0, 2000 proを使っていますが、上のように同じドメイン名を複数記述してもポート番号で該当のサーバーに接続できるのはWindows
2000 Proだけでした。
あとのOSは一番最初に記述した行のサーバーへの接続しかできませんでした。