2015-01-14 4 views
0

У меня есть к серверу CentOS в моей локальной сетиКак включить удаленный доступ к моему PostgreSQL

  • Сервер 1: 192.168.0.200
  • Сервер 2: 192.168.0.201

На сервере 1 Я имею базу данных PostgreSQL

Мне нужно, чтобы получить доступ к этой базе данных с сервера 2

на postgresql.conf я изменил listen_addresses = 'localhost,192.168.0.201' и pg_hba.conf я добавил хозяин все все 192.168.0.0/24 доверие

Для Iptables я добавил следующее:

iptables -A INPUT -p tcp -s 192.168.0.201 --sport 1024:65535 -d 192.168.0.200 --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -p tcp -s 192.168.0.200 --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT 

Любая идея, что я сделал неправильно ... Все это я сделал исследование в Интернете, так как я Linux новичок

Любая помощь в основном приветствуется :)

----- UPDATE ---- Изменено listen_addresses = '*' Но все еще не работает ... Также с другого сервера я пробовал: nc -z -w5 192.168.0.200 5432; echo $? И я получил 1 в результате, поэтому нет связи ... Я думаю, проблема в iptables .. любая идея?

----- UPDATE ---- Нашел .. эта система Centos 7, так что кажется, что она не использует IPTables ... Я добавил

брандмауэр-CMD --zone = общественный --add-порт = 5432/TCP --permanent

брандмауэр-CMD --reload

Это решило мою проблему

+0

Postgres сильно заблокирован по умолчанию (хорошая функция безопасности), но при этом появляется быстрый поиск Google, который поможет вам: http://www.cyberciti.biz/tips/postgres-allow-remote-access ТСР-connection.html – Dave

ответ

1

Вы имеете listen_addresses неправильно. Это адрес интерфейса на сервере базы данных, а не адрес устройства, с которого вы будете подключаться. Используйте 192.168.0.200 или «*» для всех интерфейсов.

Смежные вопросы