http-запросы работают на виртуальной машине KVM, а mysql — нет?

http-запросы работают на виртуальной машине KVM, а mysql — нет?

У меня есть сервер Ubuntu с виртуальными машинами KVM.

Я разрешил SSH в брандмауэре, чтобы иметь доступ к хосту. Также я разрешил входящий трафик, который имеет состояние, установленное.

Вот полная настройка iptables хоста:

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

Виртуальный сервер работает под управлением Windows и имеет локальный IP-адрес. 192.168.122.122Как вы можете видеть на рисунке PREROUTING, он настроен таким образом, что только я могу получить к нему доступ по всем портам.

Удаленный рабочий стол работает нормально, и мне удалось подключиться к серверу, используя внешний IP ([VSERVER IP]). Когда я подключен к серверу, я попробовал открыть Internet Explorer и набрал stackoverflow.com. Это работает, страница отображается.

Однако, когда я запускаю простую программу Mysql (используя .NET MySql.Data.dll), которая должна выполнять запросы к другому серверу, она завершается с ошибкой

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

Почему? Запросы Http к любому веб-серверу не были проблемой, так почему же запрос Mysql?

Для справки, внешний сервер Mysql не сбрасывает запросы (брандмауэр временно отключен). Должно быть, что-то в iptables, но я не знаю, что именно.

Как можно решить эту проблему?

решение1

К сожалению, в брандмауэре моего (внешнего) MySQL-хоста произошла ошибка, о которой я не знал. Порт MySQL был заблокирован для IP моего vServer, поэтому запросы не возвращались, а HTTP-запросы работали.

Проблема решена.

Всегда дважды проверяйте все брандмауэры! Урок усвоен.

Связанный контент