HTTP-Anfragen funktionieren auf der virtuellen KVM-Maschine, MySQL nicht?

HTTP-Anfragen funktionieren auf der virtuellen KVM-Maschine, MySQL nicht?

Ich habe einen Ubuntu-Server mit virtuellen KVM-Maschinen.

Ich habe SSH in der Firewall zugelassen, damit ich auf den Host zugreifen kann. Außerdem habe ich eingehenden Datenverkehr zugelassen, der mit dem Status „hergestellt“ in Zusammenhang steht.

Dies ist das vollständige iptables-Setup des Hosts:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  [MYIP]               anywhere             tcp dpt:ssh
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       all  --  [MYIP]               [VSERVER IP]  to:192.168.122.122

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  192.168.122.0/24    !192.168.122.0/24

Der virtuelle Server läuft unter Windows und hat die lokale IP. 192.168.122.122Wie Sie sehen können PREROUTING, ist er so eingerichtet, dass nur ich ihn über alle Ports erreichen kann.

Der Remotedesktop funktioniert einwandfrei und ich konnte über die externe IP ([VSERVER IP]) eine Verbindung zum Server herstellen. Als ich mit dem Server verbunden war, habe ich versucht, den Internet Explorer zu öffnen und stackoverflow.com einzugeben. Es funktioniert, die Seite wird angezeigt.

Wenn ich jedoch ein einfaches Mysql-Programm (mit ) ausführe, .NET MySql.Data.dlldas Abfragen an einen anderen Server durchführen soll, schlägt es fehl mit

MySql.Data.MySqlClient.MySqlException (0x800004005): 
Unable to connect to any of the specified MySQL hosts.

Warum ist das so? HTTP-Anfragen an jeden Webserver waren kein Problem, warum also eine MySQL-Abfrage?

Zur Information: Der externe MySQL-Server löscht die Anfragen nicht (Firewall vorübergehend deaktiviert). Es muss etwas in den iptables sein, aber ich weiß nicht, was.

Wie kann ich dieses Problem beheben?

Antwort1

Leider gab es einen Fehler in der Firewall meines (externen) MySQL-Hosts, von dem ich nichts wusste. Der MySQL-Port war für die IP meines vServers ja gesperrt, weshalb die Anfragen nicht zurückkamen und die HTTP-Anfragen funktionierten.

Das Problem wurde gelöst.

Überprüfen Sie alle Firewalls immer doppelt! Lektion gelernt.

verwandte Informationen