sql >> Base de Datos >  >> RDS >> Mysql

Conéctese de forma remota a MySQL en Google Compute Engine VM

Acabo de encontrar la solución a mi problema,

Un agradecimiento especial a @Slava por indicarme el camino, después de todo, se trataba de iptables.

Entonces, seguía recibiendo un mensaje de "Conexión MySQL rechazada" cuando intentaba conectarme de forma remota, así que busqué una forma de ver los registros de conexión TCP y encontré el tcpdump comando.

Al ejecutar sudo tcpdump port 3306 -vvv -n Vi el siguiente resultado cada vez que intenté conectarme de forma remota:

Busqué en la página de manual de tcpdump y vi que R significa para el indicador TCP RST (RESET).

Busqué un poco y encontré esto pregunta y su respuesta aceptada me llevó nuevamente a IPTABLES que @Slava sugirió desde el primer comentario.

Fue entonces cuando miré de cerca y vi que mi INPUT ACCEPT tcp:3306 se definió después de la regla REJECT TCP rechazo-con tcp-reset, por lo tanto, se mostraba el registro.

Después de esto, simplemente eliminé la regla para aceptar tcp:3306 y la agregué a las reglas de rechazo de tcp y ¡listo!

iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -I INPUT {line number from the first reject tcp rule} -p tcp -m tcp --dport 3306 -j ACCEPT

IPTABLES ahora se ve así y finalmente puedo conectarme a MySQL de forma remota:

Para enumerar las iptables con números de línea, escriba:

sudo iptables -nL --line-numbers

Pensamientos finales:

  • Esto se puede mejorar agregando a la lista blanca la dirección IP de origen desde donde está realizando la conexión remota por cuestiones de seguridad.