
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 a especificação de um protocolo.Este documentonão menciona TCP/UDP, etc.
Qual protocolo devo permitir nas tabelas IP?
Responder1
O protocolo é TCP/IP simples.
Da documentação do posgresql sobreProtocolo "frontends" e "backends":
PostgreSQL usa um protocolo baseado em mensagens para comunicação entre frontends e backends (clientes e servidores). O protocolo é suportado porTCP/IPe também em soquetes de domínio Unix.Número da porta 5432foi registrado na IANA como o número de porta TCP habitual para servidores que suportam este protocolo, mas na prática qualquer número de porta não privilegiado pode ser usado.
Então em relaçãotabelas de ipuse o tcp
protocolo, pois o soquete de domínio Unix não deve ser usado na rede.
tabelas de ipexemplo:
iptables <other_options> -p tcp -dport 5432 -j ACCEPT
Observação:
Como apontado porLekensteyn, é especialmente aconselhável considerar a ativação do SSL nessa conexão de rede (consulte a documentação do postgresql sobreusando TCP sobre SSL). Otabelas de ipregra não mudaria nesse caso: mesma porta (5432), mesmo protocolo (tcp).
Responder2
Por padrão, o PostgreSQLt escuta na porta TCP 5432. Use as seguintes regras de iptables para permitir a entrada de solicitações do cliente (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, então você não está abrindo o postgres para o mundo.
Responder3
-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT
Este comando alterará o pg_hba?