Sommario:

Controller Unifi su Google Cloud Platform (GCP): 6 passaggi
Controller Unifi su Google Cloud Platform (GCP): 6 passaggi

Video: Controller Unifi su Google Cloud Platform (GCP): 6 passaggi

Video: Controller Unifi su Google Cloud Platform (GCP): 6 passaggi
Video: How to Deploy ASP.NET 6 MVC Web App on Google Cloud Run using Cloud Build 2024, Dicembre
Anonim
Controller Unifi su Google Cloud Platform (GCP)
Controller Unifi su Google Cloud Platform (GCP)

Il controller Unifi di Ubiquity consente la gestione web dei loro prodotti Unifi, inclusi punti di accesso wireless, router e switch. Hanno un'ottima guida per configurare il controller su Amazon AWS utilizzando il livello gratuito che offre una VM gratuita per 12 mesi. Una volta trascorso l'anno, devi pagare per continuare a utilizzare la VM.

Installa un UniFi Cloud Controller su Amazon Web Services

Google Cloud Platform (GCP) offre anche un livello gratuito con una micro VM gratuita per sempre con specifiche simili all'offerta Amazon. Lo scopo di questa guida è documentare i passaggi per configurare un controller Unifi in GCP.

Nota: un altro utente, Petri, ha scritto un'eccellente guida oltre a uno script che imposta funzionalità aggiuntive come certificati Let Encrypt, limiti Fail2Ban e manutenzione generale. Dai un'occhiata per integrare questa istruzione:

Passaggio 1: registra/crea un account Google Cloud Platform

Registra/crea un account Google Cloud Platform
Registra/crea un account Google Cloud Platform
Registra/crea un account Google Cloud Platform
Registra/crea un account Google Cloud Platform
  1. Vai a: https://cloud.google.com/free/ e fai clic sul pulsante "Prova gratis" per iniziare la registrazione di un account
  2. Accedi con il tuo account su:
  3. Seleziona il progetto che desideri utilizzare per il Controller Unifi. Se crei un account gratuito, avrai selezionato "Il mio primo progetto".

    Questo può essere rinominato andando su Menu>IAM e amministratore>Impostazioni e cambiando il nome del progetto

Passaggio 2: creazione di istanze con script

Creazione di istanze con script
Creazione di istanze con script

Invece di fare clic sulla GUI passo dopo passo per creare l'istanza, Google fornisce Google Cloud Shell per creare da una riga di comando. Ciò elimina gli errori di configurazione errata dovuti a passaggi mancati o errori di digitazione.

Nota: il piano gratuito è disponibile solo nelle seguenti regioni: us-east1, us-west1 e us-central1

Se si utilizza questo metodo con lo script di Petri, non sono necessari ulteriori passaggi poiché tutto il resto è automatizzato su Debian. Per coloro che desiderano costruirlo manualmente o comprendere i dadi e i bulloni dietro le quinte, i passaggi successivi illustrano la configurazione.

Nota: a causa della formattazione Instructable, a volte il copia/incolla non funziona come previsto. In allegato è un file di testo con tutti i comandi che dovrebbero essere copiati e incollati correttamente e potrebbe essere più semplice apportare modifiche per i nomi dei bucket, i nomi DNS e le regioni specifici.

Nota finale: a partire dal 9/5/2018, il software Unifi richiede ancora una versione precedente di MongoDB rispetto a quella fornita in bundle con Ubuntu 18.04, che richiede un sistema operativo diverso o alcune soluzioni manuali come descritto qui. Di conseguenza, i comandi seguenti utilizzeranno Debian 9

Dopo aver effettuato l'accesso al sito della console, fai clic sul pulsante nell'angolo in alto a destra per attivare Cloud Shell. Verrà visualizzata una casella nera nella parte inferiore della pagina con l'interfaccia di Cloud Shell. Copia e incolla i comandi, sostituendo il testo secondo necessità

Creazione di un bucket di archiviazione

Un bucket di archiviazione manterrà i backup in una posizione separata in modo da poter distruggere il controller e ripristinare molto rapidamente da un backup ragionevolmente recente. Assicurati di sostituire un nome univoco con un nome a tua scelta. Altre regioni sono disponibili nel livello gratuito purché si trovino negli Stati Uniti, escluso us-east4 (controlla i dettagli qui:

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

Creazione di un IP esterno statico

Per evitare che l'IP esterno cambi nel tempo, l'IP può essere riservato e rimane libero finché è collegato a un'istanza VM in esecuzione. Se distruggi l'istanza senza creare una sostituzione o la spegni per più di 1 ora, ti potrebbe essere addebitato l'IP statico finché non lo elimini.

Gli indirizzi di calcolo gcloud creano unifi-external

--regione us-central1

Crea le regole del firewall

Questa serie di righe creerà diverse regole firewall necessarie per il controller Unifi e le aggiungerà a un tag denominato unifi-server che verrà assegnato anche all'istanza del server

le regole del firewall di calcolo di gcloud creano "unifi-http"

--allow tcp:80, tcp:8443, tcp:8880, tcp:8843 / --description="Porte utilizzate per HTTP e HTTPS su porte non standard" / --target-tags=unifi-server

le regole del firewall di calcolo di gcloud creano "unifi-inform"

--allow tcp:8080 / --description="Porta per la comunicazione tra dispositivi e controller" / --target-tags=unifi-server

le regole del firewall di calcolo di gcloud creano "unifi-stun"

--allow udp:3478 / --description="Porta utilizzata per STUN" / --target-tags=unifi-server

le regole del firewall di calcolo gcloud creano "unifi-throughput"

--allow tcp:6789 / --description="Porta utilizzata per il test di velocità mobile UniFi" / --target-tags=unifi-server

Creazione dell'istanza VM

Questa serie di righe creerà l'istanza all'interno delle quote del piano gratuito. Modifica la prima riga dopo la creazione per cambiare il nome dell'istanza. Se non vuoi utilizzare lo script di configurazione automatica fornito da Petri o vuoi includere opzioni aggiuntive, modifica o elimina l'ultima riga che inizia con --metadata. (Nota: se elimini completamente la riga, potrebbe essere necessario premere nuovamente Invio dopo aver incollato per completare l'azione)

le istanze di calcolo gcloud creano 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=some-unique-name

Se desideri utilizzare altre immagini del sistema operativo, puoi ottenere l'elenco completo da Cloud Shell utilizzando il seguente comando

elenco di immagini di calcolo gcloud

Prendi nota della Famiglia e del Progetto, in questo caso "debian-9" e "debian-cloud"

Passaggio 3: creazione dell'istanza VM

Creazione dell'istanza VM
Creazione dell'istanza VM
Creazione dell'istanza VM
Creazione dell'istanza VM
Creazione dell'istanza VM
Creazione dell'istanza VM
  1. Dal pulsante Menu nell'angolo in alto a sinistra, seleziona "Compute Engine", quindi "Istanze VM"
  2. Se richiesto, attendi che Compute Engine termini l'inizializzazione.
  3. In "Istanze VM" nel riquadro di sinistra, fai clic su "Crea" nel riquadro di destra.

    1. Inserisci un nome per la tua VM. In questo caso "unifi-controller"
    2. Seleziona una zona o lascia l'impostazione predefinita
    3. Cambia il tipo di macchina in "micro" se utilizzi l'offerta gratuita
    4. Fare clic su "Cambia" sul disco di avvio. Seleziona un'immagine Ubuntu, come "Ubuntu 16.04 LTS"

      Le immagini più recenti di Ubuntu contengono una versione incompatibile di MongoDB. Debian è un'altra opzione

    5. Aumenta il tipo di disco a Standard Persistent Disk e dimensioni 25 GB

      Nota: potrebbero essere necessari 30 GB per il corretto funzionamento del software del controller. Cloud Shell consuma 5 GB e può superare i limiti gratuiti a meno che questa istanza non sia dimensionata a 25 GB

    6. Lascia le opzioni del firewall deselezionate. Questi verranno configurati in seguito.
    7. Se si configurano i backup come descritto più avanti in questa guida, in Ambiti di accesso, selezionare "Imposta l'accesso per ogni API" e modificare l'archiviazione in "Lettura e scrittura"
    8. Fare clic sul collegamento "Gestione, dischi, rete, chiave SSH", quindi fare clic sulla scheda Rete. In "Etichette di rete" inserisci: unifi-server

      Questo verrà utilizzato durante la creazione delle regole del firewall

    9. Fai clic su "Crea" per iniziare il processo
  4. Attendi qualche minuto per il completamento della creazione della VM. Una volta completato, verrà visualizzata una casella di controllo verde a sinistra del nome.
  5. Fai clic sul menu di Google Cloud Platform>Rete>Rete VPC>Regole firewall

    1. Fai clic su "Crea regola firewall" nella parte superiore della pagina. Saranno necessarie diverse regole. Possono essere suddivise in regole individuali o in una regola per includere tutte le porte necessarie. Elenco dei porti

      1. Nome: unifi-ports
      2. Tag di destinazione: unifi-server
      3. Intervalli IP di origine: 0.0.0.0/0
      4. Protocolli e porte specificati: tcp:80; tcp:8880; tcp:8443; tcp:8843; tcp:8080; tcp:6789; udp:3478
      5. Creare
  6. Fai clic sul menu di Google Cloud Platform>Rete>Rete VPC>Indirizzi IP esterni

    1. Modificare l'assegnazione esistente da Effimero a Statico per evitare che l'IP cambi nel tempo.
    2. Nota: se l'istanza viene arrestata, verrà addebitato un addebito di $ 0,01/ora per IP per gli IP statici

Passaggio 4: configurazione di Swap sulla VM

Se si utilizza l'istanza f1-micro, è possibile che la VM esaurisca i 600 MB di RAM e smetta di funzionare. Per aiutare con questo, configurare un file di scambio. Se si utilizza una macchina virtuale più grande, potrebbe non essere necessario. Questo articolo ti guida attraverso i passaggi per Ubuntu:

Configurazione dello scambio

I seguenti comandi possono essere copiati e incollati nella sessione SSH sulla tua VM per creare il file di scambio e renderlo permanente

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

Per verificare quanta memoria viene utilizzata, sia RAM che swap, usa il seguente comando

libero -h

Passaggio 5: installazione del software del controller

  1. Fare clic su Menu>Compute Engine>Istanze VM. Sulla linea con la VM del controller, fare clic sul pulsante SSH. Apparirà una nuova finestra con una sessione SSH sulla VM.
  2. Esegui i seguenti comandi per aggiungere il repository Ubiquity e aggiungere la chiave GPG. Questi possono essere copiati e incollati nella finestra SSH: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. Nota: dopo un aggiornamento a una nuova versione, l'origine potrebbe essere disabilitata. Modifica il file sources.list per rimuovere il # dall'inizio della riga ubnt
    2. sudo nano /etc/apt/sources.list
  3. Eseguire i seguenti comandi per aggiornare il repository dei server e avviare l'installazione di Unifi:sudo apt-get updateudo apt-get install unifi
  4. Se richiesto, premi Y per continuare a scaricare tutti i pacchetti richiesti e installarli
  5. Per accelerare il tempo di avvio iniziale sulla VM, installa haveged per una generazione di entropia più rapida. Con haveged, il primo avvio di Unifi all'avvio della VM richiederà 6-10 minuti. Senza potrebbe richiedere 20-25 minuti. Ulteriori informazioni: https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-havegedsudo apt-get install haveged
  6. Al termine, digita exit per chiudere la sessione SSH
  7. Nella finestra Istanze VM, prendi nota dell'IP esterno della VM
  8. Apri un browser Web su

    sostituisci l'IP esterno con l'IP esterno della tua VM

  9. Se viene visualizzata una pagina Web, la configurazione del controller è completa.

    Nota: il passaggio 2 non rileverà alcun dispositivo poiché il controller non si trova sulla stessa sottorete dei dispositivi. Vedi l'articolo Ubiquity sull'adozione del livello 3

Passaggio 6: configurazione dei backup

Configurazione dei backup
Configurazione dei backup

Come parte del piano gratuito di Google, sono inclusi 5 GB di spazio di archiviazione regionale. Creando un bucket di archiviazione e configurando Unifi per copiare i backup in questo bucket, i file non vengono più archiviati solo all'interno del motore di calcolo, consentendo il ripristino se l'intera istanza non è disponibile.

Crea un bucket di archiviazione cloud di Google

  1. Nella console di GCP, fai clic sul pulsante Menu nell'angolo in alto a sinistra, seleziona "Archiviazione" sotto l'intestazione Archiviazione, quindi fai clic su Crea bucket
  2. Inserisci un nome univoco a livello globale Crea al termine Seleziona una regione.

    1. Negli Stati Uniti, lo spazio di archiviazione gratuito è disponibile nelle regioni che terminano con 1 come indicato qui:
    2. Seleziona Regionale per il livello gratuito
    3. Fai clic su Continua quando hai finito
  3. Nella console di GCP, fai clic sul pulsante Menu nell'angolo in alto a sinistra, seleziona "Compute Engine", quindi fai clic su Istanze VM
  4. Ferma l'istanza Unifi
  5. Fare clic sul nome dell'istanza e selezionare Modifica in "Ambiti di accesso", selezionare "Imposta accesso per ogni API"
  6. Cambia "Archiviazione" in Leggi Scrivi
  7. Avvia l'istanza

Crea uno script per copiare quotidianamente i backup nel bucket

  1. Usa i seguenti comandi per creare lo script di backup, assicurandoti di sostituire [name_of_storage_bucket] con il nome che hai creato sopra. 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. Imposta il file come eseguibile sudo chmod +x /etc/cron.daily/unifi-backup-to-bucket
  3. I file di backup dovrebbero ora essere copiati giornalmente nel bucket di archiviazione. Puoi visualizzare i file andando su Archiviazione>Browser e facendo clic sul bucket.

Nota: ho avuto qualche problema con la copia del testo da Instructables e l'incollaggio nella console che non funzionava completamente. Il testo verrebbe copiato, ma i comandi non verrebbero eseguiti correttamente. Digitarli manualmente ha risolto il problema.

Consigliato: