Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'avais fait un post sur l'ancien forum et j'avais reçu une aide secourable. Maintenant, je me retrouve de nouveau face au même problème mais sans solution. Je compte sur vous pour m'aider.
Donc voici.
j'ai réussi grâce à votre aide à créer une connexion odbc sur mon serveur de test entre mon pc windows et mon serveur ubuntu.
Maintenant je passe en réel. Je suis hébergé sur un serveur RPS chez OVH et je n'arrive pas à recréer ma connexion odbc.
Le listen_adresse est bien '*', mais lorsque je fait un test avec telnet sur ip de mon serveur sur le port 5432 j'ai le message 'échec lors de la connexion' et bien sur impossible de me connecter en odbc.
Je suis sur postgresql 8.3
Si il y a une manipulation particulière à faire, merci de me la detailler. Je suis débutant.
Merci d'avance pour l'aide que vous pouvez m'apporter.
Axayac.
Hors ligne
Bonjour,
Moi, je commencerai par m'assurer de l'état des ports ouverts sur le serveur :
$ nmap l'ip-du-serveur
[...]
5432/tcp open postgres
Hors ligne
Effectivement le port est fermé.
Quels sont les manipulations pour l'ouvrir ?
On va y arriver. Merci de votre aide.
Axayac
Hors ligne
C'est défini par le paramètre port est vaut 5432 par défaut :
$ grep port postgresql.conf
port = 5432
Si c'est le cas sur ton serveur, il y a des chances que ton hébergeur bloque l'accès à ce port.
Lancer la commande nmap en local pourrait t'aider à voir si c'est le cas
$ nmap 127.0.0.1
[...]
5432/tcp open postgres
Si cette commande fonctionne, il s'agit probablement d'un soucis de circulation réseau, pas d'une mauvaise configuration de PostgreSQL
La commande "telnet 127.0.0.1 5432" peut également te permettre de voir si ton serveur écoute bien sur ce port
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
Effectivement si je fais nmap sur 127.0.0.1 le port 5432 est ouvert tandis que si je lance le nmap sur l'ip du serveur il est fermé.
Avez vous une idée de la causse?
et comment y remedier ?
Merci de votre aide.
Axayac
Hors ligne
Dans postgresql.conf, tu dois avoir :
listen_addresses = 'localhost'
Tu le remplaces par :
listen_adresses = '*'
Et tu arrêtes/relance ton instance PostgreSQL.
Jettes aussi un oeil à cette page de documentation : Authentification des clients.
Dernière modification par frost242 (01/10/2008 16:02:46)
Thomas Reiss
Hors ligne
listen_address = '*' est bien ainsi mais ca ne marche pas.
Voici une copie de pg_hba.conf à part ici je ne vois pas d'ou pourrez venir le probleme.
# Database administrative login by UNIX sockets
host all all 0.0.0.0 0.0.0.0 trust
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all postgres md5
# IPv4 local connections:
local all all md5
# IPv6 local connections:
host all all mon ip 0.0.0.0 trust
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
OVH m'a bien confirmé que je pouvais acceder aux bases de données de mon serveur rps à distance.
La solution ne doit plus etre très loin.
Axayac
Hors ligne
Pourquoi 0.0.0.0 ? ça ne devrait pas plutôt être 255.255.255.255 ?
Guillaume.
Hors ligne
J'ai remplacer par 255.255.255.0 et 55.255.255.255 mais ça ne change rien
Hors ligne
Et le message d'erreur est ? (côté client et côté serveur)
Guillaume.
Hors ligne
Je n'arrive pas a me connecter en tant que client.
Lorsque je fais un nmap sur l'ip du serveur il m'indique que le port 5432 est fermé. Par contre un nmap en local il m'indique que le port est ouvert.
Hors ligne
Donc c'est un problème de firewall. Il faut voir directement avec l'outil que vous utilisez.
Guillaume.
Hors ligne
Bonjour
mettre trust sur une configuration distance c'est prendre le risque de ce faire pirater sa machine, un connexion SSL en plus ne serais pas inutile.
Christophe Chauvet.
Christophe Chauvet
Directeur Technique
Sylëam Info Services
Mon site
Hors ligne
Effectivement le port est fermé.
Quels sont les manipulations pour l'ouvrir ?On va y arriver. Merci de votre aide.
Axayac
C'est à ton hébergeur que tu devrais poser cette question.
Si jamais ton hébergeur refuse d'ouvrir le port 5432, tu peux t'en sortir passant par le port 22 et en créant un tunnel SSH :
Par exemple :
ssh -L 2345:127.0.0.1:5432 utilisateur@ip_du_serveur
Ensuite tu peux te connecter à ton serveur distant comme si c'était un serveur local écoutant sur le port 2345 :
psql -h 127.0.0.1 -p 2345
c'est d'ailleurs une méthode plus sûre que de laisser ton serveur PostgreSQL écouter sur l'adresse IP publique
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
J'ai remplacer par 255.255.255.0 et 55.255.255.255 mais ça ne change rien
Perso, j'ai pas trés bien compris ce que tu as fais là.
dans ton pg_hba.conf, pour commencer la première ligne ne représente pas du tout ce que le commentaire explique.
Ensuite, tu devrais remplacer la ligne suivante :
host all all mon ip 0.0.0.0 trust
par :
host all all ton.adresse.ip.ici/32 trust
Mais comme le disait KrysKool, l'utilisation de trust est plutôt insécure ici...
A propos du port fermé de l'exterieur, j'ai une petite question: sur quelle machine effectue tu le nmap ? Il me *semble* qu'un nmap sur une interface exterieur lancé depuis le serveur lui même ne sera pas filtré par ipfilter (si tu es bien sous linux).
Pour savoir définitivement si ton serveur écoute bien sur *:5432, un netstat lancé sur le serveur sera plus parlant. désolé, je ne suis pas sur ma machine, je ne peux fournir les options précises... Peut-être netstat -taupen | grep 5432 ?
Hors ligne
Pages : 1