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

14

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

Quero abrir a porta, para poder fazer consultas remotas - mas preciso abrir a porta nas tabelas IP, o que exige que eu especifique um protocolo. Este documento não menciona TCP / UDP, etc.

Qual protocolo devo permitir nas tabelas IP?

bernie2436
fonte
4
Não se esqueça de ativar o SSL ... postgresql.org/docs/9.1/static/ssl-tcp.html
Lekensteyn

Respostas:

14

O protocolo é simples TCP / IP.

Na documentação do posgresql sobre os protocolos "frontends" e "backends" :

O PostgreSQL usa um protocolo baseado em mensagens para comunicação entre front-end e back-end (clientes e servidores). O protocolo é suportado por TCP / IP e também por soquetes de domínio Unix. O número da porta 5432 foi registrado na IANA como o número da porta TCP habitual para servidores que suportam este protocolo, mas, na prática, qualquer número de porta não privilegiado pode ser usado.

Portanto, com relação ao iptables, use o tcpprotocolo, pois o soquete do domínio Unix não deve ser usado na rede.

exemplo iptables :

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

Nota :

Como apontado por Lekensteyn , é especialmente sensato considerar a ativação do SSL nessa conexão de rede (consulte a documentação do postgresql sobre o uso de TCP sobre SSL ). A regra iptables não mudaria nesse caso: mesma porta (5432), mesmo protocolo (tcp).

Ouki
fonte
1

Por padrão, o PostgreSQLt escuta na porta TCP 5432. Use as seguintes regras do iptables para permitir solicitações de entrada de clientes (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, para não abrir o postgres para o mundo.

pravin09
fonte