#1 Wed 08 June 2022 20:43
- samirovic04
- Juste Inscrit !
- Date d'inscription: 8 Jun 2022
- Messages: 1
connexion a distance postgresql a l'aide d'un vpn
Bonjour à tous,
Dans le cadre de la réalisation de mon projet de stage je dois remonter des données d'un automate à une base de données dans le cloud ( machine virtuelle). du coup pour faire cela je dois passer par un routeur VPN pour interroger la base de données cloud.
AUTOMATE(192.168.1.99)===>(RouteurVPN)(10.0.8.120)===>INTERNET====>(Base de données)100.96.13.34
sur l'automate j'ai mis l'adresse IP de la base de données mais j'ai toujours un message d'erreur : could not connect to server: Connection timed out
Is the server running on host "100.96.13.34" and accepting TCP/IP connections on port 5432? sachant que le port 5432 est ouvert.
Merci de vos réponses
Hors ligne
#2 Thu 09 June 2022 08:17
- chanteclair
- Participant assidu
- Lieu: Pau
- Date d'inscription: 3 Jan 2007
- Messages: 726
Re: connexion a distance postgresql a l'aide d'un vpn
Bonjour,
A priori il vous faut regarder dans le fichier pg_hba.conf (https://docs.postgresql.fr/12/auth-pg-hba-conf.html) si la plage adresse 100.96.x.x est bien autorisée à se connecter à votre serveur.
Cordialement.
Hors ligne
#3 Sun 10 July 2022 12:11
- Mathieu Denat
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 5 May 2010
- Messages: 110
Re: connexion a distance postgresql a l'aide d'un vpn
Bonjour,
Pour les suivants (car en 1 mois la solution a du être trouvée et le rapport de stage rendu!), dans ce genre de situation, il est plus sécurisé (et souvent moins prise de tête! ) d'utiliser un tunnel SSH.
L'idée est simple: ouvrir une connexion sécurisée entre le serveur et le client peu importe l'IP du client. Le client verra cette connexion comme si le serveur était hébergé localement. Et le serveur considérera que les requête sont exécutées localement.
C'est tout bénèf, plus besoin de s'em@^£ø§* avec des IP.
Il faut juste que le client aie le droit de se connecter en SSH au serveur (un échange de clés privée/publique est la bonne pratique).
https://docs.postgresql.fr/14/ssh-tunnels.html
Les clients se configurent ainsi côté client:
- hôte: localhost
- port: port local (ex: 5432)
- user: l'utilisateur pgsql concerné
Pour le côté serveur, il faut effectivement ajouter une ligne au fichier pg_hba.conf, par ex:
Code:
host ma_base mon_utilisateur 127.0.0.1/32 trust
Attention la valeur trust signifie qu'on ne demande pas de mot de passe (si vos accès son correctement gérés en SSH, pas besoin de s'embêter avec un mot de passe, puisque vous avez déjà montré patte blanche précédemment). L'usage de peer (à la place de trust) est recommandé si vous voulez un système vraiment sécurisé.
Plus d'info sur pg_hba ici:
https://docs.postgresql.fr/14/auth-pg-hba-conf.html
Dernière modification par Mathieu Denat (Sun 10 July 2022 12:13)
Mathieu
C'est en forgeant qu'on devient forgeron
Hors ligne