Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je poste en désespoir de cause à propos de la fameuse erreur de routage (0x0000274D/10061) qui arrive à beaucoup de monde apparemment :
"Unable to connect to server:
could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "172.24.1.1" and accepting
TCP/IP connections on port 5432?"
Je souhaite me connecter via wifi depuis mon pc sous windows 7 avec pg admin (ou qgis, mais c'est pareil) à un serveur postgresql installé sur un raspberry (avec l'excellente distribution raspbian docker pour une application de serveur embarqué webSIG, j'ai nommé géopoppy : https://github.com/jancelin/geo-poppy/wiki). Je précise à ce niveau que même si j'ai une certaine culture numérique je ne suis pas administrateur réseau et que je ne comprend pas bien l'architecture de tous les ports et adresses trouvées sur les deux terminaux avec netstat et ipconfig.
J'ai déjà réussi à me connecter au serveur la première fois (ou j'ai d'ailleurs créé ma base). Le lendemain, après redémarrage, cette erreur est apparue. Je n'ai eu aucune erreur lors de l'installation de postgresql et j'arrive très bien à profiter de la fonction routeur internet du raspberry (même après l'apparition du message d'erreur).
J'ai parcouru une multitude de posts la concernant, et essayé le plupart des techniques recommandées :
- J'ai essayé plusieurs fois de tout réinstaller : le serveur et postgresql (j'ai bien supprimé le répertoire data et les clés registre), mais l'erreur finissait par réapparaitre.
- J'ai essayé une multitude de configurations pour les fichiers pg_hba.conf et posgresql.conf
- J'ai bien sûr relancé le service postgresql à chaque essai.
- J'ai paramétré mon pare-feu ouvert dans les deux sens pour le port 5432, et autorisé le programme postgres pour toutes les connexions.
- J'ai même essayé la technique de l'optimisation de l'allocation de la RAM dans le fichier posgresql.conf
J'ai bien lu ce post : https://forums.postgresql.fr/viewtopic.php?id=4665 mais je n'ai pas compris toutes les commandes. Je les ai testées mais certaines n'étaient pas reconnues.
Je suis à court d'idée et ça fait déjà quatre jours complets que je suis dessus...
Les paramètres de mon pc :
Carte réseau sans fil Connexion réseau sans fil 2 :
Suffixe DNS propre à la connexion. . . :
Adresse IPv6 de liaison locale. . . . .: fe80::c441:7bc3:635:101c%20
Adresse IPv4. . . . . . . . . . . . . .: 172.24.1.102
Masque de sous-réseau. . . . . . . . . : 255.255.255.0
Passerelle par défaut. . . . . . . . . : 172.24.1.1
Les paramètres du serveur raspberry :
wlan0
inet addr:172.24.1.1
Voici les dernières versions de mes fichiers :
pg_hba.conf :
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
host all all 172.24.1.102/32 md5
postgresql.conf :
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
Merci d'avance si vous avez une piste!
Cordialement.
Hors ligne
Votre raspbian est également votre routeur?
Sinon, vous pouvez vérifier plusieurs choses sur le serveur :
- est-ce que postgres à l'air d'être démarré
sudo ps aux |grep postgre
- est-ce que le port est bien ouvert
sudo netstat -taupen |grep 5432
- Est-ce que votre serveur a un firewall ?
sudo iptables -L -n
Julien.
https://rjuju.github.io/
Hors ligne
bonjour,
Je vois que dans votre pg_hba.conf vous n'autorisez que les connexions local : host all all 127.0.0.1/32 md5
127.0.0.1 est l'équivalent de localhost.
Donc dans l'état actuel vous ne pouvez pas vous connecter à distance sauf en ipv6.
Essayez un pg_hba.conf comme ceci :
#connexion socket unix :
local all all md5
#connexion TCP/IP ipv4 :
host all all 0.0.0.0 0.0.0.0 md5
#connexion TCP/IP ipv6 :
host all all ::1/128 md5
Cordialement,
Sébastien.
Hors ligne
Tout d'abord merci pour vos réponses, c'est fort sympathique.
@rjuju Effectivement cette distribution permet d'être routeur internet en plus d'y stocker une base de donnée. Néanmoins je déconnecte le cable ethernet quant je veux travailler dessus, au cas ou ça détourne l'architecture (c'est un peu stupide mais je commence à devenir parano).
Concernant les lignes de commande :
- postgres est bien démarré sur le serveur, de toute façon le docker est bien construit et je le relance régulièrement. La commande sudo ps aux |grep postgre renvoie :
pirate 1489 0.0 0.2 4192 1784 tty1 S+ 13:49 0:00 grep postgre
- Par contre, il n'y a visiblement aucun port 5432... Le port indiqué est 53, ce qui ne me convient pas car postgresql (pgadmin) n'accepte que les ports au dessus de 1024...
- Du coup j'ai bien essayé de reconfigurer les ports avec iptable, mais le pare-feu n'est pas installé et il m'est impossible d'installer le package pour l'instant (E: unable to locate package). J'ai essayé plusieurs techniques mais j'ai l'impression que le package n'est pas compatible avec hypriot OS.
@ruizsebastien
J'ai essayé la configuration proposée mais visiblement la syntaxe n'est pas bonne, postgresql ne se lançant pas. Apparement il ne reconnait pas les adresses 0.0.0.0
Mais ça m'a quand même mis sur une piste, et après avoir lu (https://www.postgresql.org/docs/9.1/sta … -conf.html) j'ai essayé :
host all all 172.24.1.102/32 md5
host all all 172.24.1.1/32 md5
sans succès, mais du coup je pense que c'est à cause du port comme indiqué plus tôt.
Merci pour vos réponses, je continue à chercher sur la piste du port et je vous tiens au courant.
Hors ligne
0.0.0.0 est à remplacer par 0.0.0.0/0
Guillaume.
Hors ligne
Effectivement ça marche mieux en précisant /0 (j'imagine que c'est pour accepter tout type de masques CIDR). Mais bon comme je le pressentais dans mon post précédent, un nmap m'a bien renseigné que mon port était fermé, et j'essaie désormais de le paramétrer avec iptable. Donc j'imagine que ça n'a plus grand chose à voir avec postgresql...
Merci pour votre aide!
Hors ligne
Bonjour,
Après une analyse des ports plus approfondie (en jouant avec 'docker ps -a' pour voir les ports des containers, 'netstat -t -a -u -p -e -n) pour voir les connections réseaux et 'nmap -p numéroport adresseip' pour vérifier l'ouverture des port, il apparait que :
- Aucune adresse ip n'est affectée au docker postgis avec docker ps (mais j'imagine que du coup il doit prendre des paramètres par défaut ou quelque chose dans ce goût là).
- Le port 53 est bien ouvert pour l'adresse locale visée.
Donc je me retrouve bien dans un problème d'assignation de port non compatible avec postgresql. Quelqu'un saurait comment on fait pour affecter un port supérieur à 1024?
Hors ligne
Vous pouvez demander à docker d'exposer le port sur le système hôte: https://docs.docker.com/engine/referenc … er/#expose
Julien.
https://rjuju.github.io/
Hors ligne
Par contre, il n'y a visiblement aucun port 5432... Le port indiqué est 53, ce qui ne me convient pas car postgresql (pgadmin) n'accepte que les ports au dessus de 1024...
Le port indiqué par quoi? Pourquoi s'intéresser au port 53, qui est le port du service DNS?
En fait les éléments de la discussion laissent penser que postgres ne se lance pas. Par exemple le résultat de ps:
quand ps aux|grep postgre ne trouve que le processus grep, ça veut dire que postgres ne tourne pas ou au mieux qu'on ne regarde pas au bon endroit. Dans le cas d'une recherche de problème, il ne faut pas faire comme si c'était positif et passer à la suite.
Il faudrait regarder les logs dans /var/log/postgresql ou équivalent suivant la distrib. Si postgres s'arrive pas à se lancer ça doit être écrit dedans avec les messages d'erreur correspondant.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Bonjour,
Je suis allé voir du côté de d'EXPOSE et c'était une bonne piste. Il y a effectivement là des commandes qui permettent de lister/d'assigner des ports au lancement d'un docker
https://stackoverflow.com/questions/221 … -in-docker
https://forums.docker.com/t/how-to-expo … ner/3252/5
Du coup j'ai fait un :
docker stop container
Puis un :
docker run -d -p port
Pour relancer le container avec le bon port. Et ça a marché.
Merci beaucoup pour les conseils, je pense que seul j'y aurai passé quelques jours de plus...
@dverite : le port indiqué par le netstat taupen. Mais effectivement c'est bien le port du DNS, j'ai confondu avec ceux du ps -a, qui n'étaient pas affichés.
Mais le service postgres était bien lancé, le docker ps était formel (et j'ai vérifié dans les logs, aucun problème). C'était donc bien un problème de routage.
Encore merci!
Hors ligne
Pages : 1