Jump to content

Configuration Accès Bdd Sur Un Autre Sous-Réseau


Recommended Posts

Bonjour,

 

Je rencontre un soucis lors de l'installation de Prestashop concernant l'accès à la BDD mais avant toute chose la configuration réseau.

 

Le serveur de BDD est sur un environnement privé, le serveur Presta sur un environnement public.

Le tout s'articule ainsi.

 

VPN <=> Environnement Privé <=> Environnement Public <=> Web

 

Mon serveur de BDD a une IP du type 192.168.0.1 sur la patte VPN, une IP du type 10.0.0.1 sur l'interco entre les deux environnements.

 

Le serveur Presta a une IP du type 10.0.0.2 sur l'interco, une IP publique Web et une IP locale sur l'environnement public 172.16.0.1 par exemple.

 

En SSH sur le serveur public je peux me connecter sans difficulté au serveur MySQL Privé en ligne de commande type "mysql -h 10.0.0.1 -u root -ppassword".

En revanche, quand je saisis l'adresse IP du serveur privé 10.0.0.1 dans l'interface de Prestashop lors de l'installation, en y accédant via son IP publique,  il est incapable de se connecter à la BDD.

J'ai checké les autres infos à savoir nom de la base, login et mdp tout est ok.

 

Une idée de comment résoudre le problème?

Link to comment
Share on other sites

ifconfig sur le web et ifconfig sur le serveur BDD

Je ne sais pas trop ce que tu appelles interco.
Ni ne comprend ton schema:

Ce ne serait pas plutot:

internet <=publique=> serveur web <=privé 192.168.0/24 => bdd
internet <==================vpn 10.0.0.0/16=============> bdd


Le vpn c'est juste pour te permettre de voir bdd au travers de internet
Donc si j'ai correctement compris ton archi, l'ip a mettre dans le PrestaShop est 192.168.0.1

Edited by doekia (see edit history)
Link to comment
Share on other sites

BDD Privé
eth0      inet adr:10.0.0.1  Bcast:10.0.0.127  Masque:255.255.255.128
eth3      inet adr:192.168.0.1  Bcast:192.168.0.255  Masque:255.255.255.0

Web Public 
(ce serveur a en plus une IP publique non visible ici car gérée dans l'infrastructure au niveau du firewall)
eth0      inet adr:10.0.0.2  Bcast:10.0.0.127  Masque:255.255.255.128
eth3      inet adr:172.16.0.1  Bcast:172.16.0.255  Masque:255.255.248.0

Mon schéma est bon, je vais essayer d'être plus clair.

J'ai un réseau VPN géré par un fournisseur d'accès, chacun de mes sites géographiques est sur un sous-réseau 192.168.X., une autre sortie internet en cœur de réseau existe sur ce VPN mais elle ne nous est d'aucune utilité dans notre cas puisqu'utilisée uniquement pour surfer depuis le VPN.

Dans l'infra de mon prestataire, dans ses datacenters, j'ai un Cloud privé et un Cloud public, ce que j'ai appelé environnement, dans lesquels j'ai des serveurs.

L'environnement privé est adressé en 192.168.0, accessible uniquement depuis mon VPN ou presque (voir après), avec notamment le serveur de BDD pour Presta.

L'environnement public n'est accessible que depuis l'extérieur, il a vocation à héberger les serveurs Web.

 

Entre les deux environnements il y a un lien, que j'ai appelé interco, adressé en 10.0.0.X qui permet aux serveurs publics d'accéder aux BDD privées, seul le port 3306 est routé dans ce sens.

L'adressage 172.16.0 est celui de l'environnement public dont je n'ai que faire puisque les serveurs publics n'ont pas vocation à se connecter entre eux en ce qui me concerne.

 

Connecté en SSH sur la machine publique, je peux me connecter sans difficulté au serveur mySQL de la machine privée sur son IP 10.0.0.1.

En revanche, quand je me connecte au serveur public via son IP publique sur l'interface d'installation de Presta, la connexion vers la BDD du serveur privé ne fonctionne pas.

 

A noter que cette architecture est déjà exploitée par d'autres serveurs Web qui n'hébergent pas Presta mais des sites web développés entièrement manuellement et que cela fonctionne très bien.

Link to comment
Share on other sites

Coté PrestaShop rien de magique donc ce n'est pas la cause si tu as ce qu'il faut dans ton univers php.

 

depuis le ssh web: php -i | mysql

 

depuis le ssh web: echo show tables\; | mysql -H 10.0.0.1 -u<user> -p<password> <database>

Link to comment
Share on other sites

Bon, j'ai fini par trouver.

 

Rien à voir avec la configuration réseau ou les users, tout était bon, c'est SELinux qui bloquait les communications HTTP...

 

Merci pour votre aide ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...