2017-01-07 11 views
1

からのゲストのpostgresのサーバーにアクセスするために、私はポート5432上でそれで実行されているpostgresのサーバにインストールされ放浪ボックスを持っている、と私はVagrantfileにこれを追加しました:ベイグラント - どのようにホスト

config.vm.network "private_network", ip: "192.168.33.33" 
    config.vm.network "forwarded_port", guest: 5432, host: 3333 

しかし、私はしようとすると、

enter image description here

:私はこのエラーを取得する 192.168.33.33:3333

に接続することにより、postgresのサーバに接続します0

Connectionが拒否しました。これは、開いていないポートに接続しようとすると同じエラーが表示されます。私は192.168.33.33でポートスキャナを実行し、転送されたポートのいずれも開いていないことを確認しました。これは私がVagrantfileに持っているもの、実際にある:

config.vm.network "forwarded_port", guest: 8000, host: 8001 
    config.vm.network "forwarded_port", guest: 3333, host: 3334 
    config.vm.network "forwarded_port", guest: 5555, host: 5556 
    config.vm.network "forwarded_port", guest: 5432, host: 3333 

    config.vm.network "forwarded_port", guest: 80, host: 8888, 
    auto_correct: true 

とHERESにポートスキャナからの結果:

enter image description here

それは、私がアクセスするにはどうすればよい995以上の任意のポートを検出しませんでしたVMのpostgresサーバー?

UPDATE:私はローカルホスト(チャーリーズ提案)経由で接続する方法を発見しconfig.vm.network "forwarded_port"だけlocalhostにポートを転送しているようです。また、私はこのガイドに続く: https://pseudoscripter.wordpress.com/2016/04/26/allow-remote-hosts-to-connect-to-postgresql-database-server-on-vagrant-box/

をし、それがこの行を追加することで、すべてのIPをリッスンするようpostgresql.conf編集:

listen_addresses = '*'   # what IP address(es) to listen on; 

とゲストのIPアドレスを許可するようにpg_hba.conf編集:

host all    all    192.168.33.33/24  md5 

^^このステップはおそらくlocalhost:3333で動作する理由とは関係ありません。このガイドの手順は192.168.33.33:3333で接続できませんでしたが、localhost:3333に接続できます。

が転送されたポートを経由して、ゲストIP上のサーバにアクセスしようとしている よりもむしろを解決し、それがゲストポートにアクセスすることができますので、私は今192.168.33.33:5432上のサーバにアクセスすることができます。これは私が最初に試したときにはうまくいかなかったので、UPDATE 1の手順はアクセス可能にする必要がありました。

+0

AFAIK、Vagrantは 'localhost'の転送されたポートをバインドしますので、' localhost:3333'に接続する必要があります。 – charli

+0

そうです。これまではうまくいきませんでしたが、いくつか変更して元の投稿を更新します。ゲストマシンのIPを使うことができるのはまだ良いことです。それを行う方法がなければなりませんが、このようにすることはまったく同じです。ありがとう。 –

答えて

1

ご質問をもう一度お読みになり、私はprivate_networkの設定に気付きました。これにより、ゲストホストにそのIPが割り当てられているので、192.168.33.33:に接続できるはずです。 PostgreSQLはVM内で5432をリッスンしています。慎重に、あなたのホストは同じネットワーク上になければなりません。そうでない場合は、ホストとVMの間にスタティックルートを追加する必要があります。あなたのゲストのポートを使用してホスト上のポートをマッピングします

forwarded_portオプション、そう

config.vm.network "forwarded_port", guest: 5432, host: 3333 

192.168.33.33:5432localhost:3333(またはany IP you have in your host)をマッピングします。

設定についてpg_hba.conf設定では、不正アクセスを防止しますが、サーバーに接続できるため、エラーメッセージが異なります。

+0

そうです、それは192.168.33.33:5432で動作します。 –

関連する問題