Это моя версия одноразового установщика для облачного провайдера (в моём случае — Digital Ocean). Он создан на плечах гигантов, которым я благодарен в конце. Этот скрипт рассчитан на чистый, только что созданный сервер. Как и большинство одноразовых решений, он подходит для простых настроек. Если вы планируете что-то более сложное, лучше нанять специалиста. Гарантий я не даю, все риски на вас.
Я тестировал это на дроплете с 1 ГБ памяти — кажется, это минимум, чтобы избежать проблем с памятью, которые могут помешать импортам/экспортам.
Скрипт доступен здесь:
Я сделал это gist, чтобы в случае обновлений или предложений можно было легко их внести и поддерживать скрипт в живом состоянии. Кроме того, я подробно комментировал скрипт, чтобы люди могли учиться и понимать, почему я принимал те или иные решения. Внизу вы найдете ресурсы, которые я использовал и благодарю — они подробно обсуждались.
Скрипт выполняет следующее:
1) Открывает нужные порты для Unifi, SSH, веб/SSL трафика через iptables
2) Делает ПО Unifi/Certbot доступным как пакет
3) Устанавливает haveged для предотвращения нехватки энтропии (см. ссылку на jeff-ferguson.com ниже)
4) Устанавливает fail2ban как базовую защиту
5) Запрашивает установку автоматических обновлений безопасности для долгосрочной безопасности
6) Использует Certbot для запроса сертификата Lets Encrypt и его установки
7) Создаёт конфигурацию прокси для NGINX
8) Создаёт cron для автоматического обновления сертификатов Lets Encrypt (сертификаты истекают каждые 3 месяца)
После завершения рекомендую перейти к настройке оборудования на третьем уровне (Layer 3 adoption) — после первичной настройки контроллера на сайте.
Это можно сделать достаточно просто следующим образом (в примере у нас один USG, один свитч и одна точка доступа):
1) Подключите точку доступа к свитчу, а свитч — к USG
2) Подключите ноутбук к свитчу
3) Скачайте контроллер для своей операционной системы, но откройте только приложение «Discover»
4) В «Discover» должно появиться ваше оборудование (если это не новое устройство, скорее всего, потребуется сброс настроек)
5) Для каждого устройства нажмите «Manage» и установите URL для информирования: (это ваш адрес, указывающий на установку контроллера в облаке)
6) После этого вы сможете перейти к контроллеру на сервере и «принять» каждое устройство (если не видите их, проверьте в настройках, правильно ли указан hostname/IP контроллера)
Возможно, есть более надёжные, более модульные или более продвинутые способы сделать это. Но этот вариант для тех, у кого простая конфигурация и кто хочет быстро запустить облачный контроллер с приемлемым уровнем безопасности.
Кстати, в связи с упоминанием jeff-ferguson.com, он включает swap-файл в своей настройке. Я его убрал, так как Digital Ocean специально предупреждает против использования swap, потому что это может привести к сбоям SSD-дисков. Об этом написано здесь:
Спасибо следующим ресурсам:
Я тестировал это на дроплете с 1 ГБ памяти — кажется, это минимум, чтобы избежать проблем с памятью, которые могут помешать импортам/экспортам.
Скрипт доступен здесь:
Я сделал это gist, чтобы в случае обновлений или предложений можно было легко их внести и поддерживать скрипт в живом состоянии. Кроме того, я подробно комментировал скрипт, чтобы люди могли учиться и понимать, почему я принимал те или иные решения. Внизу вы найдете ресурсы, которые я использовал и благодарю — они подробно обсуждались.
Скрипт выполняет следующее:
1) Открывает нужные порты для Unifi, SSH, веб/SSL трафика через iptables
2) Делает ПО Unifi/Certbot доступным как пакет
3) Устанавливает haveged для предотвращения нехватки энтропии (см. ссылку на jeff-ferguson.com ниже)
4) Устанавливает fail2ban как базовую защиту
5) Запрашивает установку автоматических обновлений безопасности для долгосрочной безопасности
6) Использует Certbot для запроса сертификата Lets Encrypt и его установки
7) Создаёт конфигурацию прокси для NGINX
8) Создаёт cron для автоматического обновления сертификатов Lets Encrypt (сертификаты истекают каждые 3 месяца)
После завершения рекомендую перейти к настройке оборудования на третьем уровне (Layer 3 adoption) — после первичной настройки контроллера на сайте.
Это можно сделать достаточно просто следующим образом (в примере у нас один USG, один свитч и одна точка доступа):
1) Подключите точку доступа к свитчу, а свитч — к USG
2) Подключите ноутбук к свитчу
3) Скачайте контроллер для своей операционной системы, но откройте только приложение «Discover»
4) В «Discover» должно появиться ваше оборудование (если это не новое устройство, скорее всего, потребуется сброс настроек)
5) Для каждого устройства нажмите «Manage» и установите URL для информирования: (это ваш адрес, указывающий на установку контроллера в облаке)
6) После этого вы сможете перейти к контроллеру на сервере и «принять» каждое устройство (если не видите их, проверьте в настройках, правильно ли указан hostname/IP контроллера)
Возможно, есть более надёжные, более модульные или более продвинутые способы сделать это. Но этот вариант для тех, у кого простая конфигурация и кто хочет быстро запустить облачный контроллер с приемлемым уровнем безопасности.
Кстати, в связи с упоминанием jeff-ferguson.com, он включает swap-файл в своей настройке. Я его убрал, так как Digital Ocean специально предупреждает против использования swap, потому что это может привести к сбоям SSD-дисков. Об этом написано здесь:
Спасибо следующим ресурсам:
