[pgsql-jp: 25752] ネット越しの接続ができない
Linux @ Lupin.net
Linux @ Lupin.net
2002年 4月 29日 (月) 18:24:02 JST
札幌のかずと申します。
質問ばかりで心苦しいのですが、ご教示下さい。
◆問題点
サーバBから、直接CサーバのPostgresに接続できない
◆サーバの環境
ダイヤルアップ 210.xxx.xxx.xxx
--------------- R -- internet -- C --
| | 192.168.0.1
| | |
A B D
192.168.0.11 192.168.0.10 192.168.0.10
自宅 プロバイダー
サーバA:自宅設置(ダイヤルアップで接続)(postgres7.2.0)
サーバB:自宅設置(ダイヤルアップで接続)
サーバC:プロバイダー設置(postgres7.1.3) RedHat7.1
./configure --enable-multibyte=EUC_JP --with-perl
--with-openssl=/usr/local/ssl
--enable-odbc --with-odbcinst=/usr/local
postgres.conf の設定
tcpip_socket = true
サーバD:プロバイダー設置
◆現在までの試行錯誤
1.次のテストスクリプトを作成
#!/usr/bin/perl
#◆データベース接続
use Pg;
$conn = Pg::connectdb("host=210.xxx.xxx.xx port=5432 dbname=testdb user=xxxxxx password=xxxxxx");
$result = $conn->exec("SELECT index FROM test_dat");
$rows = $result->ntuples;
$fields = $result->nfields;
for( $i=0; $i<$rows; $i++ ) {
for( $j=0; $j<$fields; $j++ ) {
$data{$result->fname($j)}{$i} = $result->getvalue($i, $j);
}
}
for( $i=0; $i<$rows; $i++ ) {
$Damy = $data{index}{$i};
print("$Damy");
}
exit;
2.プロバイダー内のDサーバから接続を試験
Cサーバのpb_hba.confの設定が次の場合
testdb 000.000.000.000 trust
にて、接続を確認
3.同様に、Cサーバ自信にて実行
接続を確認
※ネット接続の確認は出来たこととする
4.続いて自宅のBサーバからスクリプトを実行
結果、応答なし
5.そこで、BサーバからCサーバへのtelnet 210.xxx.xxx.xxx 5432 を実行
結果、応答なし
6.サーバの応答を確認するために、
BサーバからCサーバへのtelent 210.xxx.xxx.xxx 80 を実行
コネクトに成功
Connected to 210.xxx.xxx.xxx.
Escape character is '^]'.
7.Cサーバのポートを確認するために nmap localhost を実行
Port State Service
22/tcp open ssh
80/tcp open http
5432/tcp open postgres
5432 のポートが開いていることを確認
8.自宅Bサーバの問題かどうかを判断するために、次の試験を実施
別のレンタルサーバからtelent 210.xxx.xxx.xxx 5432 を実行
結果、応答なし
9.自宅のBサーバから、Aサーバに接続試験
telnet 接続を確認
スクリプトを変更して、接続を確認
と試験を行いました。
原因はCサーバにあるようも思えますが
これ以上の追求が出来ず、手詰まりの状況です。
何か、追求の手段があればご教示頂きたくお願い申しあげます。
--
<Linux @ Lupin.net>
pgsql-jp メーリングリストの案内