Activa archivos compartidos en clientes en una red remota

Este instructivo le muestra cómo activar un archivo compartido de Filestore en un cliente remoto, que puede ser una VM de Compute Engine en una red de VPC diferente o una VM o terminal que no sea de Google Cloud.

No puede acceder a los archivos compartidos de Filestore desde Internet o directamente a través de una VPN. Los archivos compartidos de Filestore están diseñados para activarse solo en máquinas virtuales de Compute Engine. Sin embargo, es posible activar un archivo compartido en un cliente remoto con una VM de Compute Engine como proxy.

Para ello, debes hacer lo siguiente:

  • Establecer una conexión de VPN entre la red del cliente remoto y la red de VPC de la instancia de Filestore
  • Configurar una máquina virtual de Compute Engine en la misma red de VPC para reenviar paquetes NFS a la instancia de Filestore
  • Conectar el cliente remoto a la VM de Compute Engine para activar el archivo compartido de la instancia de Filestore en el cliente remoto

Advertencias

Esta solución tiene varias advertencias:

  • La VM del proxy es un punto único de falla. Si se cae, el cliente remoto ya no puede acceder al archivo compartido.
  • La máquina virtual del proxy es un cuello de botella de rendimiento porque reenvía todo el tráfico NFS entre el cliente remoto y la instancia de Filestore.
  • El bloqueo de archivos no funciona.

Objetivos

  • Configure una VM de Compute Engine para reenviar paquetes NFS desde un cliente remoto a una instancia de Filestore.
  • Active un archivo compartido de Filestore en un cliente remoto.

Costos

En este instructivo, se usan los siguientes componentes facturables de Google Cloud:

  • Instancia de VM de Compute Engine
  • Cloud VPN
  • Instancia de Filestore

Usa la calculadora de precios para generar una estimación de los costos según el uso previsto. Los usuarios nuevos de Google Cloud pueden ser elegibles para obtener una prueba gratuita.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página Selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

Crear la máquina virtual del proxy

La máquina virtual del proxy es una máquina virtual de Linux de Compute Engine que reenvía paquetes NFS entre el cliente remoto y la instancia de Filestore. Debe estar en la misma red de VPC que la instancia de Filestore.

Para aprender a crear una máquina virtual de Linux de Compute Engine, consulte Guía de inicio rápido para usar una máquina virtual de Linux.

Crea una instancia de Filestore

Cree una instancia de Filestore en la misma red de VPC que la máquina virtual del proxy.

Configurar el reenvío en la máquina virtual del proxy

  1. Ir a la página Instancias de VM
  2. Localice la máquina virtual del proxy y haga clic en SSH para abrir una terminal en esa máquina virtual.
  3. Instala iptables mediante la ejecución de los siguientes comandos:

    Debian/Ubuntu

        sudo apt-get install iptables
    

    RHEL y CentOS

        sudo yum install iptables
    

    SUSE

        sudo zypper -n install iptables
    
  4. Reenvíe los paquetes NFS destinados a la instancia de Filestore ejecutando los siguientes comandos en la máquina virtual del proxy:

    sudo iptables -A PREROUTING -t nat -i network-interface -p tcp --dport 111 -j DNAT --to filestore-ip-address:111
    sudo iptables -A PREROUTING -t nat -i network-interface -p tcp --dport 2049 -j DNAT --to filestore-ip-address:2049
    sudo iptables -A PREROUTING -t nat -i network-interface -p tcp --dport 2050 -j DNAT --to filestore-ip-address:2050
    sudo iptables -A FORWARD -p tcp -d filestore-ip-address --dport 111 -j ACCEPT
    sudo iptables -A FORWARD -p tcp -d filestore-ip-address --dport 2049 -j ACCEPT
    sudo iptables -A FORWARD -p tcp -d filestore-ip-address --dport 2050 -j ACCEPT
    sudo sysctl net.ipv4.ip_forward=1
    sudo iptables -t nat -A POSTROUTING -j MASQUERADE
    

    Donde:

    • filestore-ip-address es la dirección IP de la instancia de Filestore a la que se reenvía la VM del proxy.
    • network-interface es el nombre de la interfaz de red en la VM de proxy, como eth0. Para obtener el nombre de la interfaz de red, ejecute el siguiente comando en la máquina virtual del proxy:

      sudo ifconfig
      

    Los puertos reenviados son los siguientes:

    • 111: portmapper
    • 2049: nfs
    • 2050: mountd

Establezca una conexión de VPN entre la red del cliente remoto y la red de VPC de la máquina virtual del proxy

Antes de poder activar el archivo compartido de Filestore en un cliente remoto, debe establecer una conexión de VPN entre la red del cliente remoto y la red de VPC de la instancia de Filestore y la máquina virtual del proxy.

Configure la puerta de enlace y el túnel de VPN en Google Cloud

Crea una VPN con alta disponibilidad. Para obtener instrucciones detalladas, consulte Creación de una puerta de enlace de VPN con alta disponibilidad a una puerta de enlace de VPN de par.

Configure la puerta de enlace y el túnel de VPN en la red remota:

Active el archivo compartido de Filestore en el cliente remoto

  1. Cree un directorio de punto de activación en el cliente remoto:

    sudo mkdir -p mount-point-directory
    

    En el ejemplo anterior, mount-point-directory es la ruta a la que quieres asignar los archivos compartidos de Cloud Filestore.

  2. Active la instancia de Filestore en su cliente en una red remota ejecutando el siguiente comando en el cliente remoto:

    sudo mount proxy-ip-address:/file-share/[file-share-sub-dir] mount-point-directory
    

    Donde:

    • proxy-ip-address es la dirección IP de la instancia de proxy.
    • file-share es el nombre del archivo compartido en la instancia de Filestore.
    • file-share-sub-dir es la ruta del subdirectorio de archivos compartidos que deseas activar. Déjelo en blanco si desea activar todo el archivo compartido.
    • mount-point-directory es la ruta en el cliente remoto al que quieres asignar el archivo compartido de Filestore.

    Ejemplo: el siguiente comando activa el archivo compartido vol1 en una instancia de Filestore que se reenvía a una máquina virtual de Linux de Compute Engine con la dirección IP 34.68.144.226 para activar el directorio de puntos /mnt/test en el cliente remoto:

    sudo mount 34.68.144.226:/vol1 /mnt/test
    
  3. Ejecuta el siguiente comando en el cliente remoto para confirmar que tu configuración funciona:

    ls mount-point-directory
    

    En el ejemplo anterior, mount-point-directory es la ruta de acceso al directorio del punto de activación.

    En el ejemplo anterior, el comando sería el siguiente:

    ls /mnt/test
    

    Si el archivo compartido se activa correctamente en el cliente remoto, el sistema mostrará los resultados del comando ls.

Soluciona problemas

Puede solucionar problemas ejecutando tcpdump en la máquina virtual del proxy para verificar si se están reenviando los paquetes NFS:

  1. Instala tcpdump:

    Debian/Ubuntu

        sudo apt-get install tcpdump
    

    RHEL y CentOS

        sudo yum install tcpdump
    

    SUSE

        sudo zypper -n install tcpdump
    
  2. Ejecute el siguiente comando para mostrar los paquetes que transmite o recibe la máquina virtual del proxy, excepto los paquetes SSH y HTTP:

    sudo tcpdump -p -n not port 22 and not port 80
    

Limpia

Una vez que haya terminado de activar los archivos compartidos en clientes en un instructivo de red remota, puede limpiar los recursos que creó en Google Cloud para que no ocupen la cuota y no se le apliquen cargos en el futuro en base a dichos recursos. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, sigue estos pasos:

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a la página Administrar recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
  3. En el cuadro de diálogo, escribe el ID del proyecto y haz clic en Cerrar para borrar el proyecto.

Borra instancias de Compute Engine

Para borrar una instancia de Compute Engine:

  1. En Cloud Console, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en la casilla de verificación para La instancia que deseas borrar.
  3. Haz clic en Borrar  para borrar la instancia.

Eliminar instancias de Filestore

  1. Vaya a la página de instancias de Filestore
  2. Haz clic en el ID de la instancia para abrir la página de detalles de la instancia.
  3. Haz clic en Borrar.
  4. Cuando se te solicite, escribe el ID de la instancia y haz clic en Borrar .

Eliminar túneles de Cloud VPN

  1. Ir a la página de Cloud VPN
  2. Haga clic en la pestaña Túneles de Cloud VPN
  3. Haz clic en el nombre del túnel y, luego, en Borrar .

Qué sigue