
Tengo un servidor Postgres 9.1 ejecutándose en el puerto predeterminado 5432 en un servidor en la nube Ubuntu 12.04.
Quiero abrir el puerto para poder realizar consultas remotas, pero tengo que abrir el puerto en tablas de IP, lo que requiere que especifique un protocolo.este documentono menciona TCP/UDP, etc.
¿Qué protocolo debo permitir en las tablas de IP?
Respuesta1
El protocolo es simple TCP/IP.
De la documentación de posgresql sobreProtocolo "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 conTCP/IPy también sobre sockets de dominio Unix.Número de puerto 5432se ha registrado en la IANA como el número de puerto TCP habitual para los servidores que admiten este protocolo, pero en la práctica se puede utilizar cualquier número de puerto sin privilegios.
Entonces con respecto aiptablesuse el tcp
protocolo, ya que los sockets de dominio Unix no están diseñados para usarse en la red.
iptablesejemplo:
iptables <other_options> -p tcp -dport 5432 -j ACCEPT
Nota:
Como lo señalaLekensteyn, es especialmente prudente considerar activar SSL a través de esa conexión de red (consulte la documentación de postgresql sobreusando TCP sobre SSL). EliptablesLa regla no cambiaría en ese caso: mismo puerto (5432), mismo protocolo (tcp).
Respuesta2
De forma predeterminada, PostgreSQLt escucha en el puerto TCP 5432. Utilice las siguientes reglas de iptables para permitir la solicitud entrante del cliente (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 te estás conectando para no abrir Postgres al mundo.
Respuesta3
-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT
¿Este comando cambiará pg_hba?