Índice:
- Etapa 1: registrar / criar uma conta do Google Cloud Platform
- Etapa 2: Criação de instância com script
- Etapa 3: Criação da instância de VM
- Etapa 4: Configurando Swap na VM
- Etapa 5: Instalando o software do controlador
- Etapa 6: Configurando backups
Vídeo: Controlador Unifi no Google Cloud Platform (GCP): 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
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
- Acesse: https://cloud.google.com/free/ e clique no botão "Teste grátis" para iniciar o registro de uma conta
- Faça login com sua conta em:
-
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
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
- No botão Menu no canto superior esquerdo, selecione "Compute Engine" e "Instâncias de VM"
- Aguarde até que o Compute Engine conclua a inicialização, se solicitado.
-
Em "Instâncias de VM" no painel esquerdo, clique em "Criar" no painel direito.
- Insira um nome para sua VM. Neste caso, "unifi-controller"
- Selecione uma zona ou deixe o padrão
- Altere o tipo de máquina para "micro" se estiver usando a oferta gratuita
-
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
-
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
- Deixe as opções de Firewall desmarcadas. Eles serão configurados posteriormente.
- 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"
-
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
- Clique em "Criar" para iniciar o processo
- 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.
-
Clique no menu Google Cloud Platform> Rede> Rede VPC> Regras de firewall
-
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
- Nome: unifi-portas
- Tags de destino: unifi-server
- Intervalos de IP de origem: 0.0.0.0/0
- Protocolos e portas especificados: tcp: 80; tcp: 8880; tcp: 8443; tcp: 8843; tcp: 8080; tcp: 6789; udp: 3478
- Crio
-
-
Clique no menu Google Cloud Platform> Rede> Rede VPC> Endereços IP externos
- Altere a atribuição existente de Efêmero para Estático para evitar que o IP mude com o tempo.
- 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
- 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.
-
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
- 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
- sudo nano /etc/apt/sources.list
- 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
- Se solicitado, pressione Y para continuar a baixar todos os pacotes necessários e instalar
- 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
- Quando terminar, digite exit para fechar a sessão SSH
- Na janela Instâncias de VM, anote o IP externo da VM
-
Abra um navegador da Web em https:// External-IP: 8443 /
substitua External-IP pelo IP externo de sua VM
-
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
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
- 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
-
Insira um nome que seja globalmente exclusivo Criar ao terminar Selecione uma região.
- Nos EUA, o armazenamento gratuito está disponível nas regiões que terminam em 1, conforme observado aqui:
- Selecione Regional para o nível gratuito
- Clique em Continuar quando terminar
- No Console do GCP, clique no botão Menu no canto superior esquerdo, selecione "Compute Engine" e clique em Instâncias de VM
- Pare a instância Unifi
- Clique no nome da instância e selecione Editar. Em "Escopos de acesso", selecione "Definir acesso para cada API"
- Altere "Armazenamento" para Leitura e Escrita
- Inicie a instância
Crie um script para copiar backups para o intervalo diariamente
- 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
- Defina o arquivo como executável sudo chmod + x /etc/cron.daily/unifi-backup-to-bucket
- 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:
Controlador de jogo Google T Rex automático usando Arduino: 7 etapas
Controlador de jogo Google T Rex automático usando Arduino: vamos construí-lo
Gesture Control Skeleton Bot - 4WD Hercules Mobile Robotic Platform - Arduino IDE: 4 etapas (com imagens)
Gesture Control Skeleton Bot - 4WD Hercules Mobile Robotic Platform - Arduino IDE: um Gesture Control Vehicle feito por Seeedstudio Skeleton Bot - 4WD Hercules Mobile Robotic Platform. Diverti-me muito durante o período de gestão da epidemia de vírus coronariano em casa. Um amigo meu deu-me uma plataforma robótica móvel 4WD Hercules como novidade
Zynthian: Open Synth Platform (Zynthian Basic KIT V2): 19 etapas
Zynthian: Open Synth Platform (Zynthian Basic KIT V2): Zynthian é um projeto aberto com o objetivo de criar uma Open Synth Platform baseada em Software Livre e Open Hardware Especificações & Desenhos (quando disponíveis). É um projeto voltado para a comunidade
Controlador de jogo DIY baseado em Arduino - Controlador de jogo Arduino PS2 - Jogando Tekken com gamepad Arduino DIY: 7 etapas
Controlador de jogo DIY baseado em Arduino | Controlador de jogo Arduino PS2 | Jogando Tekken com DIY Arduino Gamepad: Olá pessoal, jogar é sempre divertido, mas jogar com seu próprio controlador de jogo DIY personalizado é mais divertido. Portanto, faremos um controlador de jogo usando arduino pro micro neste instructables
Detector de movimento usando Thingsai.io Iot Cloud Platform: 6 etapas
Detector de movimento usando Thingsai.io Iot Cloud Platform: Neste tutorial, vou explicar sobre a detecção de movimento usando um sensor PIR e Esp32 junto com uma plataforma de nuvem IOT Thingai.io