MySQL - Entfernter Zugriff - IP Adresse wird nicht akzeptiert

Beim Einrichten einer neuen Datenbank wird die IP-Adresse für den Zugriff nicht akzeptiert.
Fehlermeldung lautet: "Mindestens eine der angegebenen IP-Adressen ist ungültig."

Hat unter ISPConfig 3.1 bisher immer funktioniert. Ist jetzt die erste DB mit ISPConfig 3.2 und da geht es nicht mehr.

Was mir aufgefallen ist, beim Absenden des Formulars wird an die IP-Adresse ein Komma angehängt, Ich denke das ist ein Bug.
 

maja437

Member
Bei mir stehen dort die Hostnames des Multi-Setups z.B. test1.cdn.example.com und wenn ich auf einen von denen klicken unter "IP Adresse" 127.0.1.1. Haken unter "Netzwerkkonfiguration" nicht gesetzt.
 

florian030

Well-Known Member
Wenn Du eine Datenbank mit remote zugriff anlegst, dann passiert noch
Code:
$remote_ips = explode(",", $global_config['default_remote_dbserver']);
. Welcher Server steht denn unter System Config bei "Default Database Server"
 

matz

Active Member
Wie sieht bind-address in /etc/mysql/my.cnf aus? Wenn auf 127.0.0.1 gesetzt dann läuft es nicht. 0.0.0.0 oder etwas bestimmtes muss da stehen.
 

maja437

Member
Welcher Server steht denn unter System Config bei "Default Database Server"
"Default Database Server" kann ich nicht finden, bei beiden Einträgen steht das hier.

868
 
Also bei mir steht bei jedem Server die IP Adresse unter System => Serverkonfiguration
Als Standard DB Server ist der korrekte DB Server ausgewählt.
Default DB Remote Server ist leer, da es sich hier um ein Multi-Server Setup handelt.
 
Wie sieht bind-address in /etc/mysql/my.cnf aus? Wenn auf 127.0.0.1 gesetzt dann läuft es nicht. 0.0.0.0 oder etwas bestimmtes muss da stehen.
Laut Perfect Server Setup wird die bind-address deaktiviert! Und sollte auch nichts mit der ISPConfig Oberfläche und deren Funktion zu tun haben.

So wie ich das gerade sehe, läuft da ein JS Event beim Absenden des Formulares, was in dem Feld Änderungen vornimmt. => Es wird ein Leerzeichen hinzugefügt wenn das Feld leer ist, steht eine IP Adresse drin, wird ein Komma mit Leerzeichen hinzugefügt. Das verhindert dann die korrekte Validierung des Feldes.
 
Ich habe mir den Quellcode mal gerade angeschaut. da ist definitiv ein Fehler drin!
Zeile 363 bzw. 450, da wird ein Array erzeugt aus einem leeren String, daher wird der erste Arrayeintrag ein leeren Eintrag haben.
Bugfix wäre hier:
Code:
$remote_ips = !empty($global_config['default_remote_dbserver'])?explode(",", $global_config['default_remote_dbserver']):array();

Darüber hinaus wird in der nächsten Zeile eine nicht initialisierte Variable mit in_array kontrolliert:
Code:
if (!in_array($server_config['ip_address'], $default_remote_db))

Dies sollte aber lauten:
Code:
if (!in_array($server_config['ip_address'], $remote_ips))

Nach diesen Anpassungen klappt es auch wieder mit den Remote-IPs
 

Werbung

Top