c# Не могу подключиться к postgresql которая на virtualbox
С официального сайта скачал .ovm файл для запуска сервера postgresql в виртуальной машине. Запускаю, создал там бд, создал таблицу, добавил данные, всё работает. В c# делаю соединение через Npgsql:
bool boolfound = false;
using (NpgsqlConnection conn = new NpgsqlConnection("Server=192.168.56.101;Port=5432;User Id=postgres;Password=4Oyat6gh7SfV;Database=postgres_db;"))
{
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand("select * from postgresql", conn);
NpgsqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
boolfound = true;
Console.WriteLine("Connection established");
}
if (boolfound == false)
{
Console.WriteLine("bad things...");
}
dr.Close();
conn.Close();
}
Вызов conn.Open() выдает следующее: Npgsql.NpgsqlException: "Failed to connect to 192.168.56.101:5432" TimeoutException: Timeout during connection attempt
Настройки следующие: Сеть для машины - Виртуальный адаптер хоста
При запуске и выводе ip address адрес машины - 192.168.56.101
В настройках самого сервера файл postgresql.conf listen_addresses = '*', port = '5432' и в pg_hba.conf стоит host all all 192.168.56.1/24 md5
Машина из консоли винды пингуется, но c# отказывается подключаться. В чем может быть дело? А вот сервер не может пингануть 192.168.56.1 - адрес интерфейса который выдает команда ipconfig в консоли винды.
UPD:
пробовал так же сделать NAT сеть для машины, сделал проброс портов с хоста на гостя. В таком случае ошибка conn.Open(): Npgsql.NpgsqlException: "Exception while reading from stream"
UPD2:
делал просто сетевой мост в настройке vm для машины. Одна локальная сеть, 3 разных устройства в ней (сама вм, основной хост, второй ноут), всё пингуется во всех направлениях, а подключение к серверу просто не идет, без понятия что там нужно крутить в конфигах postgre сервера...