Cómo configurar PostgreSQL para aceptar todas las conexiones entrantes

106

Tengo una base de datos de PostgreSQL que me gustaría configurar para aceptar todas las conexiones entrantes independientemente de la dirección IP de origen. ¿Cómo se puede configurar esto en el archivo pg_hba.conf? Estoy usando postgreSQL versión 8.4.

Fergal
fuente

Respuestas:

216

Solo usa 0.0.0.0/0.

host    all             all             0.0.0.0/0            md5

Asegúrese de que listen_addressesin postgresql.conf(o ALTER SYSTEM SET) permita conexiones entrantes en todas las interfaces IP disponibles.

listen_addresses = '*'

Después de los cambios, debe volver a cargar la configuración. Una forma de hacer esto es ejecutarlo SELECTcomo superusuario.

SELECT pg_reload_conf();
Frank Heikens
fuente
¿Esto realmente funciona con el tipo md5? Pensé que sería necesario usar tipografía trust...
Dan LaRocque
5
"confianza" permite que todos los usuarios se conecten sin contraseña. Eso es algo que no usaría, una contraseña es lo mínimo que siempre debe usar. Incluso en tu propia computadora.
Frank Heikens
1
ah, leí la pregunta de manera diferente: pensé que se refería a aceptar conexiones de todos los clientes incondicionalmente (para algunos bancos de pruebas sin importancia, tal vez). Veo a lo que estás llegando ahora.
Dan LaRocque
6
NOTA : Si su red es IPv6, debe usarla ::/0en lugar de 0.0.0.0/0cuando modifica el archivo pg_hba.conf.
Aron Boyette
2
Asegúrese de postgrestener una contraseña segura : sudo -u postgres psql, \password.
Adobe
47

0.0.0.0/0 para todas las direcciones IPv4

::0/0 para todas las direcciones IPv6

all para que coincida con cualquier dirección IP

samehost para que coincida con cualquiera de las direcciones IP propias del servidor

samenet para que coincida con cualquier dirección en cualquier subred a la que el servidor esté conectado directamente.

p.ej

host    all             all             0.0.0.0/0            md5
Owen Pauling
fuente
0

Configuración de todos los archivos con postgres 12 en centos:

paso 1: buscar y editar archivo

sudo vi /var/lib/pgsql/12/data/pg_hba.conf

presione "i" y en la línea IPv4 cambie

host    all             all             0.0.0.0/0            md5

paso 2: busque y edite el archivo postgresql.conf

sudo vi /var/lib/pgsql/12/data/postgresql.conf

agregue la última línea: listen_addresses = '*': wq! (guardar archivo) - paso 3: reiniciar

systemctl restart postgresql-12.service
trithucsv
fuente
-6

Agregue esta línea a pg_hba.conf de la carpeta postgres

host    all    all    all    trust

"confianza" permite que todos los usuarios se conecten sin contraseña.

Invitado
fuente
¿Puede agregar algún comentario al código? ¿Dónde ponerlo y cómo funciona?
Alistra
4
Si bien este fragmento de código es bienvenido y puede proporcionar algo de ayuda, sería mucho mejor si incluyera una explicación de cómo y por qué resuelve el problema. Recuerde que está respondiendo la pregunta para los lectores en el futuro, ¡no solo la persona que pregunta ahora! Por favor, editar su respuesta para agregar explicación y dar una indicación de lo que se aplican limitaciones y supuestos.
Toby Speight
permitir conexiones desde todos los ips es realmente inseguro
sandes