Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
tunel_de_conexion_ssh [2018/08/13 18:25] lmachucatunel_de_conexion_ssh [2018/10/30 16:12] (actual) lmachuca
Línea 32: Línea 32:
 Teniendo en cuenta el diagrama de red superior podemos ver lo siguiente: Teniendo en cuenta el diagrama de red superior podemos ver lo siguiente:
  
-  * Tenemos acceso directo a la red pública de Dacsa por medio de su IP pública: ''190.121.105.243''.+  * Tenemos acceso directo a la red pública de Dacsa por medio de su IP pública: ''190.121.105.243''. Sea este punto de acceso público nuestro ''**servidorremoto**''.
   * En esa IP pública, tenemos un puerto de SSH abierto que nos lleva al servidor de Prat.   * En esa IP pública, tenemos un puerto de SSH abierto que nos lleva al servidor de Prat.
-  * Desde el servidor de Prat, podemos ver Montana **en la misma subred**.+  * Desde el servidor de Prat, podemos ver Montana **en la misma subred**. La dirección del servidor local //relativa al servidor de Dacsa// es nuestro ''**destino**''.
  
-Sólo con estos datos, podemos construir nuestro túnel.+Sólo con estos datos, podemos construir nuestro túnel. Abriremos el túnel en el **puerto local ''25000''** y nos llevará al puerto remoto 3306 del equipo de Montana. La estructura general para un túnel de este tipo en SSH es: 
 + 
 +  ssh -L puertolocal:destino:puertodestino  usuario@servidorremoto 
 + 
 + 
 +====Linux / SSH====
  
 <code bash> <code bash>
Línea 47: Línea 52:
  
   - Nuestro equipo se conectará al servidor de Prat directamente, por medio del puerto abierto en el gateway, al puerto 22 del servidor (SSH).   - Nuestro equipo se conectará al servidor de Prat directamente, por medio del puerto abierto en el gateway, al puerto 22 del servidor (SSH).
-  - Al recibir la conexión, el servidor de Prat abrirá el puerto local (//para él//) ''25000''Este puerto se enlazará a la conexión local ''192.168.1.252:3306''.+  - Al recibir la conexión, nuestro equipo requerirá abrir un segundo puerto local (//para él//) ''25000''Al recibir la conexión de este puerto el **servidor** lo enlazará a la conexión local (//para él//''192.168.1.252:3306''.
   - La opción ''-g'' en nuestro túnel permite que el puente permanezca abierto y se puedan conectar aplicaciones locales (//para nosotros//) a este túnel, por ejemplo Query Browser / SQLYog.   - La opción ''-g'' en nuestro túnel permite que el puente permanezca abierto y se puedan conectar aplicaciones locales (//para nosotros//) a este túnel, por ejemplo Query Browser / SQLYog.
   - Para el servidor de Montana, la conexión parece venir directo del servidor de Prat.   - Para el servidor de Montana, la conexión parece venir directo del servidor de Prat.
  
-Ahora que la conexión está activa, podemos conectarnos con un cliente de MySQL a nuestro puerto **local**, y esto nos dará acceso a la conexión en el servidor **remoto**:+Ahora que la conexión está activa, podemos conectarnos con un cliente de MySQL a nuestro puerto **local**, y esto nos dará acceso a la conexión en el servidor **remoto**. Simplemente en nuestro cliente, o en otra sesión/ventana de terminal si queremos conectar con el cliente de consola:
  
 <code bash> <code bash>
Línea 57: Línea 62:
 </code> </code>
  
-FIXME TOBEDONE Fotos de cómo hacer lo mismo con KiTTY.+ 
 +====Windows / KiTTY==== 
 + 
 +[{{ ::tunelssh-windows-1.png?200|Configuración del túnel en la pantalla de KiTTY}}] 
 +Para este proceso es conveniente (si no necesario) que tengamos un perfil grabado en KiTTY para el servidor de Prat (o el que vayamos a usar). Cargamos este perfil con **Load**, lo cual nos pasa los parámetros (servidor, puerto, VT100, etc) a las pantallas de configuración. 
 + 
 +En el árbol de configuración de KiTTY vamos a **Connection → SSH → Tunnel**. Aquí es donde agregamos el túnel como aparece en la imagen con los siguientes parámetros: 
 + 
 +  * ''[ ] Remote ports do the same'' - deshabilitado. 
 +  * Source port: ''25000''
 +  * Destination: ''192.168.1.252:3306''
 +  * ''[✔] Local  [ ] Remote  [ ] Dynamic''
 +  * Hacemos clic en **''Add''** para agregar nuestro túnel a la lista. 
 + 
 + 
 +Una vez seteado el túnel iniciamos nuestra conexión. Nos pedirá las credenciales del servidor de **puente** (en este caso Prat). Una vez que queda la ventana de terminal abierta el túnel queda establecido. 
 + 
 +Ya con el puente configurado, podemos conectarnos a la base de datos con nuestro cliente de MySQL, por ejemplo Yog / Query Browser: 
 +{{ ::tunelssh-windows-2.png?400 |}} 
 + 
 + 
 +===== Accesos Clientes ===== 
 + 
 +En la carpeta compartida de ''Documentación'' el archivo ''Accesos Clientes BD.ods'' tiene un **registro de los equipos clientes a los cuales se puede acceder vía túnel** Para configurar una conexión de este tipo se puede tomar los datos del archivo y adaptar los puertos y direcciones remotas según sea necesario. Por ejemplo, si quisiéramos conectarnos al equipo de Facturación Electrónica de ByK para ver su base de datos: 
 + 
 + 
 +[{{ :accesosclientes-ejemplo1.png?direct&400|Conexiones de una empresa en el archivo de Accesos Clientes}}] 
 + 
 +  - Vemos que la tabla indica que el equipo "Byk", "Cliente Facturación" dice en la columna de **Host** "Túnel", indicando que es posible entrar por un túnel usando el Host con la IP pública. 
 +  - Vemos que la IP pública está arriba, como Host del equipo "Byk", "Servidor Central". Esta IP es la que usamos como ''servidorremoto''
 +  - Dentro de la red local vemos que el equipo cliente de FE tiene IP ".2.252" en el segmento. Agregando el puerto para MySQL, tenemos el **''destino:puerto''** final para el túnel. 
 +  - Escogemos un puerto local para establecer nuestro puente, en este caso escogeremos el ''3333''
 + 
 + 
 +Ya con estos datos podemos estructurar nuestra conexión túnel: 
 + 
 +<code bash> 
 +ssh -g -L 3333:192.168.2.252:3306 administrador@190.82.117.106 
 +</code> 
 + 
 +Notar como siempre el ''-g'' es importante si queremos conectar otro programa, como el Query Browser, a través de este puerto. 
 + 
 +El resultado final es un puente que podemos usar como se ve aquí: 
 + 
 +{{ ::accesosclientes-ejemplo2.png?direct&200 |}} 
  
  
 {{tag>f1 ssh remoto conexión red mysql}} {{tag>f1 ssh remoto conexión red mysql}}
  
tunel_de_conexion_ssh.1534184727.txt.gz · Última modificación: 2018/08/13 18:25 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0