Inhaltsverzeichnis:

Unifi Controller auf der Google Cloud Platform (GCP): 6 Schritte
Unifi Controller auf der Google Cloud Platform (GCP): 6 Schritte

Video: Unifi Controller auf der Google Cloud Platform (GCP): 6 Schritte

Video: Unifi Controller auf der Google Cloud Platform (GCP): 6 Schritte
Video: Overview of Docker Inc [German] 2024, November
Anonim
Unifi Controller auf der Google Cloud Platform (GCP)
Unifi Controller auf der Google Cloud Platform (GCP)

Der Unifi Controller von Ubiquity ermöglicht die Webverwaltung ihrer Unifi-Produkte, einschließlich drahtloser Zugangspunkte, Router und Switches. Sie haben eine ausgezeichnete Anleitung zum Einrichten des Controllers auf Amazon AWS mit dem kostenlosen Kontingent, das eine kostenlose VM für 12 Monate bietet. Nach Ablauf des Jahres müssen Sie für die weitere Nutzung der VM bezahlen.

Installieren Sie einen UniFi Cloud Controller auf Amazon Web Services

Die Google Cloud Platform (GCP) bietet auch eine kostenlose Stufe mit einer kostenlosen Micro-VM für immer mit ähnlichen Spezifikationen wie das Amazon-Angebot. Der Zweck dieser Anleitung besteht darin, die Schritte zum Einrichten eines Unifi Controllers in der GCP zu dokumentieren.

Hinweis: Ein anderer Benutzer, Petri, hat eine hervorragende Anleitung sowie ein Skript geschrieben, das zusätzliche Funktionen wie Let Encrypt-Zertifikate, Fail2Ban-Grenzen und allgemeine Wartung einrichtet. Schauen Sie es sich an, um dieses instructable zu ergänzen:

Schritt 1: Google Cloud Platform-Konto registrieren/erstellen

Google Cloud Platform-Konto registrieren/erstellen
Google Cloud Platform-Konto registrieren/erstellen
Google Cloud Platform-Konto registrieren/erstellen
Google Cloud Platform-Konto registrieren/erstellen
  1. Navigieren Sie zu: https://cloud.google.com/free/ und klicken Sie auf die Schaltfläche „Kostenlos testen“, um mit der Registrierung für ein Konto zu beginnen
  2. Melden Sie sich mit Ihrem Konto an unter:
  3. Wählen Sie das Projekt aus, das Sie für den Unifi Controller verwenden möchten. Wenn Sie ein kostenloses Konto einrichten, haben Sie "Mein erstes Projekt" ausgewählt.

    Dies kann umbenannt werden, indem Sie zu Menü>IAM & Admin>Einstellungen gehen und den Projektnamen ändern

Schritt 2: Skriptbasierte Instanzerstellung

Skriptbasierte Instanzerstellung
Skriptbasierte Instanzerstellung

Anstatt sich Schritt für Schritt durch die GUI zu klicken, um die Instanz zu erstellen, bietet Google Google Cloud Shell zum Erstellen über eine Befehlszeile an. Dadurch werden Fehlkonfigurationsfehler aufgrund von verpassten Schritten oder Tippfehlern vermieden.

Hinweis: Das kostenlose Kontingent ist nur in den folgenden Regionen verfügbar: us-east1, us-west1 und us-central1

Wenn Sie diese Methode mit dem Skript von Petri verwenden, sind keine weiteren Schritte erforderlich, da alles andere unter Debian automatisiert ist. Für diejenigen, die es manuell bauen oder die Schrauben und Muttern hinter den Kulissen verstehen möchten, führen die folgenden Schritte durch die Konfiguration.

Hinweis: Aufgrund der Instructable-Formatierung funktioniert das Kopieren / Einfügen manchmal nicht wie erwartet. Im Anhang befindet sich eine Textdatei mit allen Befehlen, die ordnungsgemäß kopiert und eingefügt werden sollten und die möglicherweise einfacher Änderungen für Ihre spezifischen Bucket-Namen, DNS-Namen und Regionen vornehmen können.

Abschließender Hinweis: Ab dem 05.09.2018 benötigt die Unifi-Software immer noch eine frühere Version von MongoDB als die, die mit Ubuntu 18.04 gebündelt ist, und erfordert entweder ein anderes Betriebssystem oder einige manuelle Problemumgehungen, wie hier beschrieben. Als Ergebnis verwenden die folgenden Befehle Debian 9

Nachdem Sie sich bei der Konsolen-Site angemeldet haben, klicken Sie auf die Schaltfläche in der oberen rechten Ecke, um Cloud Shell zu aktivieren. Im unteren Teil der Seite mit der Cloud Shell-Benutzeroberfläche wird ein schwarzes Feld angezeigt. Kopieren Sie die Befehle und fügen Sie sie ein und ersetzen Sie den Text nach Bedarf

Speicher-Bucket erstellen

Ein Speicher-Bucket speichert die Backups an einem separaten Ort, sodass wir den Controller zerstören und sehr schnell von einem relativ aktuellen Backup wiederherstellen können. Stellen Sie sicher, dass Sie Some-Unique-Name durch einen Namen Ihrer Wahl ersetzen. Andere Regionen sind im kostenlosen Kontingent verfügbar, solange sie sich in den USA befinden, mit Ausnahme von us-east4 (Details finden Sie hier:

gsutil mb -c regional -l us-central1 gs://some-unique-name

Erstellen einer statischen externen IP

Um zu verhindern, dass sich die externe IP im Laufe der Zeit ändert, kann die IP reserviert werden und bleibt frei, solange sie an eine laufende VM-Instanz angehängt ist. Wenn Sie die Instanz zerstören, ohne einen Ersatz zu erstellen, oder sie länger als 1 Stunde ausschalten, wird Ihnen möglicherweise die statische IP in Rechnung gestellt, bis Sie sie löschen.

gcloud compute-Adressen erstellen unifi-extern

--region us-central1

Erstellen Sie die Firewall-Regeln

Diese Reihe von Zeilen erstellt mehrere Firewall-Regeln, die für den Unifi-Controller benötigt werden, und fügt sie einem Tag namens unifi-server hinzu, das auch der Serverinstanz zugewiesen wird

gcloud compute Firewall-Regeln erstellen "unifi-http"

--allow tcp:80, tcp:8443, tcp:8880, tcp:8843 / --description="Ports, die für HTTP und HTTPS auf nicht standardmäßigen Ports verwendet werden" / --target-tags=unifi-server

gcloud compute Firewall-Regeln erstellen "unifi-inform"

--allow tcp:8080 / --description="Port für Geräte- und Controller-Kommunikation" / --target-tags=unifi-server

gcloud compute Firewall-Regeln erstellen "unifi-stun"

--allow udp:3478 / --description="Port für STUN verwendet" / --target-tags=unifi-server

gcloud compute Firewall-Regeln erstellen "unifi-throughput"

--allow tcp:6789 / --description="Port, der für den UniFi-Mobilgeschwindigkeitstest verwendet wird" / --target-tags=unifi-server

Erstellen der VM-Instanz

Diese Reihe von Zeilen erstellt die Instanz innerhalb der Freikontingente. Bearbeiten Sie die erste Zeile nach dem Erstellen, um den Namen der Instanz zu ändern. Wenn Sie das von Petri bereitgestellte automatische Konfigurationsskript nicht verwenden oder zusätzliche Optionen hinzufügen möchten, ändern oder entfernen Sie die letzte Zeile, die mit --metadata beginnt. (Hinweis: Wenn Sie die Zeile vollständig entfernen, müssen Sie nach dem Einfügen möglicherweise erneut die Eingabetaste drücken, um die Aktion abzuschließen.)

gcloud compute-Instanzen erstellen Unifi-Controller

--machine-type f1-micro / --image-family debian-9 / --image-project debian-cloud / --boot-disk-type pd-standard / --boot-disk-size 25GB / --zone us-central1-c / --description "Unifi Controller" / --scopes=default, storage-rw / --tags unifi-server / --address unifi-external / --metadata=startup-script-url=gs: //petri-unifi/startup.sh, timezone=US/Central, dns-name=your.domain.com, Bucket=ein eindeutiger-Name

Wenn Sie andere Betriebssystem-Images verwenden möchten, können Sie die vollständige Liste mit dem folgenden Befehl aus der Cloud Shell abrufen

gcloud compute Bilderliste

Beachten Sie die Familie und das Projekt, in diesem Fall "debian-9" und "debian-cloud"

Schritt 3: Erstellen der VM-Instanz

Erstellen der VM-Instanz
Erstellen der VM-Instanz
Erstellen der VM-Instanz
Erstellen der VM-Instanz
Erstellen der VM-Instanz
Erstellen der VM-Instanz
  1. Wählen Sie über die Menüschaltfläche in der oberen linken Ecke "Compute Engine" und dann "VM-Instanzen" aus.
  2. Warten Sie, bis Compute Engine die Initialisierung abgeschlossen hat, wenn Sie dazu aufgefordert werden.
  3. Klicken Sie im linken Bereich unter "VM-Instanzen" im rechten Bereich auf "Erstellen".

    1. Geben Sie einen Namen für Ihre VM ein. In diesem Fall "unifi-controller"
    2. Wählen Sie eine Zone aus oder belassen Sie die Standardeinstellung
    3. Ändern Sie den Maschinentyp in "Mikro", wenn Sie das kostenlose Angebot nutzen
    4. Klicken Sie auf der Bootdiskette auf "Ändern". Wählen Sie ein Ubuntu-Image aus, z. B. "Ubuntu 16.04 LTS".

      Neuere Images von Ubuntu enthalten eine inkompatible Version von MongoDB. Debian ist eine weitere Option

    5. Erhöhen Sie den Festplattentyp auf Standard Persistent Disk und Größe 25 GB

      Hinweis: Für den ordnungsgemäßen Betrieb der Controller-Software sind möglicherweise 30 GB erforderlich. Die Cloud Shell verbraucht 5 GB und überschreitet möglicherweise die kostenlosen Limits, es sei denn, diese Instanz ist auf 25 GB groß

    6. Lassen Sie Firewall-Optionen deaktiviert. Diese werden später konfiguriert.
    7. Wenn Sie Backups wie weiter unten in diesem Handbuch beschrieben konfigurieren, wählen Sie unter Zugriffsbereiche die Option "Zugriff für jede API festlegen" und ändern Sie den Speicher in "Lesen/Schreiben".
    8. Klicken Sie auf den Link "Verwaltung, Festplatten, Netzwerk, SSH-Schlüssel" und dann auf die Registerkarte Netzwerk. Geben Sie unter "Netzwerk-Tags" ein: unifi-server

      Dies wird beim Erstellen von Firewallregeln verwendet

    9. Klicken Sie auf "Erstellen", um den Vorgang zu starten
  4. Geben Sie ein paar Minuten Zeit, bis die VM-Erstellung abgeschlossen ist. Ein grünes Kontrollkästchen wird links neben dem Namen angezeigt, wenn der Vorgang abgeschlossen ist.
  5. Klicken Sie auf das Google Cloud Platform-Menü>Netzwerk>VPC-Netzwerk>Firewallregeln

    1. Klicken Sie oben auf der Seite auf "Firewallregel erstellen". Es werden mehrere Regeln benötigt. Sie können in einzelne Regeln oder eine Regel unterteilt werden, die alle benötigten Ports enthält. Liste der Häfen

      1. Name: Unifi-Ports
      2. Ziel-Tags: Unifi-Server
      3. Quell-IP-Bereiche: 0.0.0.0/0
      4. Angegebene Protokolle und Ports: tcp:80; tcp:8880; tcp:8443; tcp:8843; tcp:8080; tcp:6789; udp:3478
      5. Schaffen
  6. Klicken Sie auf das Google Cloud Platform-Menü>Netzwerk>VPC-Netzwerk>Externe IP-Adressen

    1. Ändern Sie die vorhandene Zuweisung von kurzlebig in statisch, um zu verhindern, dass sich die IP im Laufe der Zeit ändert.
    2. Hinweis: Wenn die Instanz angehalten wird, wird eine Gebühr von 0,01 USD/Std. pro IP für statische IPs berechnet

Schritt 4: Swap auf der VM konfigurieren

Bei Verwendung der f1-micro-Instanz ist es durchaus möglich, dass der VM die 600 MB Arbeitsspeicher ausgehen und sie nicht mehr funktioniert. Konfigurieren Sie dazu eine Auslagerungsdatei. Wenn Sie eine größere VM verwenden, ist dies möglicherweise nicht erforderlich. Dieser Artikel führt Sie durch die Schritte für Ubuntu:

Swap konfigurieren

Die folgenden Befehle können kopiert und in die SSH-Sitzung Ihrer VM eingefügt werden, um die Auslagerungsdatei zu erstellen und dauerhaft zu machen

sudo fallocate -l 1G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfilesudo cp /etc/fstab /etc/fstab.bakecho '/swapfile keine swap sw 0 0' | sudo tee -a /etc/fstab

Um zu überprüfen, wie viel Arbeitsspeicher verwendet wird, sowohl RAM als auch Swap, verwenden Sie den folgenden Befehl

kostenlos -h

Schritt 5: Controller-Software installieren

  1. Klicken Sie auf Menü > Compute Engine > VM-Instanzen. Klicken Sie in der Zeile mit der Controller-VM auf die Schaltfläche SSH. Ein neues Fenster mit einer SSH-Sitzung zur VM wird angezeigt.
  2. Führen Sie die folgenden Befehle aus, um das Ubiquity-Repository hinzuzufügen und den GPG-Schlüssel hinzuzufügen. Diese können kopiert und in das SSH-Fenster eingefügt werden:echo "deb https://www.ubnt.com/downloads/unifi/debian stable ubiquiti" | sudo tee -a /etc/apt/sources.listsudo apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50

    1. Hinweis: Nach einem Upgrade auf eine neue Version kann die Quelle deaktiviert werden. Bearbeiten Sie die Datei sources.list, um das # am Anfang der ubnt-Zeile zu entfernen
    2. sudo nano /etc/apt/sources.list
  3. Führen Sie die folgenden Befehle aus, um das Server-Repository zu aktualisieren und die Unifi-Installation zu starten: sudo apt-get updatesudo apt-get install unifi
  4. Wenn Sie dazu aufgefordert werden, drücken Sie Y, um alle erforderlichen Pakete herunterzuladen und zu installieren
  5. Um die anfängliche Startzeit auf der VM zu verkürzen, installieren Sie haveged für eine schnellere Entropiegenerierung. Bei haveged dauert der erste Start von Unifi beim Booten der VM 6-10 Minuten. Ohne kann es 20-25 Minuten dauern. Weitere Informationen: https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-havegedsudo apt-get install haveged
  6. Wenn Sie fertig sind, geben Sie exit ein, um die SSH-Sitzung zu schließen
  7. Notieren Sie sich im Fenster VM-Instanzen die externe IP der VM
  8. Öffnen Sie einen Webbrowser zu

    Ersetzen Sie die externe IP durch die externe IP Ihrer VM

  9. Wenn eine Webseite angezeigt wird, ist die Controller-Einrichtung abgeschlossen.

    Hinweis: In Schritt 2 werden keine Geräte erkannt, da sich der Controller nicht im selben Subnetz wie die Geräte befindet. Siehe den Ubiquity-Artikel zur Layer-3-Adoption

Schritt 6: Backups konfigurieren

Backups konfigurieren
Backups konfigurieren

Als Teil des kostenlosen Kontingents von Google sind 5 GB regionaler Speicherplatz enthalten. Durch das Erstellen eines Storage-Buckets und die Konfiguration von Unifi zum Kopieren von Backups in diesen Bucket werden die Dateien nicht mehr nur in der Compute-Engine gespeichert, sodass Wiederherstellungen möglich sind, wenn die gesamte Instanz nicht verfügbar ist.

Erstellen Sie einen Google Cloud Storage-Bucket

  1. Klicken Sie in der GCP Console oben links auf die Menüschaltfläche, wählen Sie unter der Überschrift "Speicher" die Option "Speicher" aus und klicken Sie dann auf Bucket erstellen
  2. Geben Sie einen weltweit eindeutigen Namen ein. Erstellen, wenn Sie fertig sind Wählen Sie eine Region aus.

    1. In den USA ist der kostenlose Speicherplatz in den Regionen verfügbar, die auf 1 enden, wie hier angegeben:
    2. Wählen Sie Regional für die kostenlose Stufe
    3. Klicken Sie auf Weiter, wenn Sie fertig sind
  3. Klicken Sie in der GCP Console oben links auf die Menüschaltfläche, wählen Sie "Compute Engine" aus und klicken Sie dann auf VM-Instanzen
  4. Stoppen Sie die Unifi-Instanz
  5. Klicken Sie auf den Instanznamen und wählen Sie Bearbeiten. Wählen Sie unter "Zugriffsbereiche" die Option "Zugriff für jede API festlegen".
  6. Ändern Sie "Speicher" in Lesen und Schreiben
  7. Instanz starten

Erstellen Sie ein Skript, um täglich Backups in den Bucket zu kopieren

  1. Verwenden Sie die folgenden Befehle, um das Backup-Skript zu erstellen, und stellen Sie sicher, dass Sie [name_of_storage_bucket] durch den oben erstellten Namen ersetzen. echo '#!/bin/sh' | sudo tee /etc/cron.daily/unifi-backup-to-bucket echo sudo gsutil rsync -r -d /var/lib/unifi/backup gs://[name_of_storage_bucket] | sudo tee -a /etc/cron.daily/unifi-backup-to-bucket
  2. Legen Sie die Datei als ausführbare Datei fest sudo chmod +x /etc/cron.daily/unifi-backup-to-bucket
  3. Backup-Dateien sollten jetzt täglich in den Storage-Bucket kopiert werden. Sie können die Dateien anzeigen, indem Sie zu Speicher>Browser gehen und auf den Bucket klicken.

Hinweis: Ich hatte einige Probleme mit dem Kopieren von Text aus Instructables und dem Einfügen in die Konsole, die nicht vollständig funktionierte. Der Text würde kopiert, aber die Befehle würden nicht korrekt ausgeführt. Durch manuelles Eingeben wurde das Problem behoben.

Empfohlen: