プロが教えるわが家の防犯対策術!

初めて質問させていただきます。
現在、公開サーバ(DMZ)のPHPから、DBサーバ(LAN)のMySQLへ、接続を試みています。
mysql_connect()により接続はできるのですが、どうにも時間がかかって困っています(5秒くらい)。
(公開サーバにMySQLをインストールして接続すると、ほぼ待ち時間なく接続されます)

環境、設定は以下の通りです。

(公開サーバ)DMZに接続
Windows 2003 Server
プライベート:192.168.0.1

(DBサーバ)LANに接続
Windows 2003 Server
プライベートIP:192.168.1.1

(ルータ/ファイアウォール)SonicWALLを使用
DMZ(192.168.0.1)からLAN(192.168.1.1)へアクセス[Any]を許可
WANからDMZ(192.168.0.1)へのアクセス[HTTP]を許可

(PHPのソース)
mysql_connect('192.168.1.1', $dbuser, $dbpwd);

<<質問>>
(1) PHPから、同サーバのMySQLに接続する場合と、別サーバに接続する場合とでは、このレスポンスの差は仕方がないものなのでしょうか?
(2) 接続が遅くなる要因になりそうなことがあれば教えてください。
(3) DMZからLANへのアクセスを[全て]許可するのは、セキュリティ上どうかと思うのですが、MySQLにアクセスするのに何を許可すれば良いかわからず[Any]にしています。許可が必要なサービス(ポート?)を教えてください。

A 回答 (1件)

(1)ネットワークで通信する分、ローカルに接続する場合より、劣るとは思いますが5秒くらいというのはいくらなんでも遅すぎかと思います。


(2)切り分けしていかないとなんとも言えないと思います。設定の問題、ネットワーク、負荷など考えられることはたくさんあると思いますのでひとつずつつぶしていくしかないかと。
(3)一度denyにしてブロックさせ、ファイアウォールのログを見るとどこの何番ポートからどこの何番ポートへの通信を拒否したというのが残ってるんじゃないでしょうか?それを見て判断すると早いかも。(許可のログも残ってれば一度denyする必要はないと思いますが。。)
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
接続に時間がかかる原因は、DNSにあったようです。サーバ構築、ネットワーク構築ともに初心者で、いろいろと調べながら試行錯誤しているのですが、「これが正解」というのがわからなくて手こずっています。
DNSの設定をいじったら名前解決がうまくいって、接続時間は断然短くなりました。他にも改善するポイントがあるかもしれませんので、いろいろとやってみます。

ポートは、MySQLの初期値(3306)だということがわかりました。
sonicWALLでは、許可するサービスをプルダウンで指定するようになっていて、そこにMySQLも3306もないので悩んでいたのですが、別画面に自分でサービスを追加する機能がありました。。。

お礼日時:2008/07/24 14:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!