Table des matières:

Contrôleur Unifi sur Google Cloud Platform (GCP) : 6 étapes
Contrôleur Unifi sur Google Cloud Platform (GCP) : 6 étapes

Vidéo: Contrôleur Unifi sur Google Cloud Platform (GCP) : 6 étapes

Vidéo: Contrôleur Unifi sur Google Cloud Platform (GCP) : 6 étapes
Vidéo: [DEVFEST Toulouse 2019] Premiers pas avec un microcontrôleur et Google Cloud IoT Core 2024, Novembre
Anonim
Contrôleur Unifi sur Google Cloud Platform (GCP)
Contrôleur Unifi sur Google Cloud Platform (GCP)

Le contrôleur Unifi d'Ubiquity permet la gestion Web de leurs produits Unifi, y compris les points d'accès sans fil, les routeurs et les commutateurs. Ils ont un excellent guide pour configurer le contrôleur sur Amazon AWS en utilisant le niveau gratuit qui donne une machine virtuelle gratuite pendant 12 mois. Une fois l'année écoulée, vous devez payer pour continuer à utiliser la VM.

Installer un contrôleur UniFi Cloud sur Amazon Web Services

Google Cloud Platform (GCP) propose également un niveau gratuit avec une micro VM gratuite pour toujours avec des spécifications similaires à celles de l'offre Amazon. Le but de ce guide est de documenter les étapes de configuration d'un contrôleur Unifi dans GCP.

Remarque: un autre utilisateur, Petri, a écrit un excellent guide ainsi qu'un script qui configure des fonctionnalités supplémentaires telles que les certificats Let Encrypt, les limites Fail2Ban et la maintenance générale. Découvrez-le pour compléter cette instructable:

Étape 1: Enregistrez/Créez un compte Google Cloud Platform

Enregistrer/Créer un compte Google Cloud Platform
Enregistrer/Créer un compte Google Cloud Platform
Enregistrer/Créer un compte Google Cloud Platform
Enregistrer/Créer un compte Google Cloud Platform
  1. Accédez à: https://cloud.google.com/free/ et cliquez sur le bouton "Essayer gratuitement" pour commencer à créer un compte.
  2. Connectez-vous avec votre compte sur:
  3. Sélectionnez le projet que vous souhaitez utiliser pour le contrôleur Unifi. Si vous créez un compte gratuit, vous aurez "Mon premier projet" sélectionné.

    Cela peut être renommé en allant dans Menu> IAM & admin> Paramètres et en modifiant le nom du projet

Étape 2: Création d'instances par script

Création d'instances par script
Création d'instances par script

Plutôt que de cliquer sur l'interface graphique étape par étape pour créer l'instance, Google fournit Google Cloud Shell pour créer à partir d'une ligne de commande. Cela élimine les erreurs de configuration dues à des étapes manquées ou à des erreurs de frappe.

Remarque: L'offre gratuite n'est disponible que dans les régions suivantes: us-east1, us-west1 et us-central1

Si vous utilisez cette méthode avec le script de Petri, aucune autre étape n'est nécessaire car tout le reste est automatisé sur Debian. Pour ceux qui veulent le construire manuellement ou comprendre les écrous et les boulons dans les coulisses, les étapes qui suivent parcourent la configuration.

Remarque: en raison de la mise en forme Instructable, parfois copier/coller ne fonctionne pas comme prévu. Vous trouverez ci-joint un fichier texte avec toutes les commandes qui doivent être correctement copiées et collées et peuvent être plus faciles à modifier pour vos noms de compartiment, noms DNS et régions spécifiques.

Remarque finale: à compter du 9/5/2018, le logiciel Unifi nécessite toujours une version de MongoDB antérieure à celle fournie avec Ubuntu 18.04, nécessitant soit un système d'exploitation différent, soit des solutions de contournement manuelles, comme décrit ici. En conséquence, les commandes ci-dessous utiliseront Debian 9

Après vous être connecté au site de la console, cliquez sur le bouton dans le coin supérieur droit pour activer Cloud Shell. Une boîte noire apparaîtra dans la partie inférieure de la page avec l'interface Cloud Shell. Copiez et collez les commandes, en remplaçant le texte si nécessaire

Créer un bucket de stockage

Un compartiment de stockage conservera les sauvegardes dans un emplacement séparé afin que nous puissions détruire le contrôleur et restaurer très rapidement à partir d'une sauvegarde relativement récente. Assurez-vous de remplacer some-unique-name par un nom de votre choix. D'autres régions sont disponibles dans le niveau gratuit tant qu'elles se trouvent aux États-Unis, à l'exception de us-east4 (consultez les détails ici:

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

Créer une IP externe statique

Pour éviter que l'IP externe ne change au fil du temps, l'IP peut être réservée et reste libre tant qu'elle est attachée à une instance de VM en cours d'exécution. Si vous détruisez l'instance sans créer de remplacement ou si vous l'éteignez pendant plus d'une heure, l'adresse IP statique peut vous être facturée jusqu'à ce que vous la supprimiez.

les adresses de calcul gcloud créent unifi-external

--région us-central1

Créer les règles de pare-feu

Cette série de lignes créera plusieurs règles de pare-feu nécessaires au contrôleur Unifi et les ajoutera à une balise nommée unifi-server qui sera également attribuée à l'instance de serveur

gcloud compute firewall-rules create "unifi-http"

--allow tcp:80, tcp:8443, tcp:8880, tcp:8843 / --description="Ports utilisés pour HTTP et HTTPS sur des ports non standard" / --target-tags=unifi-server

gcloud compute firewall-rules create "unifi-inform"

--allow tcp:8080 / --description="Port pour la communication entre l'appareil et le contrôleur" / --target-tags=unifi-server

gcloud compute firewall-rules create "unifi-stun"

--allow udp:3478 / --description="Port utilisé pour STUN" / --target-tags=unifi-server

gcloud compute firewall-rules create "unifi-throughput"

--allow tcp:6789 / --description="Port utilisé pour le test de vitesse mobile UniFi" / --target-tags=unifi-server

Création de l'instance de VM

Cette série de lignes créera l'instance dans les limites du niveau gratuit. Modifiez la première ligne après la création pour changer le nom de l'instance. Si vous ne souhaitez pas utiliser le script de configuration automatique fourni par Petri ou souhaitez inclure des options supplémentaires, modifiez ou supprimez la dernière ligne commençant par --metadata. (Remarque: si vous éliminez complètement la ligne, vous devrez peut-être appuyer à nouveau sur Entrée après avoir collé pour terminer l'action)

Les instances de calcul gcloud créent un unifi-controller

--machine-type f1-micro / --image-family debian-9 / --image-project debian-cloud / --boot-disk-type pd-standard / --boot-disk-size 25 Go / --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

Si vous souhaitez utiliser d'autres images du système d'exploitation, vous pouvez obtenir la liste complète à partir de Cloud Shell à l'aide de la commande suivante

liste d'images de calcul gcloud

Prenez note de la famille et du projet, dans ce cas "debian-9" et "debian-cloud"

Étape 3: Création de l'instance de VM

Création de l'instance de VM
Création de l'instance de VM
Création de l'instance de VM
Création de l'instance de VM
Création de l'instance de VM
Création de l'instance de VM
  1. Depuis le bouton Menu dans le coin supérieur gauche, sélectionnez "Compute Engine" puis "VM Instances"
  2. Attendez la fin de l'initialisation de Compute Engine si vous y êtes invité.
  3. Sous « Instances de VM » dans le volet de gauche, cliquez sur « Créer » dans le volet de droite.

    1. Saisissez un nom pour votre machine virtuelle. Dans ce cas "unifi-controller"
    2. Sélectionnez une zone ou laissez par défaut
    3. Changez le type de machine en "micro" si vous utilisez l'offre gratuite
    4. Cliquez sur "Modifier" sur le disque de démarrage. Sélectionnez une image Ubuntu, telle que "Ubuntu 16.04 LTS"

      Les images plus récentes d'Ubuntu contiennent une version incompatible de MongoDB. Debian est une autre option

    5. Augmentez le type de disque en Disque persistant standard et taillez 25 Go

      Remarque: 30 Go peuvent être requis pour le bon fonctionnement du logiciel du contrôleur. Le Cloud Shell consomme 5 Go et peut dépasser les limites libres, sauf si cette instance est dimensionnée à 25 Go

    6. Laissez les options de pare-feu décochées. Ceux-ci seront configurés ultérieurement.
    7. Si vous configurez des sauvegardes comme décrit plus loin dans ce guide, sous Étendues d'accès, sélectionnez « Définir l'accès pour chaque API » et remplacez Stockage par « Lire et écrire »
    8. Cliquez sur le lien "Gestion, disques, réseau, clé SSH", puis cliquez sur l'onglet Réseau. Sous « Balises réseau », entrez: unifi-server

      Ceci sera utilisé lors de la création de règles de pare-feu

    9. Cliquez sur "Créer" pour commencer le processus
  4. Donnez quelques minutes pour que la création de la VM se termine. Une case à cocher verte apparaîtra à gauche du nom une fois terminé.
  5. Cliquez sur le menu Google Cloud Platform > Réseau > Réseau VPC > Règles de pare-feu

    1. Cliquez sur "Créer une règle de pare-feu" en haut de la page. Plusieurs règles seront nécessaires. Ils peuvent être divisés en règles individuelles ou en une règle pour inclure tous les ports nécessaires. Liste des ports

      1. Nom: unifi-ports
      2. Balises cibles: unifi-server
      3. Plages d'adresses IP sources: 0.0.0.0/0
      4. Protocoles et ports spécifiés: tcp:80; TCP: 8880; TCP: 8443; TCP: 8843; TCP: 8080; TCP: 6789; udp:3478
      5. Créer
  6. Cliquez sur le menu Google Cloud Platform > Réseau > Réseau VPC > Adresses IP externes.

    1. Modifiez l'affectation existante d'Ephemeral à Static pour empêcher l'IP de changer au fil du temps.
    2. Remarque: Si l'instance est arrêtée, des frais de 0,01 $/h par IP seront facturés pour les IP statiques

Étape 4: Configuration de Swap sur la VM

Si vous utilisez l'instance f1-micro, il est fort possible que la VM manque de 600 Mo de RAM et cesse de fonctionner. Pour vous aider, configurez un fichier d'échange. Si vous utilisez une machine virtuelle plus grande, cela peut ne pas être nécessaire. Cet article vous guide à travers les étapes pour Ubuntu:

Configuration de l'échange

Les commandes suivantes peuvent être copiées et collées dans la session SSH sur votre machine virtuelle pour créer le fichier d'échange et le rendre permanent

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

Pour vérifier la quantité de mémoire utilisée, à la fois RAM et swap, utilisez la commande suivante

libre -h

Étape 5: Installation du logiciel du contrôleur

  1. Cliquez sur Menu > Compute Engine > Instances de VM. En ligne avec la VM du contrôleur, cliquez sur le bouton SSH. Une nouvelle fenêtre apparaîtra avec une session SSH vers la VM.
  2. Exécutez les commandes suivantes pour ajouter le référentiel Ubiquity et ajouter la clé GPG. Ceux-ci peuvent être copiés et collés dans la fenêtre 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. Remarque: après une mise à niveau vers une nouvelle version, la source peut être désactivée. Modifiez le fichier sources.list pour supprimer le # au début de la ligne ubnt
    2. sudo nano /etc/apt/sources.list
  3. Exécutez les commandes suivantes pour mettre à jour le référentiel des serveurs et commencer l'installation d'Unifi: sudo apt-get updatesudo apt-get install unifi
  4. Si vous y êtes invité, appuyez sur Y pour continuer à télécharger les packages requis et installer
  5. Pour accélérer le temps de démarrage initial sur la VM, installez haveged pour une génération d'entropie plus rapide. Avec haveged, le premier démarrage d'Unifi au démarrage de la VM prendra 6 à 10 minutes. Sans cela, cela peut prendre 20 à 25 minutes. Plus d'informations: https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-havegedsudo apt-get install haveged
  6. Une fois terminé, tapez exit pour fermer la session SSH
  7. Dans la fenêtre VM Instances, notez l'IP externe de la VM
  8. Ouvrez un navigateur Web sur

    remplacez External-IP par l'IP externe de votre VM

  9. Si une page Web apparaît, la configuration du contrôleur est terminée.

    Remarque: l'étape 2 ne découvrira aucun périphérique car le contrôleur ne se trouve pas sur le même sous-réseau que les périphériques. Voir l'article d'Ubiquity sur l'adoption de la couche 3

Étape 6: Configuration des sauvegardes

Configuration des sauvegardes
Configuration des sauvegardes

Dans le cadre de l'offre gratuite de Google, 5 Go de stockage régional sont inclus. En créant un compartiment de stockage et en configurant Unifi pour copier les sauvegardes dans ce compartiment, les fichiers ne sont plus uniquement stockés dans le moteur de calcul, ce qui permet des restaurations si l'intégralité de l'instance devient indisponible.

Créer un bucket Google Cloud Storage

  1. Dans la console GCP, cliquez sur le bouton Menu dans le coin supérieur gauche, sélectionnez "Stockage" sous l'en-tête Stockage, puis cliquez sur Créer un bucket.
  2. Saisissez un nom globalement unique. Créez une fois terminé Sélectionnez une région.

    1. Aux États-Unis, le stockage gratuit est disponible dans les régions se terminant par 1, comme indiqué ici:
    2. Sélectionnez Régional pour le niveau gratuit
    3. Cliquez sur Continuer lorsque vous avez terminé
  3. Dans la console GCP, cliquez sur le bouton Menu dans l'angle supérieur gauche, sélectionnez "Compute Engine", puis cliquez sur Instances de VM
  4. Arrêter l'instance Unifi
  5. Cliquez sur le nom de l'instance et sélectionnez Modifier Sous "Étendues d'accès", sélectionnez "Définir l'accès pour chaque API"
  6. Remplacez "Stockage" par Lire Écriture
  7. Démarrer l'instance

Créer un script pour copier quotidiennement les sauvegardes dans le bucket

  1. Utilisez les commandes suivantes pour créer le script de sauvegarde, en veillant à remplacer [name_of_storage_bucket] par le nom que vous avez créé ci-dessus. 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. Définissez le fichier comme exécutable sudo chmod +x /etc/cron.daily/unifi-backup-to-bucket
  3. Les fichiers de sauvegarde doivent maintenant être copiés quotidiennement dans le compartiment de stockage. Vous pouvez afficher les fichiers en allant dans Stockage> Navigateur et en cliquant sur le compartiment.

Remarque: j'ai eu des problèmes avec la copie de texte à partir d'Instructables et le collage dans la console ne fonctionnant pas complètement. Le texte serait copié, mais les commandes ne s'exécuteraient pas correctement. Les taper manuellement a corrigé le problème.

Conseillé: