- ベストアンサー
centos webサーバー IPアドレス
自宅にてcentosでwebサーバーを構築しようとしているものです。 ローカルエリア1{ 【サーバーPC】 プライベートIPアドレス 192.168.0.1 サブネットマスク 255.255.255.0 【クライアントPC1】 プライベートIPアドレス 192.168.0.2 サブネットマスク 255.255.255.0 【ルーター1】 デフォルトゲートウェイ 192.168.0.1 グローバルIPアドレス 150.100.50.1 macアドレス 32:61:3C:4E:B6:01 ポート80番開放 } ~ ワイドエリア ~ ローカルエリア2{ 【クライアントPC2】 プライベートIPアドレス 192.168.0.1 サブネットマスク 255.255.255.0 【ルーター2】(ルーターの必要はないと思いますが説明のため。) デフォルトゲートウェイ 192.168.0.1 グローバルIPアドレス 150.100.50.2 macアドレス 32:61:3C:4E:B6:02 ポート開放なし } このような環境があった場合… (1) 【クライアントPC2】が【サーバーPC】にアクセスしたいとき。 【クライアントPC2】がブラウザにURIを入力すると、【クライアントPC2】のデフォルトゲートウェイの設定を頼りに【ルーター2】を発見し、【ルーター2】に繋ぎ、そこでプライベートIPアドレスをグローバルIPアドレスに変換し、ワイドエリアへ…。そしてDNSサーバーなどで名前解決などを経て、【ルーター1】のグローバルIPアドレスを頼りに【ルーター1】を見つけ、ポート80番があいているので、さらにそこから【サーバーPC】のプライベートIPアドレスを頼りに【サーバーPC】へアクセス…という流れで間違いないでしょうか? (2) 【クライアントPC1】が【サーバーPC】にアクセスしたいとき。 プライベートIPアドレスを指定すればアクセスできると思いますが、グローバルIPアドレスを指定して(URI)を指定してアクセスする場合はどのような経由になるでしょうか?【ルーター1】を出て、DNSサーバーで名前解決を行った後、再度【ルーター1】に戻ってきてから、プライベートIPアドレスでアクセスする…という流れでしょうか? (3) 現在、上記のローカルエリア1のような環境なのですが、外部PCからは自宅サーバーにURI指定でアクセスできるが、自宅のクライアント側PCからサーバーにアクセスするさいには、URIではアクセスできずプライベートIPアドレスでないとアクセスできません。どのような設定をすれば、URI指定でもアクセスできるようになるのでしょうか? 環境は、 クライアントPC→windowsXPhomeedition サーバーPX→centos5 です。 (1)~(3)に関して、必要のない設定等ありましたら訂正を、間違い等ありましたら指摘をお願いできますでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(1)名前解決は真っ先に行われます。URIだけを使っての通信は不可です。 まずはサーバーのIPアドレスが分からないと何もできないのでまず名前解決しサーバのIPアドレスを取得します(実際はルータのGIPでしょう)。 サーバのIPアドレスが分かりましたので実際にhttpで接続を試みます。 同じネットワークにはないのでデフォルトゲートウェイ(ルータ2)が使われます。 サーバのIPアドレスというのは実際はルータが持っているグローバルIPアドレスと思いますので、ルータ1へ通信します。 ルータ1に届くと、ルータの設定で80番ポートへのアクセスはサーバPCへ接続するようになっているのだと思いますのでこれでサーバPCへ接続されます。 (2)内部にDNSを設置したりhostsを書かない限り、(1)と同じです。 (3)ローカルエリア1内にDNSサーバを置き、ローカルエリア1内からのサーバPCの名前解決問い合せにはサーバPCのプライベートIPアドレスを返答するようにしておけばURIで接続可能です。しかもその場合、外に出ずにローカルエリア内での通信となります。 NO.1さんのようにhostsを編集することでも同じことができると思います。 DNSの勉強にもなりますので同じくCentOSで内向けのDNSサーバを構築してみるのも面白いのではないでしょうか?
その他の回答 (1)
- lowrider_2005
- ベストアンサー率40% (1520/3748)
(1)細かいところで気になる部分もありますがおおむねあってます。 (2)それは設定次第ですが、名前解決でグローバルIPが返ってきた後はクライアントとサーバの直接通信ではなくルータで折り返すことになります。 (3)いちばん簡単なのはクライアントのhostsファイルに設定してしまうこと。 windowsなら「C:\Windows\System32\drivers\etc\hosts」というファイルに設定すればご要望のことは可能です。