Отказано в подключении к PostgreSQL. Клиент предоставляет общедоступный IP-адрес

#postgresql #npgsql

Вопрос:

У меня есть приложение .NET Core, которое использует PostgreSQL. Когда я установил приложение на машину, которая доступна в Интернете по IP-адресу (Mikrotik через dst-nat), сервер PostgreSQL отказывается от подключения с информацией, что общедоступный IP-адрес не может подключиться к серверу PostgreSQL. Но на маршрутизаторе Mikrotik я вижу, что клиент пытается подключиться через внутренний IP-адрес на порту сервера 5432, но (каким-то образом) представляет через общедоступный адрес. Сервер и клиент PostgreSQL находятся в разных подсетях.

Спасибо.

Комментарии:

1. Похоже на проблему с сетью. Вам следует описать это более подробно.

2. Отчеты PostgreSQL: 28000: нет записи pg_hba.conf для хоста «<Общедоступный IP>», пользователя «<Общедоступный IP><пользователь>», базы данных «<пользователь><бд>», SSL отключен, когда я добавляю свою общедоступную сеть в pg_hba.conf, это работает. Но я вижу, что исходный IP-адрес-это не общедоступный IP-адрес, а внутренний сетевой адрес клиента. Могу ли я указать исходный IP-адрес клиента в строке подключения NpgSql?

3. Нет, это было бы глупо. Клиент: «Эй, на самом деле я тот IP-адрес, для подключения к которому не требуется пароль». Сервер: «О, хорошо. Тогда заходи прямо сейчас».

4. Наконец, это была неправильная конфигурация в конфигурации маршрутизатора. Спасибо за терпение 😀