Debian Apache et Mysql-server

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Debian Apache et Mysql-server

Messagepar Yoda » 16 Juin 2008 14:13

Bonjour,

le but est d'enregistrer les données saisie sur un formulaire web vers une base de donnée Mysql située sur un autre server...

mon archi:

Ipcop
Lan
Dmz

DMZ:
2 servers, un en frontal avec le site web et son formulaire. l'autre avec les bases de données.

server 1 conf:
name: Sitweb01
interface 1 @ 10.10.1.1/24
interface 2 @ 172.20.1.1/24
server 2 conf:
name: Intranet01
interface 1 @ 172.20.1.2/24
interface 2 @ 192.168.1.1/24

quand je suis logué en root sur le server 1 je ping bien l'@ 172.20.1.2, mais je ne le ping pas par son non de machine
Code: Tout sélectionner
Sitweb01:~# ping Intranet01
ping: unknown host Intranet01
Sitweb01:~#



extrait de mon fichier de connxion mysql: (qui est sur le server 1 pour ce connecter sur le server 2)
Code: Tout sélectionner
       // connexion à la base
$db = mysql_connect('[b]172.20.1.2[/b]', 'root', 'mon_mdp')  or die('Erreur de connexion '.mysql_error());
// sélection de la base 

    mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
   
    // on écrit la requête sql
    $sql = "INSERT INTO test2(id, nom) VALUES('','$nom')";
   
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());


et voila le message d'erreur que j'ai:
Code: Tout sélectionner
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /var/www/test/recup.php on line 11
Erreur de connexion Lost connection to MySQL server at 'reading initial communication packet', system error: 111

merci de votre aide.
Dernière édition par Yoda le 16 Juin 2008 18:06, édité 1 fois au total.
Avatar de l’utilisateur
Yoda
Vice-Amiral
Vice-Amiral
 
Messages: 511
Inscrit le: 22 Avr 2003 00:00
Localisation: Luxembourg

Messagepar jdh » 16 Juin 2008 18:02

Quelques infos :

- le flux mysql utilise le port 3306/tcp (config par défaut),
- il doit y avoir EXPLICITEMENT une règle autorisant le serveur (web) en DMZ à accéder au serveur (mysql) en Green (avec ce port),
- le serveur mysql en Green doit avoir activer le networking ("bind 192.168.x.x" et non "bind 127.0.0.1", et encore moins l'antique "skip-networking"),
- le serveur mysql doit avoir bien déclaré l'utilisateur indiqué à la connexion (cde "grant ...to ... identified ...").

Par contre, je ne comprends pas bien les "doubles adresses" des serveurs ?
Chacun des serveurs n'a qu'une adresse ip, non ?

(En lisant le log, l'expression "reading initial communication packet" est un peu troublante ... )
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar Yoda » 16 Juin 2008 18:12

- le flux mysql utilise le port 3306/tcp (config par défaut),

ok merci.
- il doit y avoir EXPLICITEMENT une règle autorisant le serveur (web) en DMZ à accéder au serveur (mysql) en Green (avec ce port),

mon serveur n'est pas en Green, les deuxiemes @ ip 172.20.1.1 et .2 servent a relier les servuer entre eux dans le but d'acceder a la DB...
j'ai fait une erreure de conception ???
- le serveur mysql en Green doit avoir activer le networking ("bind 192.168.x.x" et non "bind 127.0.0.1", et encore moins l'antique "skip-networking"),

est-ce toujours valable compte tenu des infos ci-dessus ?
- le serveur mysql doit avoir bien déclaré l'utilisateur indiqué à la connexion (cde "grant ...to ... identified ...").

je ne comprends pas là !

merci
Avatar de l’utilisateur
Yoda
Vice-Amiral
Vice-Amiral
 
Messages: 511
Inscrit le: 22 Avr 2003 00:00
Localisation: Luxembourg

Messagepar jdh » 16 Juin 2008 18:35

Je dois comprendre que tu as créé un "court-circuit" !!!


Zone Orange : Serveur Web <----> IPCOP <----> Zone Green : serveur mysql

Et il y aurait un lien DIRECT entre les 2 serveurs ??

Si c'est le cas, je le dis tout net : c'est MAL !

Il n'y a aucun besoin de ce "court-circuit" !!!!



Quelques infos au niveau du serveur mysql :

- le support réseau doit être activé donc "bind 192.168.1.1" dans le fichier my.cnf + reboot
- l'utilisateur doit être déclaré au moyen de l'instruction "grant (droit) on (db).* to '(user)'%'(adresse)' identified by password '(password)';".

Au besoin, regardes la doc de mysql.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar Yoda » 16 Juin 2008 18:47

Ok,

je vais mettre mon serveur sql en green. et virer ce court circuit.

je me suis un peu précipité...

en quoi ce "cours circuit" est-il génant ?

les interfaces 172.20 servent aux serveurs a communiquer pourquoi c'est mal ?

Des utilisateurs anonymes vont remplir le formulaire sur l premier serveur et je trouvais plus sérieux de stocker les données sur un autre serveur. ces données seront consultées par un autre réseau, protégé par un pix, accès sur l'interface 192.168.1.1

j'ai lu un peu sur bind, si j'ai bien compris, de faite de décomenter le localhost, vas permettre au serveur d'écouter le port 3306.


merci.
J'ai les noms de ceux qui font les cons.... (M.Coluche)
Avatar de l’utilisateur
Yoda
Vice-Amiral
Vice-Amiral
 
Messages: 511
Inscrit le: 22 Avr 2003 00:00
Localisation: Luxembourg

Messagepar ccnet » 01 Juil 2008 09:45

Pour faire court, sur un sujet très amplement discuté ici, tous les flux doivent transiter par le firewall sans exception.
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron