@romaro

Почему не удается подключиться к Postgres(VirtualBox) из хостовой машины?

Установил Postgres 15 на Oracle Linux 9.1 (под VirtualBox):

sudo dnf install -y postgresql15-server
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15


Внес изменения в postgresql.conf:
listen_addresses = '*'

pg_hba.conf:
6396082340a1e852680288.jpeg

Перезапустил:
systemctl restart postgresql-15.service

Пробросил порт на гостевую машину:
6395d37cad825429625905.jpeg

Создал базу:
CREATE USER test WITH password 'test';
CREATE DATABASE "test" WITH OWNER "test" ENCODING "UTF8" TEMPLATE "template0";


Пробую подключиться с клиента, но получаю завершение по таймауту:
6395fe51c2d7d918807258.jpeg

Порты прослушиваются:
6395d438d6753478590325.jpeg

Порт открыт:
iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
6395fc8545462335715563.jpeg

Локальное подключение работает:
[root@gp-pg pgsql]# pg_isready --dbname test -p 5432 --username=test
/var/run/postgresql:5432 - accepting connections


Предполагаю, что недоработал pg_hba.conf для внешних подключений (host).

UPD: Запрос вроде как на гостевую машину доходят:
63963ea068fc0449208157.jpeg
  • Вопрос задан
  • 830 просмотров
Решения вопроса 1
@romaro Автор вопроса
Проблема решилась одной строкой:
firewall-cmd --add-port=5432/tcp --permanent

Когда я пытался открыть порт через iptables, видимо, допустил ошибку в настройке корректного адреса. Наверное, сработало бы что-то вроде:
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 5432 -j ACCEPT


В любом случае, предустановленный на Oracle Linux демон firewalld более дружелюбен для простых операций с настройкой сети, поэтому в моем случае не было особого смысла использовать iptables/nftables
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
в pg_hba.conf должно быть что-то типа того:
host all all 0.0.0.0/0 md5
host all all ::0/0 md5

для приёма любых подключений с любого адреса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы