Liberar acesso remoto no postgres.

1. Liberar acesso remoto no postgres.

Diego Barbosa
ThEDukA

(usa Debian)

Enviado em 28/06/2012 - 17:59h

Olá pessoal.

Não estou conseguindo conectar minha aplicação pela internet. Meu servidor usa debian 6 e possui o postgres 9.1.4 instalado. Liberei no meu iptables o ip e a porta correspondente a aplicação e configurei o pg_hba e postgres.conf de forma a funcionar em rede, mas nada.

Meu servidor usa duas placas de rede, uma para rede interna e outra externa. Internamente tudo funciona direitinho, porem, ao tentar acessar pelo meu ip externo tenho um conexao recusada. Alguem poderia me ajudar?

Obrigado.


  


2. Re: Liberar acesso remoto no postgres.

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 28/06/2012 - 18:01h

tem firewall ?
tem que liberar a porta do postgres no firewall ou no no seu router


3. Re: Liberar acesso remoto no postgres.

Diego Barbosa
ThEDukA

(usa Debian)

Enviado em 28/06/2012 - 22:09h

Então. Uso o iptables. Neste momento não estou na empresa para pegar a configuração no servidor, mas eu criei uma regra específica para deixar passar todo o trafego na porta 9050.


4. Re: Liberar acesso remoto no postgres.

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 28/06/2012 - 22:34h

ThEDukA escreveu:

Então. Uso o iptables. Neste momento não estou na empresa para pegar a configuração no servidor, mas eu criei uma regra específica para deixar passar todo o trafego na porta 9050.


e o postgres esta nessa maquina ? ou em outra ?
pois se estar em outra maquina tem que fazer o redirecionamento de portas


5. Re: Liberar acesso remoto no postgres.

Diego Barbosa
ThEDukA

(usa Debian)

Enviado em 29/06/2012 - 09:08h

Bom, é o seguinte: O postgres está instalado em outra máquina, que é o servidor. Usando as máquina clientes consigo acessar minha aplicação tranquilamente, porém, ao tentar acessar externamente a minha rede não consigo, recebo uma conexão recusada. Meu servidor está atraz de um router (este é quem possui o ip válido). Nele foi configurado para fazer o redirecionamento. Tudo que chegar na nele na porta em que configurei o postgres será encaminhado para o ip interno do meu servidor.
No pg_hba.conf configurei o acesso da seguinte forma.


host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5


Sei que é errado configurar assim, mas quero pelo conseguir fazer funcionar para depois pensar na segurança.

Também tentei configurar o squid adicionando a seguinte regra:


acl Safeport 5432 # postgres


Também adicionei no meu iptables a seguinte regra:


iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d "meu ip" --dport 5432 -j ACCEPT


Estou sem opções. Meu conhecimento me deixa ver o que está faltando.

Obrigado.



6. Se for em outra maquina

NetoSilva
alnetosilva

(usa Debian)

Enviado em 29/06/2012 - 11:46h

Se seu server PgSQL nao ta na mesma maquina do firewall ele nao vai acessar com a regra que vc adicionou. tem que substituir por algo assim:

#essa regra faz com que ele redirecione as solicitaçoes tcp vindas da nuvem com destino ao ip da placa externa na porta 5432 do PgSQL para o servidor do Pg.
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d ip_da_externa --dport 5432 -j DNAT --to-destination ip_do_postgre:5432
#faz o mesmo para as requisoçoes udp!
iptables -t nat -A PREROUTING -p udp -s 0/0 -d ip_da_externa --dport 5432 -j DNAT --to-destination ip_do_postgre:5432


7. Re: Liberar acesso remoto no postgres.

Diego Barbosa
ThEDukA

(usa Debian)

Enviado em 29/06/2012 - 11:54h

alnetosilva escreveu:

Se seu server PgSQL nao ta na mesma maquina do firewall ele nao vai acessar com a regra que vc adicionou. tem que substituir por algo assim:

#essa regra faz com que ele redirecione as solicitaçoes tcp vindas da nuvem com destino ao ip da placa externa na porta 5432 do PgSQL para o servidor do Pg.
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d ip_da_externa --dport 5432 -j DNAT --to-destination ip_do_postgre:5432
#faz o mesmo para as requisoçoes udp!
iptables -t nat -A PREROUTING -p udp -s 0/0 -d ip_da_externa --dport 5432 -j DNAT --to-destination ip_do_postgre:5432



Firewall e o postgres estão na mesma máquina so que ela possui duas saídas de rede, uma local e outra externa.

Não consigo fazê-lo funcionar externamente a minha rede local.




8. Agora clareou!

NetoSilva
alnetosilva

(usa Debian)

Enviado em 29/06/2012 - 12:25h

Faz assim entao!

#libera conexões de entrada na porta 5432
iptables -A INPUT -p tcp -s 0/0 -d ipdofirewall --dport 5432 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 -d ipdofirewall --dport 5432 -j ACCEPT

#libera saida na porta 5432
iptables -A OUTPUT -p tcp -s ipdofirewall --sport 5432 -d 0/0 -j ACCEPT
iptables -A OUTPUT -p udp -s ipdofirewall --sport 5432 -d 0/0 -j ACCEPT


9. Quase foi

Diego Barbosa
ThEDukA

(usa Debian)

Enviado em 02/07/2012 - 08:52h

Olá. Apliquei o seu script no meu firewall, deu alguns erros mas consegui corrigí-los, porém, não obtive sucesso ao conectar o postgres. Pode conferir o que montei?


#libera conexões de entrada na porta 5432
iptables -A INPUT -p tcp -d 0/0 -i $ifinternet --dport 9050 -j ACCEPT
iptables -A INPUT -p udp -d 0/0 -i $ifinternet --dport 9050 -j ACCEPT

#libera saida na porta 5432
iptables -A OUTPUT -p tcp -o $ifinternet --sport 9050 -d 0/0 -j ACCEPT
iptables -A OUTPUT -p udp -o $ifinternet --sport 9050 -d 0/0 -j ACCEPT


Obrigado.


10. Re: Liberar acesso remoto no postgres.

Diego Barbosa
ThEDukA

(usa Debian)

Enviado em 03/07/2012 - 09:13h

Fiz uma negociação com meu provedor e consegui resolver o problema fazendo pppoe no proprio servidor e este adiquirindo um ip valido na web.

Obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts