Releases: ZephronixQ/DevOps-PJ
v0.0.5
Release v0.0.5
Описание
Релиз v0.0.5 представляет собой набор обновлений для настройки безопасности серверов через Ansible playbooks. Включены автоматические конфигурации брандмауэра (Firewalld), правил Iptables и других сетевых правил для повышения уровня безопасности на хостах R1 и PC_R1. Дополнительно, конфигурация интегрирована с пайплайнами GitLab CI, что упрощает развертывание и автоматизацию процессов настройки безопасности.
Основные функции
-
Настройка Firewalld
- Включение и настройка Firewalld на серверах.
- Добавление портов и служб в Firewalld, включая пользовательский сервис OSPF.
- Настройка маскарадинга для исходящего трафика и применение изменений с последующей перезагрузкой службы.
-
Настройка Iptables
- Добавление правил для блокировки определенных портов и разрешения трафика по SSH.
- Настройка правил доступа для VPN и разрешение перенаправления пакетов между интерфейсами.
-
Настройка сетевых правил (NetSec)
- Логирование TCP-трафика и создание внутренней зоны для локальных сетей с соответствующими правилами.
- Включение NAT для внутренней зоны и настройка SSH-доступа через интерфейс
ens33.
-
Интеграция с GitLab CI
- Добавлены шаблоны для настройки Firewalld, Iptables и сетевых правил через пайплайны CI/CD.
- Возможность автоматической генерации отчетов после выполнения playbooks.
Добавлено
- Файлы для настройки безопасности:
ansible/roles/all/tasks/security/main.yml— Playbook для настройки Firewalld, Iptables и сетевых правил (NetSec).gitlab-ci/templates.yml— Шаблоны для настройки Firewalld, Iptables и сетевых правил (NetSec).gitlab-ci/security.yml— Пайплайны для настройки и уведомления о результатах конфигурации безопасности.
Пошаговая инструкция
-
**Инициализируйте проект **
Запустите скриптinit.shдля настройки рабочей среды и выполнения начального коммита. -
Запустите пайплайн для настройки сервисов
После выполнения шагов настройки сети, убедитесь, что все стадии настройки Firewalld, Iptables и NetSec прошли успешно.
Примечание
- v0.0.5 — Базовая автоматизированная настройка безопасности, которая значительно упрощает управление правилами Firewalld и Iptables, а также сетевыми конфигурациями.
v0.0.4
Release v0.0.4
Описание
В версии v0.0.4 добавлены возможности для автоматизированной настройки системных сервисов на серверах, включая NTP, NFS и CUPS. Этот релиз фокусируется на улучшении конфигурации системных служб, расширении поддержки сетевых сервисов и их интеграции с пайплайнами CI/CD.
Основные функции
-
Настройка NTP, NFS и CUPS
Внесены изменения для автоматизации настройки NTP, NFS, и CUPS на серверах:- NTP: Настройка времени через Chrony на серверах
R1иPC_R1. - NFS: Настройка файлового сервера на
PC_R1с клиентом наR1. - CUPS: Автоматическая настройка сервера печати на
PC_R1, с возможностью удаленного администрирования.
- NTP: Настройка времени через Chrony на серверах
-
Интеграция с GitLab CI/CD
Добавлены новые шаблоны для настройки сервисов NTP, NFS, и CUPS через GitLab CI:.ntp_templateдля настройки NTP..nfs_templateдля настройки NFS..cups_templateдля настройки CUPS.
-
Уведомления о результатах выполнения
После успешной настройки сервисов отправляется уведомление о завершении, с выводом статусов выполнения Ansible playbooks.
Добавлено
- Файлы для настройки сервисов:
ansible/roles/all/tasks/services/main.yml— настройки для NTP, NFS и CUPS.gitlab-ci/templates.yml— шаблоны для настройки NTP, NFS и CUPS.gitlab-ci/services.yml— пайплайны для настройки и уведомления о результатах.
Пошаговая инструкция
-
**Инициализируйте проект **
Запустите скриптinit.shдля настройки рабочей среды и выполнения начального коммита. -
Запустите пайплайн для настройки сервисов
После выполнения шагов настройки сети, убедитесь, что все стадии настройки NTP, NFS и CUPS прошли успешно.
Примечание
- v0.0.4 — Автоматизация системных сервисов NTP, NFS и CUPS, что упрощает настройку серверов и обеспечивает их стабильную работу.
v0.0.3
Release v0.0.3
Описание
Версия v0.0.3 расширяет возможности автоматизации, добавляя конфигурации для VPN, OSPF, IPsec, и DNS, что значительно улучшает безопасность и управление сетевой инфраструктурой. Этот релиз фокусируется на создании надежных и безопасных соединений между сетевыми узлами, а также на улучшении управления доменными именами.
Основные функции
-
Конфигурация VPN и IPsec
Добавлены скрипты и шаблоны для автоматизации настройки VPN и IPsec на серверах:r1-vpn.shиr2-vpn.sh- Скрипты для настройки VPN на серверахR1иR2.ipsec.conf.j2- Шаблон конфигурации для IPsec.
-
Настройка протокола OSPF
Реализована автоматизация настройки OSPF для динамической маршрутизации:r1-ospf.shиr2-ospf.sh- Скрипты для настройки OSPF на серверахR1иR2.
-
Настройка DNS и службы имен
Включена настройка DNS-серверов и соответствующих конфигурационных файлов:db.r1.work,db.r2.work- Конфигурационные файлы для зон прямого и обратного DNS на серверах.named.conf.local,named.conf.options- Основные конфигурации для BIND.resolv.conf- Файл настройки резолвера.
-
Обновление и расширение Ansible ролей
Внесены изменения в роли Ansible для поддержки новых функций:- Обновленные задачи в
roles/all/tasks/main.ymlдля настройки VPN, OSPF, IPsec, и DNS. - Добавлены новые файлы конфигурации и шаблоны для управления этими службами.
- Обновленные задачи в
-
Уведомления и контроль выполнения задач
Настроена система уведомлений для информирования об успешной конфигурации сети, включая настройки VPN, OSPF, IPsec, и DNS.
Добавлено
- Новые конфигурационные файлы и скрипты:
roles/all/files/pc-r1.sh,roles/all/files/pc-r2.sh- Скрипты для управления маршрутами по умолчанию.roles/all/files/r1-vpn.sh,roles/all/files/r2-vpn.sh- Скрипты для настройки VPN.roles/all/files/r1-ospf.sh,roles/all/files/r2-ospf.sh- Скрипты для настройки OSPF.roles/all/templates/ipsec.conf.j2- Шаблон конфигурации IPsec.roles/all/files/named.conf.local,roles/all/files/named.conf.options,roles/all/files/db.r2.work,roles/all/files/db.r2.work- Файлы для настройки DNS.
Пошаговая инструкция по конфигурированию рабочей среды
-
**Инициализируйте проект **
Запустите скриптinit.shдля настройки рабочей среды и выполнения начального коммита. -
Запустите пайплайн для настройки сети
Убедитесь, что все стадии настройки VPN, OSPF, IPsec, и DNS прошли успешно.
Примечание
- v0.0.3 - Добавлены функции для полной автоматизации настройки VPN, маршрутизации OSPF, IPsec, и DNS, что упрощает управление и увеличивает безопасность сетевой инфраструктуры.
v0.0.2
Release v0.0.2
Описание
В версии v0.0.2 добавлены дополнительные функции для автоматизации настройки сетевых параметров на серверах, таких как IP-адреса, DHCP и сетевые интерфейсы, а также для интеграции с существующими CI/CD пайплайнами. Этот релиз фокусируется на конфигурировании сетевого окружения и улучшении процессов развертывания инфраструктуры.
Основные функции
-
Интеграция шаблонов конфигурации в CI/CD
Включены новые шаблоны для конфигурации IP-адресов, DHCPv4, DHCPv6, и перезапуска сетевых интерфейсов:.configure_ip- Шаблон для настройки IP-адресов..configure_dhcp4- Шаблон для настройки DHCPv4..configure_dhcp6v1и.configure_dhcp6v2- Шаблоны для настройки DHCPv6 в два этапа..configure_resnet- Шаблон для активации сетевых интерфейсовens36..configure_ens36- Шаблон для перезапуска сетевых интерфейсов.
-
Настройка и активация сетевых интерфейсов
Автоматизация процесса настройки сетевых интерфейсовens36и их перезапуска на серверахPC_R1иPC_R2. -
Настройка DHCP для IPv4 и IPv6
- Конфигурация DHCPv4 для серверов
PC_R1иPC_R2, включая сохранение MAC-адресов и настройку соответствующих служб. - Конфигурация DHCPv6 для серверов
R1иR2в два этапа, с созданием и настройкой конфигурационных файлов дляisc-dhcp-serverиradvd.
- Конфигурация DHCPv4 для серверов
-
Настройка маршрутизации и системных параметров
- Добавление специфических маршрутов для серверов
R1иR2. - Применение общих и специфичных для хостов настроек
sysctlдля оптимизации сетевой работы.
- Добавление специфических маршрутов для серверов
-
Уведомления о завершении конфигурации сети
- После успешного завершения настройки сети выполняется отправка уведомления с результатами выполнения Ansible playbooks, включая настройку IPv4, IPv6, DHCP и маршрутизации.
Добавлено
- Новые конфигурационные файлы Ansible:
roles/all/tasks/main.yml- Обновленные задачи для настройки сети.templates/dhcpd.conf.j2,dhcpd6.conf.j2,radvd.conf.j2- Шаблоны для настройки DHCP и RADVD.
Пошаговая инструкция по конфигурированию рабочей среды
-
Инициализируйте проект
Запустите скриптinit.sh, чтобы настроить рабочую среду и выполнить начальный коммит. -
Запустите пайплайн для настройки сети
После выполнения первого шага, убедитесь, что все стадии настройки сети (IP, DHCP, интерфейсы) прошли успешно.
Примечание
- v0.0.2 - Добавлены функции для полной автоматизации конфигурации сетевого окружения, что упрощает развертывание и управление сетевой инфраструктурой.
v0.0.1
Release v0.0.1
Описание
В версии v0.0.1 добавлены основные функции для управления проектом в GitLab, настройки виртуальных машин и выполнения CI/CD пайплайнов. Этот релиз включает скрипты для автоматизации процесса создания и настройки репозитория на GitLab, а также настройки GitLab Runner и интеграции с Telegram Bot для уведомлений.
Основные функции
-
Удаление директории
.git
Сценарий проверяет наличие директории.gitи удаляет её, если она присутствует. -
Создание и настройка GitLab репозитория
- Запрашивает данные пользователя для создания GitLab Access Token.
- Проверяет существование проекта на GitLab, удаляет его при необходимости и создает новый репозиторий.
- Инициализирует локальный git-репозиторий, подключает удалённый и выполняет начальный коммит и пуш.
-
Настройка виртуальных машин и SSH-доступа
- Запускает скрипты для настройки виртуальных машин и SSH-доступа.
- Инициализирует GitLab Runner и создает Telegram Bot для уведомлений.
-
Работа с временными файлами и переменными окружения
- Сохраняет данные пользователя в временный файл и экспортирует их для использования в других скриптах.
- Удаляет временный файл по завершении выполнения скрипта.
-
Установка и регистрация GitLab Runner на удалённых хостах
- Проверяет и устанавливает необходимые пакеты.
- Генерирует SSH-ключи, устанавливает и запускает GitLab Runner, регистрирует его на GitLab.
- Обрабатывает IP-адреса из файла и настраивает их.
-
Интеграция с Telegram
- Создает Telegram Bot и получает токен.
- Отправляет сообщения в Telegram для уведомления о статусе выполнения пайплайнов.
-
CI/CD пайплайн
- Пайплайн включает стадии установки пакетов и уведомлений.
- Использует Ansible для установки пакетов и настройки серверов.
- Отправляет результаты выполнения пайплайнов в Telegram.
Скрипты
init.sh- Основной скрипт для настройки GitLab репозитория, инициализации git и настройки CI/CD пайплайнов.init-vm.sh- Скрипт для инициализации виртуальных машин.setup_ssh.sh- Скрипт для настройки SSH-доступа.init-gitlab.sh- Скрипт для установки и регистрации GitLab Runner на удалённых хостах.create-tg-bot.py- Скрипт для создания Telegram Bot и настройки переменных окружения.generate_inventory.py- Скрипт для генерации файла инвентаризации Ansible на основе IP-адресов.
Пошаговая инструкция по конфигурированию рабочей среды
-
Инициализируйте проект
Запустите скриптinit.sh, чтобы настроить рабочую среду и выполнить начальный коммит. -
Ожидайте завершения инициализации скрипта
Примечание
- v0.0.1 - Первая версия с базовыми функциями настройки и автоматизации для проекта "DevOps-PJ".