
De vez en cuando necesito verificar algunos datos en un servidor MS SQL en otra ubicación.
Por ahora, esto requiere hacer una copia de seguridad de la base de datos y moverla a otro servidor para poder descargar el .bak
archivo y recuperarlo en mi máquina local. Pero la base de datos está creciendo, por lo que esto está empezando a ser complicado.
¿Es posible (y cómo?) crear un túnel Win 7 -> Linux -> Windows Server 2008 with SQL Server
para MS SQL Management Studio?
Linux y Windows Server están en la misma red en la otra ubicación. Sólo el servidor Linux es visible externamente.
Lamentablemente no puedo realizar ningún cambio en ninguna máquina.
Intenté con el túnel SSH a través de Putty, pero fallé.
Respuesta1
En la máquina win7, abra PuTTY y establezca las siguientes configuraciones para la sesión ssh de Linux: Conexión->SSH->Túneles->Puerto de origen: 1433, Destino: 192.168.0.3:1433, seleccione el botón de opción local.
Ahora debería poder conectarse a localhost:1433 desde la máquina win7.
Respuesta2
Sí, debería ser posible. Echar un vistazoaquí, Por ejemplo. Deberá proporcionar más información si necesita ayuda para configurar el túnel.
Respuesta3
Hmm, si puedes agregar una nueva regla a iptables en el servidor Linux, entonces puedes lograrlo mediante un simple reenvío de puertos. Pero tenga en cuenta que esto es muy peligroso porque hará que su base de datos sea visible desde Internet. Por supuesto, puede habilitar el reenvío de puertos solo cuando necesite conectarse al servidor de la base de datos y utilizar algún puerto que no sea estándar. Estas son las reglas que debes poner en iptables en una máquina Linux:
-A PREROUTING -p tcp -m tcp -s IPOFYOURNETWORK --dport PORTNUMBER1 -j DNAT --to-destination IPOFDATASERVER:PORTNUMER2
-A POSTROUTING -d IPOFDATASERVER -j MASQUERADE
IPOFYOURNETWORK es la IP de la red o computadora desde la que intentará conectarse
PORTNUMBER1 es el puerto en el que desea que su base de datos sea visible (puede configurar algún puerto que no sea estándar)
IPOFDATASERVER:PORTNUMER2 es la ip y el puerto de su servidor de base de datos.
Respuesta4
Siguiendo el comentario de FINESEC, es posible que aparezca el error "conexión rechazada activamente".
Logré resolverlo marcando las casillas de verificación "Los puertos locales aceptan conexiones de otros hosts" y "Los puertos remotos hacen lo mismo" en Putty en Túneles. En caso de que alguien encuentre esto útil.