Propósito en segundo plano: quiero restringir la conexión entrante al servidor MYSQL solo para un host específico estableciendo reglas de entrada defirewall de Windows. Quiero decir, quiero permitir que solo un host específico se conecte al servidor MYSQL.
En la configuración del firewall de Windows, esto es lo que vi de forma predeterminada:
Ambos puertos están abiertos. entonces, bloqueé todas las conexiones entrantes al puerto 33060 porque no espero conexiones entrantes desde X-Protocol:
Luego, intenté conectarme al servidor MYSQL desde mi PC local y la conexión fue exitosa. A continuación, intenté restringir la conexión entrante al puerto 3306 del servidor MYSQL solo a la dirección IP especificada:
Al principio, seleccione Permitir la conexión si es segura.
segundo, dirección IP remota especificada mediante la cual me estoy conectando a este servidor MYSQL.
En la parte negra de la imagen de arriba, escribí mi dirección IP global (IPv4) de mi PC local. Lo escribí en formato XX.XXX.XXX.XX. Obtuve mi dirección IP global eneste servicio en línea. luego probé conectarme al servidor MYSQL desde mi PC local, pero no funcionó.
Probé la conexión Test-NetConnection
en Windows PowerShell. Pero la conexión al puerto falló.
¿En qué me equivoco?
Prueba1:
También probé como se muestra a continuación.
Cambio la configuración como se muestra a continuación:
Remote IP address
a by Any IP address
.
y dejé la siguiente configuración como está:
Allow the connection if it is secure
Luego, prueba Test-NetConnection
en Windows PowerShell. pero no llega al puerto..
Prueba2:
También volví a probar como se muestra a continuación.
Sigo configurando como a continuación:
Remote IP address
.
y cambió la siguiente configuración:
Allow the connection
Luego, prueba Test-NetConnection
en Windows PowerShell. pero no vuelve a llegar al puerto..
Respuesta1
Necesitas cambiar la configuración aPermitir esta conexión, no "Permitir esta conexión si es segura".
La última configuración permitirá la conexión sólo si está protegida mediante IPSec, que es casi seguro que usted no está usando y nunca usará.
Respuesta2
Elimina la opción "permitir la conexión si es segura". Esto agrega una capa adicional de autenticación y cifrado que no es compatible con el cliente MySQL. No puedes usarlo aquí.
Además, si solo recibe el mensaje failed
, como entu captura de pantalla, entonces el servidor MySQL no está escuchando en esa interfaz. Si el problema fuera el firewall, recibirías un mensaje TimedOut
.
Asegúrese de que el servidor MySQL esté escuchando en la interfaz externa o en todas las interfaces (0.0.0.0) en lugar de solo en la interfaz loopback (127.0.0.1), que probablemente sea la predeterminada.
Puedes verificar esto ejecutando esto en el servidor:
Get-NetTCPConnection -State Listen -LocalPort 3306