Que protocolos de rede um servidor de banco de dados Postgres usa?

7

Eu tenho um servidor postgres 9.1 em execução na porta padrão 5432 em um servidor de nuvem Ubuntu 12.04.

Eu quero abrir a porta, para que eu possa fazer consultas remotas - mas eu tenho que abrir a porta em tabelas IP, o que requer que eu especifique um protocolo. Este documento não menciona TCP / UDP, etc.

Qual protocolo devo permitir em tabelas IP?

    
por bernie2436 28.03.2014 / 00:31

2 respostas

7

O protocolo é simples TCP / IP.

Da documentação do posgresql sobre o protocolo "frontends" e "backends" :

PostgreSQL uses a message-based protocol for communication between frontends and backends (clients and servers). The protocol is supported over TCP/IP and also over Unix-domain sockets. Port number 5432 has been registered with IANA as the customary TCP port number for servers supporting this protocol, but in practice any non-privileged port number can be used.

Então, em relação a iptables , use o protocolo tcp , já que o soquete do domínio Unix não deve ser usado na rede.

Exemplo de

iptables :

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

Nota :

Como apontado por Lekensteyn , é especialmente aconselhável considerar a ativação do SSL sobre essa conexão de rede (veja a documentação do postgresql sobre usando TCP-sobre-SSL ). A regra iptables não mudaria nesse caso: mesma porta (5432), mesmo protocolo (tcp).

    
por 28.03.2014 / 00:37
0

Por padrão, o PostgreSQLt escuta na porta TCP 5432. Use as seguintes regras iptables que permitem a solicitação do cliente de entrada (porta aberta 5432).

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

Onde xxx.xxx.xxx.xxx é o IP do servidor do qual você está se conectando, você não está abrindo postgres para o mundo.

    
por 28.03.2014 / 05:11