- 締切済み
IPアドレスがちがう!
プライベートなサイトの公開範囲を特定のIPアドレス(自分)だけにしようと.htaccessで order deny,allow deny from all allow from xxx.xxx.xxx.xxx allow from xxx.xxx.xxx.xxx allow from xxx.xxx.xxx.xxx というふうにしていたのですが、仕事場のPC(IPアドレス)だけ許可できません。 で調べてみると、「ipconfig/all」で得られたIPアドレスとPHPの「$_SERVER['REMOTE_ADDR']」で得られたIPアドレス(実際にサーバーにアクセスしてきたクライアント)が違うのです。 なでに(.ŏωŏ.)? 結局、「$_SERVER['REMOTE_ADDR']」で得られたIPアドレスで無事制御できましたが、原因は分からずじまいです。 どなたか原因がお分かりの方、ご教授の程お願い致します。 OS: WindowsXP SP3 仕事場のPCは無線LANで接続されています。
- みんなの回答 (9)
- 専門家の回答
みんなの回答
- dscripty
- ベストアンサー率51% (166/325)
[ANo.8] の補足に対する回答ね。 「tracertを実行しましたが、グローバルアドレスは得られませんでした。」 じゃぁ、社内は ICMP を許可して無いか、 ウェブブラウザが、プロキシーサーバ経由でアクセスしてるんじゃない?
- dscripty
- ベストアンサー率51% (166/325)
「で、ようはクライアント側でコマンドプロンプトなりでグローバルアドレスを調べるにはどうすればいいのかと言うことです。」 PHPの「$_SERVER['REMOTE_ADDR']」で調べるのが正解! 社内のルータが ICMP(※) を許可しているなら、コマンドプロンプトで | C:>tracert 自分のサーバ とすると、クライアント PC と自分のサーバの間のルータの IP アドレスがわかるよ! 会社のグローバル IP もリストされてるはず。 ※ http://ja.wikipedia.org/wiki/Internet_Control_Message_Protocol ※ http://ja.wikipedia.org/wiki/Traceroute
- mogujirou
- ベストアンサー率0% (0/0)
コマンドプロンプトでルーターのグローバルIPを表示する方法がないので、ルーターの管理画面で確認してください。 といっても、管理者じゃないので見れないということであれば、アクセス元のIPを表示するサイトで確認してはどうでしょうか。 http://www.cman.jp/network/support/go_access.cgi ちなみに、職場のIPが動的IPだとフィルタリングしてもIPが変わるため定期的にチェックしないと機能しませんのでご注意を…
お礼
了解です! ありがとうございました!
- misawajp
- ベストアンサー率24% (918/3743)
>ローカルにあるホスト単位でIP制限をするにはどうすればよいのでしょうか ローカルのホスト(PC)は全て固定アドレスとする(アドレス自動所得しない) (デフォルトゲートウェイやDNSを適切に設定しないとローカルのサブネット内でしか接続できません) その上で、ルータの設定でIPアドレスごとに接続許可/不許可を設定する(通常は deny all、 allow 個別の許可アドレス で) が IPアドレス個別設定は、担当者が丁寧に頻繁に管理しないと有名無実となり、勝手なアドレス設定が行われ、二重アドレスが発生します(deny で指定したのに、勝手にalow のアドレス変えられてしまう等)
お礼
ルーターにそのような機能があるんですね! いずれ読まなければとは思っていましたが、 ルーターの説明書をきちんと読んでみます(*‘ω‘ *) ありがとうございました
- mogujirou
- ベストアンサー率0% (0/0)
現在の環境では、職場のPCのIPを固定しても何も解決しません。 そもそも、ルーター配下のPCを特定し該当PCだけをフィルタリングして接続するには無理があります。通常はパスワードによる認証も必要と考えられます。 職場で利用している回線は固定IPでしょうか?もし固定IPの契約であればIPアドレスでのフィルタリングと合わせてパスワード認証を追加すれば実現できたかもしれません。 職場の回線が動的IPであれば大人しくIPアドレスによるフィルタリングは諦めて、職場のPCから自宅のPC(サーバー)を一度踏み台にしてローカルIPから利用する等の方法が現実的のように思います。 後はVPNサーバーを利用するなどの方法で接続するするなどでしょうか… 結局IPによるフィルタリングだけでは限界があります。 MACアドレスによるフィルタリングを追加しても厳しいでしょう。 大変厳しいようですがネットワークに対する基本的な知識が質問者様には足りない気がします。もう少し勉強または別の方法を考えて再チャレンジしてみるのはどうでしょうか。
補足
現状、ルーターを使用してネットに接続している状況下では「ipconfig/all」がプライベートアドレスしか表示してくれない。 この結果、.htaccessではプライベートアドレスを指定していたため、職場のPCでアクセスが許可されなかったというところまでは、サーバーを利用してグローバルアドレスを調べた時すでに憶測はたっています。 で、ようはクライアント側でコマンドプロンプトなりでグローバルアドレスを調べるにはどうすればいいのかと言うことです。 ちなみに、IPによるアクセス制限はをしているのは、制限自体が一時的でよいからです。 本当に必要ならフォーム認証なり実装します(.ŏωŏ.)
- uruz
- ベストアンサー率49% (417/840)
IPアドレスにはプライベートIPアドレスとグローバルIPアドレスがあります。 グローバルIPアドレスはインターネットで使用されるIPアドレスで世界中で一意のものです。 プライベートIPアドレスは閉鎖されたネットワーク(LAN)内で使用するIPアドレスです。 電話に例えるとグローバルIPアドレスは電話番号、プライベートIPアドレスは内線番号のようなものです。 無線LANを使用ということなのでインターネットへの出口にはルーターが存在しているはずです、グローバルIPアドレスはこのルーターに割り当てられているのが通常でルーターより下流(貴方のPCなど)ではプライベートIPアドレスが使用されます。 このグローバル、プライベートIPアドレスの変換と交通整理などををするのがルーター役割です。 インターネットへはルーターに割り当てらたグローバルIPアドレスでアクセスしている事になります。 ルーターより下流にあるPCは全て同じグローバルIPアドレスでインターネットに接続していることになります。 そのプライベートなサイトがインターネット上にあるサーバーならIPアドレスで制限してもルーターの下流ある全てのPCからはアクセス可能になります。
補足
ご丁寧にありがとうございます。 ではローカルにあるホスト単位でIP制限をするにはどうすればよいのでしょうか。 プライベートアドレスを固定するということでしょうか?
- umekihajime
- ベストアンサー率23% (13/55)
ANo.2 誤:サーバとクラインと 正:サーバとクライアント
- umekihajime
- ベストアンサー率23% (13/55)
サーバとクラインとは全て同じLAN内に存在するのでしょうか? 異なるLANからの場合、その経路にNATによるアドレス変換が存在していませんか?
補足
いえ、サーバーとクライアントは同じLAN内ではありません。 そうですね、ルーター経由なのでプライベートIPは自動的にグローバルIPアドレスに変換されてはいるとおもいますが、ルーター以降の経路にはないとおもいます。
- mogujirou
- ベストアンサー率0% (0/0)
職場のローカルIPを許可設定してるんでしょうか?ルーター経由であればグローバルIPがアクセス元になると思うのですが… ipconfig/allだと表示されるのはローカルIPですよね。別のIPがアクセス元と表示されたそうですがルーターが取得しているグローバルIPとも違うのでしょうか。
補足
「ipconfig/all」はルーターを経由している場合、プライベートIPアドレスしか表示してくれないんですね(´・ω・`) 単にグローバルIPアドレスを調べるだけなら、そういったサイトや個人利用しているサーバにアクセスして、そのHTTPの情報を参照すれば分かるのですが、クライアント側でグローバルIPアドレスを調べる方法がわかりません。
補足
tracertを実行しましたが、グローバルアドレスは得られませんでした。