どこでもネットワーク接続を許可するようにPostgresを設定しました。
存在するpg_hga.conf
:
host all all 0.0.0.0/0 md5
存在するpostgresql.conf
:
listen_addresses = '*'
サーバーが聞いていることがわかります。
vagrant@vagrant-ubuntu-trusty-64:~$ sudo netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
<snip>
tcp 0 0 0.0.0.0:5433 0.0.0.0:* LISTEN 1570/postgres
5433に着信TCP接続を許可するようにiptablesを設定しました。
vagrant@vagrant-ubuntu-trusty-64:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:5433
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
仮想マシンのSSHセッションで実行でき、telnet 10.0.2.15 5433
機能します。完全なpsqlクライアントを接続することもできます。私のホストで同じtelnetコマンドまたは同じpsqlコマンドを実行すると、接続できません。
何が間違っている可能性があり、何を確認できますか?
答え1
仮想マシンのネットワークアダプタはデフォルトでNATモードです。これは、外部からssh / telnet / etcを介して仮想マシンに接続できないことを意味します。 VM設定からブリッジに切り替えると機能します。