![]() |
PostGreSQl - разрешить подключения с удаленных IP
Доброе время суток. Имеется PostgreSQL, сборка от 1С, версия 14.5.3.1. Нужно разрешить удаленные подключения с другого компьютера. Правлю файл /etc/postgresql/14/main/postgresql.conf.
Если я прописываю в разделе "Connections and Authentication" listen_addresses = '*' - удаленное подключение работает ( еще правится файл pg_hba.conf- добавляется метод аутентификации md5 для нужного IP). Но, если я хочу, например, написать конкретный Адрес, и пишу listen_addresses = 'localhost,192.168.2.126' - В этом случае уже подключения нет. Гугление в интернете дает информацию что нужно править именно данный параметр, но у меня это не работает. Если смотреть логи PostGreSQl ( /var/log/postgresql/postgresql-14-main.log ), там есть строчки, судя по которым, создается мнение что PostGreSQl пытается не принимать подключения с IP, указанных в параметре listen_addresses, а "привязаться" к этим IP и "слушать" их, как если бы это были IP той машины на которой работает PostGreSQl. Кто может подсказать как мне решить мой вопрос без варианта разрешения удаленных подключений с любых адресов ? |
Цитата:
Попробуйте так: Код:
listen_addresses = '192.168.2.126, 127.0.0.1' |
Цитата:
То, что вам надо, в MYSQL делается как-то так.... Код:
GRANT ALL PRIVILEGES ON database.* TO 'vasya'@'11.22.33.44/255.255.255.0'; listen_addresses = '*' - оставляем Находим файл /var/lib/pgsql/data/pg_hba.conf (у вас может быть по другому пути) В конец дописываем: Код:
host samerole all 203.0.113.2/32 md5 |
Цитата:
Цитата:
|
__sa__nya, походу Вы совсем запутались.
Цитата:
Вам, вот тут, уже сказали как ограничить доступ с одного адреса - задать его и указать правильную маску: Цитата:
Цитата:
Цитата:
|
NickM, видимо, да, параметр listen_addresses не про то чтобы писать IP с каких принимать подключения. Это привязка интерфейсов с этими IP. Про pg_hba в курсе. Но, как говорил выше, в любом случае нужно ставить listen_addresses = '*', и тогда порт 5432 открывается для всех.
Ну ладно, в общем понял. Спасибо. |
Цитата:
Порт либо слушается, либо не слушается. А вот ограничение по подключению к открытому порту как раз таки и настраивается. Для сокрытия порта Вы можете воспользоваться брандмауэром, в котором настроить необходимое Вам правило. |
__sa__nya, т.е. то, что я вам написал про добавление в конфиг, вам не надо? :drug:
|
|
Jula0071, так-то даже готовое ТС не удосужился проверить, а тут аж читать надо.... :drug:
|
Цитата:
|
Цитата:
И о проверке готового вы зря. Я же написал в первом посте что использованные варианты с postgresql.conf и pg_hba.conf не совсем устраивают. Цитата:
Ты не прочел всю тему, а только последние сообщения и наспех подлил грязи. Ну так... Делать поспешные выводы без хорошего изучения вопроса - признак низкого интеллекта. |
Цитата:
Если всё так сложно, ну ограничьте доступ к хосту на сетевом уровне (посредством брандмауэра). Правда, его тоже надо настраивать уметь и для этого читать документацию... __sa__nya, мы с вами на брудершафт не пили, так что попрошу не фамильярничать, ок? Не нравится то, что я вам говорю, игнорьте, вот и всё. |
Цитата:
|
Цитата:
|
Цитата:
19.1. Файл pg_hba.conf |
Цитата:
В общем я получил ответы на свои вопросы. Спасибо. |
__sa__nya, ну и? Не работает? ;)
|
dmitryst, надо было ласково взять за ручку, рассказать, что не только лишь у всех проблемы с восприятием реальности, погладить по головке... глядишь, дитя бы и не обиделось и сумело с пятой попытки вставить круглую палку не в квадратное гнездо.
|
Цитата:
|
Цитата:
Выше уже было сказано: Цитата:
|
Цитата:
Сервер (в общем случае, неважно, что за сервер, веб, БД, и т.д.) обычно настраивается на прослушивание локального порта,сокета (файлик такой, грубо говоря), либо адресов интерфейсов (или одного из..). Т.е. он запущен и слушает на указанном интерфейсе всегда и принимает запросы от всех. Конфиги некоторых серверов позволяют ограничить доступ только с определенных адресов, или подсети. Если такой опции нет, то можно использовать файерволл, как отметил коллега NickM, у меня, например, и в конфигах стоит ограничение на доступ из моей локальной подсети, и с одного-двух внешних адресов, плюс еще в фаерволле добавлено аналогичное ограничение (т.е. запущен ли сервер, невозможно узнать извне, только с парочки адресов). Postgres позволяет ввести ограничение доступа через файл конфигурации, слушает он на локальном интерфейсе/адресе, но обслуживает запросы только с указанных вами адресов. Что вам непонятно? :drug: |
Цитата:
|
Время: 11:57. |
Время: 11:57.
© OSzone.net 2001-