Dateifreigaben auf Clients in einem Remote-Netzwerk bereitstellen

In dieser Anleitung erfahren Sie, wie Sie eine Filestore-Dateifreigabe auf einem Remote-Client bereitstellen, bei dem es sich um eine Compute Engine-VM in einem anderen VPC-Netzwerk oder um eine Nicht-Google Cloud VM oder ein Terminal handeln kann.

Sie können nicht über das Internet oder direkt über ein VPN auf Filestore-Dateifreigaben zugreifen. Filestore-Dateifreigaben können nur auf Compute Engine-VMs bereitgestellt werden. Es ist jedoch möglich, eine Dateifreigabe auf einem Remote-Client bereitzustellen, indem eine Compute Engine-VM als Proxy verwendet wird.

Gehen Sie dazu so vor:

  • Stellen Sie eine VPN-Verbindung zwischen dem Netzwerk des Remote-Clients und dem VPC-Netzwerk der Filestore-Instanz her.
  • Konfigurieren Sie eine Compute Engine-VM im selben VPC-Netzwerk, um NFS-Pakete an die Filestore-Instanz weiterzuleiten.
  • Verbinden Sie den Remote-Client mit der Compute Engine-VM, um die Dateifreigabe der Filestore-Instanz auf dem Remote-Client bereitzustellen.

Vorsichtsmaßnahmen

Diese Lösung weist mehrere Einschränkungen auf:

  • Die Proxy-VM ist ein Single Point Of Failure. Wenn es ausfällt, kann der Remote-Client nicht mehr auf die Dateifreigabe zugreifen.
  • Die Proxy-VM stellt einen Leistungsengpass dar, da sie den gesamten NFS-Datenverkehr zwischen dem Remote-Client und der Filestore-Instanz weiterleitet.
  • Das Sperren von Dateien funktioniert nicht.

Ziele

  • Konfigurieren Sie eine Compute Engine-VM so, dass NFS-Pakete von einem Remote-Client an eine Filestore-Instanz weitergeleitet werden.
  • Stellen Sie eine Filestore-Dateifreigabe auf einem Remote-Client bereit.

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:

  • Compute Engine-VM-Instanz
  • Cloud VPN
  • Filestore-Instanz

Sie können mithilfe des Preisrechners die Kosten für Ihre voraussichtliche Nutzung kalkulieren. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweis

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Wählen Sie in der Cloud Console auf der Seite für die Projektauswahl ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

Proxy-VM erstellen

Die Proxy-VM ist eine Linux Compute Engine-VM, die NFS-Pakete zwischen dem Remote-Client und der Filestore-Instanz weiterleitet. Sie muss sich im selben VPC-Netzwerk wie die Filestore-Instanz befinden.

Informationen zum Erstellen einer Linux Compute Engine-VM finden Sie unter Kurzanleitung: Eine Linux-VM verwenden.

Filestore-Instanz erstellen

Erstellen Sie eine Filestore-Instanz im selben VPC-Netzwerk wie die Proxy-VM.

Weiterleitung auf der Proxy-VM konfigurieren

  1. Zur Seite "VM-Instanzen"
  2. Suchen Sie die Proxy-VM und klicken Sie auf SSH, um ein Terminal auf dieser VM zu öffnen.
  3. Installieren Sie iptables, indem Sie die folgenden Befehle ausführen:

    Debian/Ubuntu

        sudo apt-get install iptables
    

    RHEL/CentOS

        sudo yum install iptables
    

    SUSE

        sudo zypper -n install iptables
    
  4. Leiten Sie die NFS-Pakete an die Filestore-Instanz weiter, indem Sie die folgenden Befehle auf der Proxy-VM ausführen:

    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
    

    wobei

    • filestore-ip-address ist die IP-Adresse der Filestore-Instanz, an die die Proxy-VM weiterleitet.
    • network-interface ist der Name der Netzwerkschnittstelle auf der Proxy-VM, z. B. eth0. Führen Sie den folgenden Befehl auf der Proxy-VM aus, um den Namen der Netzwerkschnittstelle abzurufen:

      sudo ifconfig
      

    Die weitergeleiteten Ports sind:

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

VPN-Verbindung zwischen dem Netzwerk des Remote-Clients und dem VPC-Netzwerk der Proxy-VM herstellen

Bevor Sie die Filestore-Dateifreigabe auf einem Remote-Client bereitstellen können, müssen Sie eine VPN-Verbindung zwischen dem Netzwerk des Remote-Clients und dem VPC-Netzwerk der Filestore-Instanz und der Proxy-VM herstellen.

VPN-Gateway und den Tunnel in Google Cloud konfigurieren

Erstellen Sie ein HA-VPN. Ausführliche Anweisungen finden Sie unter Gateway zwischen HA VPN und Peer-VPN erstellen.

VPN-Gateway und den Tunnel im Remote-Netzwerk konfigurieren

Filestore-Dateifreigabe auf dem Remote-Client bereitstellen

  1. Erstellen Sie ein Bereitstellungspunktverzeichnis auf dem Remote-Client:

    sudo mkdir -p mount-point-directory
    

    Dabei ist mount-point-directory der Pfad, dem Sie die Cloud Filestore-Dateifreigabe zuordnen möchten.

  2. Stellen Sie die Filestore-Instanz auf Ihrem Client in einem Remote-Netzwerk bereit, indem Sie den folgenden Befehl auf dem Remote-Client ausführen:

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

    wobei

    • proxy-ip-address die IP-Adresse für die Filestore-Instanz ist.
    • file-share ist der Name der Dateifreigabe in der Filestore-Instanz.
    • file-share-sub-dir ist der Pfad des Dateifreigabenverzeichnisses, das Sie bereitstellen möchten. Lassen Sie dieses Feld leer, wenn Sie die gesamte Dateifreigabe bereitstellen möchten.
    • mount-point-directory der Pfad auf dem Remote-Client ist, dem Sie die Filestore-Dateifreigabe zuordnen möchten.

    Beispiel:: Mit dem folgenden Befehl wird die Dateifreigabe vol1 für eine Filestore-Instanz bereitgestellt, die an eine Linux Compute Engine-VM mit der IP-Adresse 34.68.144.226 weitergeleitet wird, um das Bereitstellungsverzeichnis /mnt/test auf dem Remote-Client bereitzustellen:

    sudo mount 34.68.144.226:/vol1 /mnt/test
    
  3. Prüfen Sie, ob Ihre Konfiguration funktioniert, indem Sie den folgenden Befehl auf dem Remote-Client ausführen:

    ls mount-point-directory
    

    Dabei ist mount-point-directory der Pfad des Bereitstellungspunktverzeichnisses.

    Im vorherigen Beispiel wäre der Befehl:

    ls /mnt/test
    

    Wenn die Dateifreigabe erfolgreich auf dem Remote-Client bereitgestellt wurde, gibt das System die Ergebnisse des Befehls ls zurück.

Fehlerbehebung

Sie können Fehler beheben, indem Sie tcpdump auf der Proxy-VM ausführen, um zu prüfen, ob die NFS-Pakete weitergeleitet werden:

  1. Installieren Sie tcpdump:

    Debian/Ubuntu

        sudo apt-get install tcpdump
    

    RHEL/CentOS

        sudo yum install tcpdump
    

    SUSE

        sudo zypper -n install tcpdump
    
  2. Führen Sie den folgenden Befehl aus, um die von der Proxy-VM gesendeten oder empfangenen Pakete anzeigen zu lassen, mit Ausnahme der Pakete SSH und HTTP:

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

Bereinigen

Nachdem Sie die Anleitung "Dateifreigaben auf Clients in einem Remote-Netzwerk bereitstellen" durchgearbeitet haben, können Sie die in Google Cloud erstellten Ressourcen bereinigen, damit sie kein Kontingent beanspruchen und Ihnen in Zukunft keine Kosten mehr in Rechnung gestellt werden. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.

So löschen Sie das Projekt:

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite "Ressourcen verwalten"

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen .
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.

Compute Engine-Instanzen löschen

So löschen Sie eine Compute Engine-Instanz:

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf das Kästchen für die Instanz, die Sie löschen möchten.
  3. Klicken Sie auf Löschen , um die Instanz zu löschen.

Filestore-Instanzen löschen

  1. Zur Seite mit den Filestore-Instanzen
  2. Klicken Sie auf die Instanz-ID, um die Detailseite der Instanz zu öffnen.
  3. Klicken Sie auf Löschen.
  4. Wenn Sie dazu aufgefordert werden, geben Sie die Instanz-ID ein und klicken Sie auf Löschen .

Cloud-VPN-Tunnel löschen

  1. Zur Cloud VPN-Seite
  2. Klicken Sie auf den Tab Cloud VPN-Tunnel
  3. Klicken Sie auf den Namen des Tunnels und dann auf Löschen .

Nächste Schritte