¿Qué protocolos de red utiliza un servidor de base de datos Postgres?

14

Tengo un servidor postgres 9.1 que se ejecuta en el puerto predeterminado 5432 en un servidor en la nube Ubuntu 12.04.

Quiero abrir el puerto, para poder hacer consultas remotas, pero tengo que abrir el puerto en las tablas IP, lo que requiere que especifique un protocolo. Este documento no menciona TCP / UDP, etc.

¿Qué protocolo debo permitir en las tablas de IP?

bernie2436
fuente
44
No olvide habilitar SSL ... postgresql.org/docs/9.1/static/ssl-tcp.html
Lekensteyn el

Respuestas:

14

El protocolo es simple TCP / IP.

De la documentación posgresql sobre el protocolo "frontends" y "backends" :

PostgreSQL utiliza un protocolo basado en mensajes para la comunicación entre frontends y backends (clientes y servidores). El protocolo es compatible con TCP / IP y también con sockets de dominio Unix. El número de puerto 5432 se ha registrado con IANA como el número de puerto TCP habitual para servidores que admiten este protocolo, pero en la práctica se puede usar cualquier número de puerto no privilegiado.

Entonces, con respecto a iptables, use el tcpprotocolo, ya que el socket de dominio Unix no está destinado a usarse en la red.

ejemplo de iptables :

iptables <other_options> -p tcp -dport 5432 -j ACCEPT

Nota :

Como señaló Lekensteyn , es especialmente aconsejable considerar activar SSL a través de esa conexión de red (consulte la documentación posterior a SQL sobre el uso de TCP sobre SSL ). La regla de iptables no cambiaría en ese caso: mismo puerto (5432), mismo protocolo (tcp).

Ouki
fuente
1

De manera predeterminada, PostgreSQLt escucha en el puerto TCP 5432. El uso de las siguientes reglas de iptables permite la solicitud del cliente entrante (abrir el puerto 5432).

-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT

Donde xxx.xxx.xxx.xxx es la IP del servidor desde el que se está conectando, por lo que no está abriendo postgres al mundo.

pravin09
fuente