Eu tradicionalmente usei o tunelamento SSH para conectar ao meu servidor MySQL remoto. No entanto, estou habilitando a replicação para uma instância de escravo e, portanto, estou tentando obter conexões diretas para a porta 3306 trabalhando a partir de endereços IP externos específicos.
Eu configurei o MySQL para ligar a todos os endereços no host e verifiquei este trabalho via netstat e também conectando-o localmente usando o IP público em vez de localhost ou 127.0.0.1. Eu também coloquei buracos no firewall (usando ufw) para a porta 3306 / tcp para os endereços IP remotos específicos de interesse (substituídos por 1.2.3.4 na saída ufw status verbose
abaixo).
To Action From
-- ------ ----
80,443/tcp (Nginx Full) ALLOW IN Anywhere
25/tcp ALLOW IN Anywhere
143 ALLOW IN Anywhere
110 ALLOW IN Anywhere
993/tcp (Dovecot Secure IMAP) ALLOW IN Anywhere
995/tcp (Dovecot Secure POP3) ALLOW IN Anywhere
25/tcp (Postfix) ALLOW IN Anywhere
465/tcp (Postfix SMTPS) ALLOW IN Anywhere
22 ALLOW IN Anywhere
3306/tcp ALLOW IN 1.2.3.4
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)
25/tcp (v6) ALLOW IN Anywhere (v6)
143 (v6) ALLOW IN Anywhere (v6)
110 (v6) ALLOW IN Anywhere (v6)
993/tcp (Dovecot Secure IMAP (v6)) ALLOW IN Anywhere (v6)
995/tcp (Dovecot Secure POP3 (v6)) ALLOW IN Anywhere (v6)
25/tcp (Postfix (v6)) ALLOW IN Anywhere (v6)
465/tcp (Postfix SMTPS (v6)) ALLOW IN Anywhere (v6)
22 (v6) ALLOW IN Anywhere (v6)
iptables também relata o seguinte:
# iptables -S | grep 3306
-A ufw-user-input -s 1.2.3.4/32 -p tcp -m tcp --dport 3306 -j ACCEPT
No entanto, as tentativas de conectar-se a eles a partir desses endereços estão acabando com o tempo limite. Nada aparece nos arquivos de log de erros ufw, syslog, kernel ou mysql quando tento conectar, então estou perplexo neste momento. O que eu perdi?