Данный проект нужен для разворачивания инфраструктуры компании "Рога и копыта". В нём находятся пакеты для подготовки серверов а также описание и документация.
Сдесь представлены 4 сервера
Сервер OpenVPN
Сервер Удостоверяющего центра
Сервер сбора данных и оповещения
Сервер локальный репозиторий deb пакетов + хранение нароботок.
Созданное облако в yandex cloud, операционная система ubuntu 20.04, один статический ip адрес.
- Необходимо установить yandex cloud CLI, для удоства работы
- git
- Ниже инструкция как создать пару ssh ключей для доступа к ВМ
Инструкция по развертыванию проекта
- trust-center – Центр сертификации
- ovpn-server – Сервер OpenVPN
- data – локальный репозиторий deb пакетов и хранилище конфиг. Файлов
- monitor – Prometheus + Grafana
metadata.yaml - метеданные для создания виртуальных машин
- Docs -инструкции:
- Инструкция для системного администратора.docx
- конфигурация серверов.docx
- инструкция для пользователя.docx
- План развития инфраструктуры.docx
- отказоустойчивость.txt
- aptly.txt - разворачивание aptly сервера локльных deb репозиториев
- ya_cloud_topology.drawio.pdf - схема серверов
- all_deb - директория с deb пакетами для удобного публикования во время конфигурации локально deb репозитория
- iptables.sh - скрипт для конфигурации iptables на сервере data
- grafana_10.1.2_amd64.deb - deb пакет для установки grafana на сервер monitor
- monitoring_0.1-1_all.deb - deb пакет для установки и настройки prometheus на сервер monitor
- easy-rsa-conf_0.1-1_all.deb - deb пакет для установки и настройки easy-rsa на сервер trust-center
- config-ovpn_0.1-1_all.deb deb пакет для установки и настройки easy-rsa,openvpn на сервер ovpn-server
- easy-rsa
- easy-rsa-conf_0.1-1_all.deb - deb пакет для настройки сервера trust-center
- easy-rsa-conf-0.1 - директория где лежат скрипты и файлы для создания этого пакета, на случай если потребуется пересобрать пакет с изменениями
- ovpn-server
- config-ovpn_0.1-1_all.deb - deb пакет для настройки сервера ovpn-server
- v0.3.0.tar.gz - полный архив ovpn-exporter для prometheus
- config-ovpn-0.1 иректория где лежат скрипты и файлы для создания этого пакета, на случай если потребуется пересобрать пакет с изменениями
- prometheus
- описание.txt - описание алертов
- monitoring_0.1-1_all.deb - deb пакет для настройки сервера monitor
- 1 OpenVPN Server_new.json - модифицированный dashboard для open-vpn сервиса
- описание.txt - описание алертов
В yandex cloud есть 3 зоны доступности: ru-central-a, ru-central-b, ru-central-c. Связь по tcp/ip между ниму аккумулируется через network load balancer. Виртуальные машины находятся в сервисе compute cloud
В моей схеме 4 основных сервера расположены в зоне доступности ru-central-a и один запасной сервер dep repo в ru-central-b Схема расположена сдесь https://drive.google.com/file/d/1Ueqj2GZxYHGoB1mm5_U_XnZF-v_hkinx/view?usp=sharing https://drive.google.com/file/d/1U6dfylKBVkmAiTOZe4wus_GkSuKj1uHm/view?usp=sharing
Публичные ip адреса для всех серверов, кроме OpenVPN являются динамическими. Серверу OpenVPN назначен статичесий адрес 158.160.100.225
Общение между серверами происходит по hostname, чтобы не привязываться к ip адресам.
Для работы сервиса Yandex cloud-backup необходимо, чтобы релиз ubuntu был не выше 20.04 это важно
Инструкция по развертыванию проекта Инофрмация о серверах
Чтобы изменить почту получателя алертов нужно поправить строчки в разделе smtp в файле /etc/grafana/grafana.ini.