2002 connection refused von ausländischem Server?

  • Hallo,

    ich habe eine Datenbank aufgesetzt und greife von mehren End-Nodes darauf zu. Das funktioniert auch bei der einen Node super, allerdings bekomme ich bei der anderen Node, die nicht in Deutschland gehostet ist, einen 2002 error. Das kann ja eigentlich nur auf die Firewall hindeuten, genauer auf die von Netcup, da ich auf dem Server weder ufw aktiviert, noch Restriktionen für die Ports habe.


    Hatte jemand von euch schonmal so ein Problem? Ggf. kann ja der Support hier auch helfen.


    Vielen Dank und Grüße

  • wäre interessant zu wissen, wo genau der Server steht. Ich hab Server in Deutschland, Frankreich, USA, Hongkong, Singapur und China. Vereinzelt gibt's Probleme mit dem upstream in China. Hab einen der Server deswegen mittlerweile per VPN über nen anderen Server in Hongkong verbunden und für 90% der Anfragen von außerhalb Chinas nen nginx reverse proxy davor ?

    Meine Produkte: definitiv zu viele, RS, VPS, Domains, Webhosting, ...

  • Eher unwahrscheinlich das netcup von sich aus (ausländische) IP Adressen sperrt. Es wäre höchstens vorstellbar das die IP Adresse/Netz aus bestimmt Grund (z.B. Ddos) gefiltert wird aber auch nicht wirklich vorstellbar das das dann für die gesamte Infrastruktur von netcup gilt.


    Eventuell ist auch dein DB-Server so konfiguriert das er nur bestimmte Netze zulässt? Steht was in deinen logs warum die Verbindung verworfen wird?


    P.S. welche Protokoll wird zum Verbindungsaufbau genutzt: IPv4 o. IPv6?

  • Eher unwahrscheinlich das netcup von sich aus (ausländische) IP Adressen sperrt. Es wäre höchstens vorstellbar das die IP Adresse/Netz aus bestimmt Grund (z.B. Ddos) gefiltert wird aber auch nicht wirklich vorstellbar das das dann für die gesamte Infrastruktur von netcup gilt.


    Eventuell ist auch dein DB-Server so konfiguriert das er nur bestimmte Netze zulässt? Steht was in deinen logs warum die Verbindung verworfen wird?


    P.S. welche Protokoll wird zum Verbindungsaufbau genutzt: IPv4 o. IPv6?

    ganz normal ipv4, was mich wundert ist ja die Tatsache das es von einem Server aus geht, und von dem anderen nicht...


    Code
    $link = mysqli_connect("XXX", "root", "password", "accounts", "3307");
  • In welchen Logs würdest du da schauen? Die Datenbank läuft in docker-compose. Der Container gibts nichts aus...

    Dies kommt immer drauf an wie du Docker und den jeweiligen Container auf deinem System konfiguriert hast.


    Solltest du mariadb nutzen und keine manuelle Konfiguration vorgenommen hast, probier mal:

    Code
    docker-compose logs mariadb

    ansonsten nutzt dicker oft /opt als Datenverzeichnis.

  • Hi NiBa,

    ich verwende nur selten mariadb/mysql, aber die vollständige ERROR 2002 Nachricht ist laut Dokumentation:

    Code
    ERROR 2002 (HY000): Can't connect to local MySQL server through   socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")

    Deine Beschreibung lässt vermuten, dass du eigentlich über IP/Port mit der Datenbank verbinden möchtest. Ist die Node möglicher fehlerhaft konfiguriert und versucht sich via Unix-Socket anstelle von IP/Port mit der Datenbank zu verbinden?


    Wenn das nicht der Fall ist, deine Node korrekt konfiguriert ist und der Fehler dennoch geworfen wird musst du erst einmal checken ob du eine Verbindung von der Node zum Datenbankserver bekommst. Dazu kannst du einfach entweder ping, traceroute oder netcat verwenden. Du kannst natürlich auch eine SSH Verbindung von Node zum Server aufbauen. Wenn das funktioniert müsste liegt der Fehler wahrscheinlich am Server und es muss Einträge in den mariadb logs geben. Um da weiterhelfen zu können müssten wir die Einträge kennen.


    Beste Grüße

  • Ich hatte letztens einen ähnlichen Fall, hab dann einfach den DB Server neu installiert und Problem war gelöst.