Оглавление:

Контроллер Unifi на Google Cloud Platform (GCP): 6 шагов
Контроллер Unifi на Google Cloud Platform (GCP): 6 шагов

Видео: Контроллер Unifi на Google Cloud Platform (GCP): 6 шагов

Видео: Контроллер Unifi на Google Cloud Platform (GCP): 6 шагов
Видео: Запуск Kubernetes кластера в GCP из Cloud Shell 2024, Ноябрь
Anonim
Контроллер Unifi на облачной платформе Google (GCP)
Контроллер Unifi на облачной платформе Google (GCP)

Контроллер Unifi от Ubiquity позволяет управлять продуктами Unifi через Интернет, включая точки беспроводного доступа, маршрутизаторы и коммутаторы. У них есть отличное руководство по настройке контроллера на Amazon AWS с использованием уровня бесплатного пользования, который дает бесплатную виртуальную машину в течение 12 месяцев. По истечении года вы должны будете заплатить, чтобы продолжить использование виртуальной машины.

Установите облачный контроллер UniFi на Amazon Web Services

Google Cloud Platform (GCP) также предлагает бесплатный уровень с бесплатной микро-виртуальной машиной навсегда со спецификациями, аналогичными предложению Amazon. Целью этого руководства является документирование шагов по настройке Unifi Controller в GCP.

Примечание. Другой пользователь, Петри, написал отличное руководство и сценарий, который настраивает дополнительные функции, такие как сертификаты Let Encrypt, ограничения Fail2Ban и общее обслуживание. Проверьте это, чтобы дополнить это руководство:

Шаг 1. Зарегистрируйте / создайте учетную запись Google Cloud Platform

Зарегистрируйте / создайте учетную запись Google Cloud Platform
Зарегистрируйте / создайте учетную запись Google Cloud Platform
Зарегистрируйте / создайте учетную запись Google Cloud Platform
Зарегистрируйте / создайте учетную запись Google Cloud Platform
  1. Перейдите по адресу: https://cloud.google.com/free/ и нажмите кнопку «Попробовать бесплатно», чтобы начать регистрацию учетной записи.
  2. Войдите в свою учетную запись на странице
  3. Выберите проект, который вы хотите использовать для Unifi Controller. Если вы настраиваете бесплатную учетную запись, у вас будет выбран «Мой первый проект».

    Его можно переименовать, перейдя в Меню> IAM и администратор> Настройки и изменив имя проекта

Шаг 2. Создание экземпляра по сценарию

Создание экземпляра по сценарию
Создание экземпляра по сценарию

Вместо того, чтобы шаг за шагом щелкать графический интерфейс для создания экземпляра, Google предоставляет Google Cloud Shell для сборки из командной строки. Это исключает ошибки неправильной конфигурации из-за пропущенных шагов или опечаток.

Примечание. Уровень бесплатного пользования доступен только в следующих регионах: us-east1, us-west1 и us-central1.

Если вы используете этот метод со сценарием от Petri, никаких дальнейших действий не требуется, поскольку все остальное автоматизировано в Debian. Для тех, кто хочет построить его вручную или разбираться в основных принципах работы за кулисами, шаги после этого проходят через настройку.

Примечание. Из-за инструктивного форматирования иногда копирование и вставка не работают должным образом. Прилагается текстовый файл со всеми командами, которые следует правильно копировать и вставлять, и может быть проще внести изменения для ваших конкретных имен сегментов, имен DNS и регионов.

Заключительное примечание: по состоянию на 05.09.2018 для программного обеспечения Unifi по-прежнему требуется более ранняя версия MongoDB, чем та, которая поставляется в комплекте с Ubuntu 18.04, требуя либо другую ОС, либо некоторые ручные обходные пути, как описано здесь. В результате приведенные ниже команды будут использовать Debian 9.

После входа на сайт консоли нажмите кнопку в правом верхнем углу, чтобы активировать Cloud Shell. В нижней части страницы появится черный ящик с интерфейсом Cloud Shell. Скопируйте и вставьте команды, заменяя текст по мере необходимости

Создание корзины для хранения

Корзина хранилища будет хранить резервные копии в отдельном месте, чтобы мы могли очень быстро уничтожить контроллер и восстановить из достаточно недавней резервной копии. Обязательно замените some-unique-name на имя по вашему выбору. Другие регионы доступны на уровне бесплатного пользования, пока они находятся в США, за исключением us-east4 (подробности см. Здесь:

gsutil mb -c региональный -l us-central1 gs: // какое-то уникальное-имя

Создание статического внешнего IP

Чтобы внешний IP-адрес не менялся с течением времени, IP-адрес может быть зарезервирован и оставаться свободным, пока он подключен к работающему экземпляру виртуальной машины. Если вы уничтожите экземпляр, не создавая замену, или отключите его более чем на 1 час, с вас может взиматься плата за статический IP-адрес, пока вы не удалите его.

адреса вычислений gcloud создают unifi-external

--регион us-central1

Создайте правила брандмауэра

Эта серия строк создаст несколько правил брандмауэра, необходимых для контроллера Unifi, и добавит их в тег с именем unifi-server, который также будет назначен экземпляру сервера.

gcloud compute firewall-rules создать "unifi-http"

--allow tcp: 80, tcp: 8443, tcp: 8880, tcp: 8843 / --description = "Порты, используемые для HTTP и HTTPS на нестандартных портах" / --target-tags = unifi-server

gcloud compute firewall-rules создать "unifi-inform"

--allow tcp: 8080 / --description = "Порт для связи устройства и контроллера" / --target-tags = unifi-server

gcloud compute firewall-rules создать "unifi-stun"

--allow udp: 3478 / --description = "Порт, используемый для STUN" / --target-tags = unifi-server

gcloud compute firewall-rules создают "unifi-throughput"

--allow tcp: 6789 / --description = "Порт, используемый для тестирования скорости мобильной связи UniFi" / --target-tags = unifi-server

Создание экземпляра виртуальной машины

Эта серия строк создаст экземпляр в пределах допустимых уровней бесплатного пользования. Отредактируйте первую строку после создания, чтобы изменить имя экземпляра. Если вы не хотите использовать сценарий автоматической настройки, предоставленный Петри, или хотите включить дополнительные параметры, измените или удалите последнюю строку, начинающуюся с --metadata. (Примечание: если вы полностью удалите строку, вам может потребоваться снова нажать Enter после вставки, чтобы завершить действие)

Вычислительные экземпляры gcloud создают 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, часовой пояс = США / Центральное, dns-name = your.domain.com, bucket = some-unique-name

Если вы хотите использовать другие образы ОС, вы можете получить полный список из Cloud Shell, используя следующую команду

список изображений gcloud для вычислений

Обратите внимание на Семейство и Проект, в данном случае «debian-9» и «debian-cloud».

Шаг 3. Создание экземпляра виртуальной машины

Создание экземпляра виртуальной машины
Создание экземпляра виртуальной машины
Создание экземпляра виртуальной машины
Создание экземпляра виртуальной машины
Создание экземпляра виртуальной машины
Создание экземпляра виртуальной машины
  1. С помощью кнопки «Меню» в верхнем левом углу выберите «Compute Engine», затем «Экземпляры виртуальных машин».
  2. Подождите, пока Compute Engine завершит инициализацию, если будет предложено.
  3. В разделе «Экземпляры ВМ» на левой панели нажмите «Создать» на правой панели.

    1. Введите имя вашей виртуальной машины. В данном случае "unifi-controller"
    2. Выберите Зону или оставьте значение по умолчанию
    3. Измените тип машины на "микро", если используете бесплатное предложение.
    4. Нажмите «Изменить» на загрузочном диске. Выберите образ Ubuntu, например «Ubuntu 16.04 LTS».

      Новые образы Ubuntu содержат несовместимую версию MongoDB. Debian - еще один вариант

    5. Увеличьте тип диска до Standard Persistent Disk и размер 25 ГБ.

      Примечание: для правильной работы программного обеспечения контроллера может потребоваться 30 ГБ. Cloud Shell потребляет 5 ГБ и может превышать бесплатные лимиты, если размер этого экземпляра не превышает 25 ГБ

    6. Не устанавливайте флажок «Параметры брандмауэра». Они будут настроены позже.
    7. При настройке резервного копирования, как описано далее в этом руководстве, в разделе «Области доступа» выберите «Установить доступ для каждого API» и измените Хранилище на «Чтение и запись».
    8. Щелкните ссылку «Управление, диски, сеть, ключ SSH», затем щелкните вкладку «Сеть». В разделе "Сетевые теги" введите: unifi-server.

      Это будет использоваться при создании правил брандмауэра

    9. Нажмите «Создать», чтобы начать процесс.
  4. Дайте несколько минут для завершения создания виртуальной машины. После завершения слева от имени появится зеленый флажок.
  5. Нажмите меню Google Cloud Platform> Сеть> Сеть VPC> Правила брандмауэра.

    1. Нажмите «Создать правило брандмауэра» вверху страницы. Потребуется несколько правил. Их можно разбить на отдельные правила или одно правило, включающее все необходимые порты. Список портов

      1. Имя: unifi-ports
      2. Целевые теги: unifi-server
      3. Диапазоны исходных IP-адресов: 0.0.0.0/0
      4. Указанные протоколы и порты: tcp: 80; TCP: 8880; TCP: 8443; TCP: 8843; TCP: 8080; TCP: 6789; UDP: 3478
      5. Создавать
  6. Нажмите меню Google Cloud Platform> Сеть> Сеть VPC> Внешние IP-адреса.

    1. Измените существующее назначение с эфемерного на статическое, чтобы IP-адрес не менялся с течением времени.
    2. Примечание. Если экземпляр остановлен, для статических IP-адресов будет взиматься плата в размере 0,01 доллара США в час за каждый IP-адрес.

Шаг 4: настройка подкачки на виртуальной машине

При использовании экземпляра f1-micro вполне возможно, что виртуальная машина исчерпает объем оперативной памяти 600 МБ и перестанет работать. Чтобы помочь с этим, настройте файл подкачки. При использовании более крупной виртуальной машины в этом может быть нет необходимости. Эта статья проведет вас через шаги для Ubuntu:

Настройка свопа

Следующие команды можно скопировать и вставить в сеанс SSH на вашу виртуальную машину, чтобы создать файл подкачки и сделать его постоянным.

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

Чтобы проверить, сколько памяти используется, как ОЗУ, так и подкачки, используйте следующую команду

бесплатно -h

Шаг 5: Установка программного обеспечения контроллера

  1. Щелкните Меню> Compute Engine> Экземпляры ВМ. В строке с ВМ контроллера нажмите кнопку SSH. Появится новое окно с сеансом SSH для виртуальной машины.
  2. Выполните следующие команды, чтобы добавить репозиторий Ubiquity и добавить ключ GPG. Их можно скопировать и вставить в окно 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. Примечание. После обновления до новой версии источник может быть отключен. Отредактируйте файл sources.list, чтобы удалить # в начале строки ubnt.
    2. sudo nano /etc/apt/sources.list
  3. Выполните следующие команды, чтобы обновить репозиторий серверов и начать установку Unifi: sudo apt-get updatesudo apt-get install unifi
  4. При появлении запроса нажмите Y, чтобы продолжить загрузку всех необходимых пакетов и установку.
  5. Чтобы ускорить начальный запуск виртуальной машины, установите hasged для более быстрого генерирования энтропии. С hasged первый запуск Unifi при загрузке виртуальной машины займет 6-10 минут. Без этого может потребоваться 20-25 минут. Дополнительная информация: https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-havegedsudo apt-get install hasged
  6. По завершении введите exit, чтобы закрыть сеанс SSH.
  7. В окне «Экземпляры виртуальных машин» обратите внимание на внешний IP-адрес виртуальной машины.
  8. Откройте веб-браузер по адресу https:// External-IP: 8443 /

    замените External-IP на внешний IP-адрес вашей виртуальной машины

  9. Если отображается веб-страница, настройка контроллера завершена.

    Примечание. Шаг 2 не обнаружит никаких устройств, поскольку контроллер не находится в той же подсети, что и устройства. См. Статью «Вездесущность» о принятии на уровне 3

Шаг 6: Настройка резервного копирования

Настройка резервного копирования
Настройка резервного копирования

В рамках уровня бесплатного пользования Google предоставляется региональное хранилище объемом 5 ГБ. Создав сегмент хранилища и настроив Unifi для копирования резервных копий в этот сегмент, файлы больше не хранятся только внутри вычислительного механизма, что позволяет выполнять восстановление, если весь экземпляр становится недоступным.

Создайте корзину Google Cloud Storage Bucket

  1. В консоли GCP нажмите кнопку «Меню» в верхнем левом углу, выберите «Хранилище» под заголовком «Хранилище», затем нажмите «Создать сегмент».
  2. Введите имя, которое является глобально уникальным. Создать, когда закончите. Выберите регион.

    1. В США бесплатное хранилище доступно в регионах, оканчивающихся на 1, как указано здесь:
    2. Выберите "Региональный" для бесплатного уровня.
    3. По завершении нажмите "Продолжить".
  3. В консоли GCP нажмите кнопку «Меню» в верхнем левом углу, выберите «Compute Engine», затем нажмите «Экземпляры ВМ».
  4. Остановите экземпляр Unifi
  5. Щелкните имя экземпляра и выберите «Изменить». В разделе «Области доступа» выберите «Установить доступ для каждого API».
  6. Измените «Хранилище» на чтение и запись
  7. Запустить экземпляр

Создайте скрипт для ежедневного копирования резервных копий в корзину

  1. Используйте следующие команды для создания сценария резервного копирования, не забудьте заменить [name_of_storage_bucket] на имя, которое вы создали выше. 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. Установите файл как исполняемый sudo chmod + x /etc/cron.daily/unifi-backup-to-bucket
  3. Файлы резервных копий теперь должны копироваться в корзину хранилища ежедневно. Вы можете просмотреть файлы, перейдя в Хранилище> Браузер и щелкнув корзину.

Примечание. У меня возникли проблемы с копированием текста из Instructables и вставкой в консоль, которая не работает полностью. Текст будет копироваться, но команды не будут выполняться правильно. Ввод их вручную устранил проблему.

Рекомендуемые: