Índice:

Controlador Unifi no Google Cloud Platform (GCP): 6 etapas
Controlador Unifi no Google Cloud Platform (GCP): 6 etapas

Vídeo: Controlador Unifi no Google Cloud Platform (GCP): 6 etapas

Vídeo: Controlador Unifi no Google Cloud Platform (GCP): 6 etapas
Vídeo: Steps to install Ubuntu-Desktop On Google Cloud Platform 2024, Novembro
Anonim
Controlador Unifi no Google Cloud Platform (GCP)
Controlador Unifi no Google Cloud Platform (GCP)

O controlador Unifi da Ubiquity permite o gerenciamento web de seus produtos Unifi, incluindo pontos de acesso sem fio, roteadores e switches. Eles têm um excelente guia para configurar o controlador no Amazon AWS usando o nível gratuito que oferece uma VM gratuita por 12 meses. Quando o ano acabar, você deve pagar para continuar usando a VM.

Instale um controlador de nuvem UniFi na Amazon Web Services

O Google Cloud Platform (GCP) também oferece um nível gratuito com uma micro VM gratuita para sempre com especificações semelhantes à oferta da Amazon. O objetivo deste guia é documentar as etapas para configurar um controlador Unifi no GCP.

Observação: outro usuário, Petri, escreveu um guia excelente, além de um script que configura recursos adicionais, como certificados Let Encrypt, limites Fail2Ban e manutenção geral. Confira para complementar este instrutível:

Etapa 1: registrar / criar uma conta do Google Cloud Platform

Registre / crie uma conta do Google Cloud Platform
Registre / crie uma conta do Google Cloud Platform
Registre / crie uma conta do Google Cloud Platform
Registre / crie uma conta do Google Cloud Platform
  1. Acesse: https://cloud.google.com/free/ e clique no botão "Teste grátis" para iniciar o registro de uma conta
  2. Faça login com sua conta em:
  3. Selecione o projeto que deseja utilizar para o Unifi Controller. Se configurar uma conta gratuita, você terá "Meu primeiro projeto" selecionado.

    Isso pode ser renomeado em Menu> IAM e admin> Configurações e alterando o nome do projeto

Etapa 2: Criação de instância com script

Criação de instância com script
Criação de instância com script

Em vez de clicar na GUI passo a passo para criar a instância, o Google fornece o Google Cloud Shell para construir a partir de uma linha de comando. Isso elimina erros de configuração incorreta devido a etapas perdidas ou tipos incorretos.

Observação: o nível gratuito está disponível apenas nas seguintes regiões: us-east1, us-west1 e us-central1

Se estiver usando este método com o script de Petri, nenhuma etapa adicional é necessária, pois todo o resto é automatizado no Debian. Para aqueles que desejam construí-lo manualmente ou entender os detalhes básicos dos bastidores, as etapas seguintes descrevem a configuração.

Observação: devido à formatação instrutiva, às vezes copiar / colar não funciona como esperado. Em anexo está um arquivo de texto com todos os comandos que devem ser copiados e colados corretamente e pode ser mais fácil fazer modificações em seus nomes de intervalo, nomes DNS e regiões específicos.

Nota final: a partir de 5/9/2018, o software Unifi ainda requer uma versão anterior do MongoDB do que a fornecida com o Ubuntu 18.04, exigindo um sistema operacional diferente ou algumas soluções manuais conforme descrito aqui. Como resultado, os comandos abaixo usarão o Debian 9

Depois de fazer login no site do console, clique no botão no canto superior direito para ativar o Cloud Shell. Uma caixa preta aparecerá na parte inferior da página com a interface do Cloud Shell. Copie e cole os comandos, substituindo o texto conforme necessário

Criação de um intervalo de armazenamento

Um depósito de armazenamento manterá os backups em um local separado para que possamos destruir o controlador e restaurar de um backup razoavelmente recente muito rapidamente. Certifique-se de substituir algum-nome-exclusivo por um nome de sua escolha. Outras regiões estão disponíveis no nível gratuito, desde que estejam nos EUA, exceto us-east4 (verifique os detalhes aqui:

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

Criação de um IP externo estático

Para evitar que o IP externo mude ao longo do tempo, o IP pode ser reservado e permanecer livre enquanto estiver conectado a uma instância de VM em execução. Se você destruir a instância sem criar uma substituição ou desligá-la por mais de 1 hora, poderá ser cobrado pelo IP estático até excluí-lo.

gcloud compute addresses create unifi-external

--region us-central1

Crie as regras de firewall

Esta série de linhas criará várias regras de firewall necessárias para o controlador Unifi e as adicionará a uma tag chamada unifi-server que também será atribuída à instância do servidor

gcloud compute firewall-rules create "unifi-http"

--allow tcp: 80, tcp: 8443, tcp: 8880, tcp: 8843 / --description = "Portas usadas para HTTP e HTTPS em portas não padrão" / --target-tags = unifi-server

gcloud compute firewall-rules create "unifi-inform"

--allow tcp: 8080 / --description = "Porta para comunicação de dispositivo e controlador" / --target-tags = unifi-server

gcloud compute firewall-rules create "unifi-stun"

--allow udp: 3478 / --description = "Porta usada para STUN" / --target-tags = unifi-server

gcloud compute firewall-rules create "unifi-throughput"

--allow tcp: 6789 / --description = "Porta usada para teste de velocidade móvel UniFi" / --target-tags = unifi-server

Criação da instância de VM

Essa série de linhas criará a instância dentro das permissões de nível gratuito. Edite a primeira linha após criar para alterar o nome da instância. Se você não quiser usar o script de configuração automática fornecido por Petri ou quiser incluir opções adicionais, modifique ou elimine a última linha que começa com --metadata. (Observação: se você eliminar a linha inteiramente, pode ser necessário pressionar Enter novamente após colar para concluir a ação)

gcloud compute instances create 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, fuso horário = US / Central, dns-name = your.domain.com, bucket = some-unique-name

Se você deseja usar outras imagens do sistema operacional, pode obter a lista completa do Cloud Shell usando o seguinte comando

gcloud compute images list

Anote a Família e o Projeto, neste caso "debian-9" e "debian-cloud"

Etapa 3: Criação da instância de VM

Criação da instância de VM
Criação da instância de VM
Criação da instância de VM
Criação da instância de VM
Criação da instância de VM
Criação da instância de VM
  1. No botão Menu no canto superior esquerdo, selecione "Compute Engine" e "Instâncias de VM"
  2. Aguarde até que o Compute Engine conclua a inicialização, se solicitado.
  3. Em "Instâncias de VM" no painel esquerdo, clique em "Criar" no painel direito.

    1. Insira um nome para sua VM. Neste caso, "unifi-controller"
    2. Selecione uma zona ou deixe o padrão
    3. Altere o tipo de máquina para "micro" se estiver usando a oferta gratuita
    4. Clique em “Alterar” no disco de inicialização. Selecione uma imagem do Ubuntu, como "Ubuntu 16.04 LTS"

      As imagens mais recentes do Ubuntu contêm uma versão incompatível do MongoDB. Debian é outra opção

    5. Aumente o tipo de disco para disco permanente padrão e dimensione 25 GB

      Observação: 30 GB podem ser necessários para a operação adequada do software do controlador. O Cloud Shell consome 5 GB e pode ultrapassar os limites gratuitos, a menos que esta instância seja dimensionada para 25 GB

    6. Deixe as opções de Firewall desmarcadas. Eles serão configurados posteriormente.
    7. Se estiver configurando backups conforme descrito posteriormente neste guia, em Escopos de acesso, selecione "Definir acesso para cada API" e altere Armazenamento para "Leitura e Gravação"
    8. Clique no link "Gerenciamento, discos, rede, chave SSH" e, em seguida, clique na guia Rede. Em "Network tags" insira: unifi-server

      Isso será usado ao criar regras de firewall

    9. Clique em "Criar" para iniciar o processo
  4. Aguarde alguns minutos para que a criação da VM seja concluída. Uma caixa de seleção verde aparecerá à esquerda do nome quando concluída.
  5. Clique no menu Google Cloud Platform> Rede> Rede VPC> Regras de firewall

    1. Clique em "Criar regra de firewall" na parte superior da página. Várias regras serão necessárias. Eles podem ser divididos em regras individuais ou em uma regra para incluir todas as portas necessárias. Lista de portas

      1. Nome: unifi-portas
      2. Tags de destino: unifi-server
      3. Intervalos de IP de origem: 0.0.0.0/0
      4. Protocolos e portas especificados: tcp: 80; tcp: 8880; tcp: 8443; tcp: 8843; tcp: 8080; tcp: 6789; udp: 3478
      5. Crio
  6. Clique no menu Google Cloud Platform> Rede> Rede VPC> Endereços IP externos

    1. Altere a atribuição existente de Efêmero para Estático para evitar que o IP mude com o tempo.
    2. Observação: se a instância for interrompida, uma cobrança de US $ 0,01 / hora por IP será cobrada para IPs estáticos

Etapa 4: Configurando Swap na VM

Se estiver usando a instância f1-micro, é bem possível que a VM fique sem 600 MB de RAM e pare de funcionar. Para ajudar com isso, configure um arquivo de troca. Se estiver usando uma VM maior, isso pode não ser necessário. Este artigo orienta você nas etapas do Ubuntu:

Configurando a troca

Os comandos a seguir podem ser copiados e colados na sessão SSH para sua VM para criar o arquivo de troca e torná-lo permanente

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

Para verificar quanta memória está sendo usada, RAM e swap, use o seguinte comando

livre -h

Etapa 5: Instalando o software do controlador

  1. Clique em Menu> Compute Engine> Instâncias de VM. Na linha com a VM do controlador, clique no botão SSH. Uma nova janela aparecerá com uma sessão SSH para a VM.
  2. Execute os seguintes comandos para adicionar o repositório Ubiquity e adicionar a chave GPG. Eles podem ser copiados e colados na janela 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: Após uma atualização para uma nova versão, a fonte pode ser desabilitada. Edite o arquivo sources.list para remover o # do início da linha ubnt
    2. sudo nano /etc/apt/sources.list
  3. Execute os seguintes comandos para atualizar o repositório dos servidores e iniciar a instalação do Unifi: sudo apt-get updatesudo apt-get install unifi
  4. Se solicitado, pressione Y para continuar a baixar todos os pacotes necessários e instalar
  5. Para acelerar o tempo de inicialização inicial na VM, instale o dispositivo para geração de entropia mais rápida. Com isso, a primeira inicialização do Unifi quando a VM for inicializada levará de 6 a 10 minutos. Sem isso, pode levar de 20 a 25 minutos. Mais informações: https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-havegedsudo apt-get install haveged
  6. Quando terminar, digite exit para fechar a sessão SSH
  7. Na janela Instâncias de VM, anote o IP externo da VM
  8. Abra um navegador da Web em https:// External-IP: 8443 /

    substitua External-IP pelo IP externo de sua VM

  9. Se uma página da web aparecer, a configuração do controlador está concluída.

    Nota: A etapa 2 não descobrirá nenhum dispositivo, pois o controlador não está na mesma sub-rede que os dispositivos. Veja o artigo da Ubiquity sobre a adoção da camada 3

Etapa 6: Configurando backups

Configurando backups
Configurando backups

Como parte do nível gratuito do Google, 5 GB de armazenamento regional estão incluídos. Ao criar um intervalo de armazenamento e configurar o Unifi para copiar backups para este intervalo, os arquivos não são mais armazenados apenas dentro do Compute Engine, permitindo restaurações se a instância inteira ficar indisponível.

Crie um intervalo do Google Cloud Storage

  1. No Console do GCP, clique no botão Menu no canto superior esquerdo, selecione "Storage" sob o título Storage e clique em Create Bucket
  2. Insira um nome que seja globalmente exclusivo Criar ao terminar Selecione uma região.

    1. Nos EUA, o armazenamento gratuito está disponível nas regiões que terminam em 1, conforme observado aqui:
    2. Selecione Regional para o nível gratuito
    3. Clique em Continuar quando terminar
  3. No Console do GCP, clique no botão Menu no canto superior esquerdo, selecione "Compute Engine" e clique em Instâncias de VM
  4. Pare a instância Unifi
  5. Clique no nome da instância e selecione Editar. Em "Escopos de acesso", selecione "Definir acesso para cada API"
  6. Altere "Armazenamento" para Leitura e Escrita
  7. Inicie a instância

Crie um script para copiar backups para o intervalo diariamente

  1. Use os comandos a seguir para criar o script de backup, certificando-se de substituir [name_of_storage_bucket] pelo nome que você criou acima. 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. Defina o arquivo como executável sudo chmod + x /etc/cron.daily/unifi-backup-to-bucket
  3. Os arquivos de backup agora devem ser copiados para o balde de armazenamento diariamente. Você pode visualizar os arquivos acessando Armazenamento> Navegador e clicando no balde.

Nota: Eu tive alguns problemas para copiar o texto do Instructables e colar no console, não funcionando totalmente. O texto seria copiado, mas os comandos não seriam executados corretamente. Digitando-os manualmente corrigiu o problema.

Recomendado: