Não tenho certeza se isso é uma resposta, mas é um pouco longo para um comentário.
Vale a pena ter em mente que a comunicação entre o cliente e o servidor pode acontecer em portas diferentes em cada extremidade. Por exemplo, quando client.example.com se conecta a server.example.com na porta 3306, ele pode fazer isso de qualquer número de porta, como 65000.
Os firewalls mais dedicados que usei seguem o bom senso e são filtrados por porta de destino, mas os firewalls de software em execução no cliente podem seguir um conjunto diferente de regras, e é possível restringir o número de conexões que o cliente pode iniciar .
De acordo com a Wikipedia , 3306 está no intervalo de portas registradas. O intervalo de portas "dinâmico" vai de 49152 até o máximo de 65535. Talvez o cliente esteja usando a saída 3306, mas inicie várias sessões de tcp (por exemplo, controle e dados) e não tenha portas livres para usar.
Funciona se você abrir uma porta diferente no intervalo dinâmico? Minha recomendação seria configurar o firewall do cliente para permitir conexões de saída em qualquer porta para esse endereço IP específico e limitar apenas o lado do servidor.
Também sugeriria examinar a saída de netstat -an
no servidor, com a porta do cliente aberta e fechada, e ver quais sessões aparecem em cada caso.