Skip to content

Releases: ZephronixQ/DevOps-PJ

v0.0.5

12 Sep 20:57

Choose a tag to compare

Release v0.0.5

Описание

Релиз v0.0.5 представляет собой набор обновлений для настройки безопасности серверов через Ansible playbooks. Включены автоматические конфигурации брандмауэра (Firewalld), правил Iptables и других сетевых правил для повышения уровня безопасности на хостах R1 и PC_R1. Дополнительно, конфигурация интегрирована с пайплайнами GitLab CI, что упрощает развертывание и автоматизацию процессов настройки безопасности.

Основные функции

  1. Настройка Firewalld

    • Включение и настройка Firewalld на серверах.
    • Добавление портов и служб в Firewalld, включая пользовательский сервис OSPF.
    • Настройка маскарадинга для исходящего трафика и применение изменений с последующей перезагрузкой службы.
  2. Настройка Iptables

    • Добавление правил для блокировки определенных портов и разрешения трафика по SSH.
    • Настройка правил доступа для VPN и разрешение перенаправления пакетов между интерфейсами.
  3. Настройка сетевых правил (NetSec)

    • Логирование TCP-трафика и создание внутренней зоны для локальных сетей с соответствующими правилами.
    • Включение NAT для внутренней зоны и настройка SSH-доступа через интерфейс ens33.
  4. Интеграция с 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 — Пайплайны для настройки и уведомления о результатах конфигурации безопасности.

Пошаговая инструкция

  1. **Инициализируйте проект **
    Запустите скрипт init.sh для настройки рабочей среды и выполнения начального коммита.

  2. Запустите пайплайн для настройки сервисов
    После выполнения шагов настройки сети, убедитесь, что все стадии настройки Firewalld, Iptables и NetSec прошли успешно.

Примечание

  • v0.0.5 — Базовая автоматизированная настройка безопасности, которая значительно упрощает управление правилами Firewalld и Iptables, а также сетевыми конфигурациями.

v0.0.4

12 Sep 20:27

Choose a tag to compare

Release v0.0.4

Описание

В версии v0.0.4 добавлены возможности для автоматизированной настройки системных сервисов на серверах, включая NTP, NFS и CUPS. Этот релиз фокусируется на улучшении конфигурации системных служб, расширении поддержки сетевых сервисов и их интеграции с пайплайнами CI/CD.

Основные функции

  1. Настройка NTP, NFS и CUPS
    Внесены изменения для автоматизации настройки NTP, NFS, и CUPS на серверах:

    • NTP: Настройка времени через Chrony на серверах R1 и PC_R1.
    • NFS: Настройка файлового сервера на PC_R1 с клиентом на R1.
    • CUPS: Автоматическая настройка сервера печати на PC_R1, с возможностью удаленного администрирования.
  2. Интеграция с GitLab CI/CD
    Добавлены новые шаблоны для настройки сервисов NTP, NFS, и CUPS через GitLab CI:

    • .ntp_template для настройки NTP.
    • .nfs_template для настройки NFS.
    • .cups_template для настройки CUPS.
  3. Уведомления о результатах выполнения
    После успешной настройки сервисов отправляется уведомление о завершении, с выводом статусов выполнения Ansible playbooks.

Добавлено

  • Файлы для настройки сервисов:
    • ansible/roles/all/tasks/services/main.yml — настройки для NTP, NFS и CUPS.
    • gitlab-ci/templates.yml — шаблоны для настройки NTP, NFS и CUPS.
    • gitlab-ci/services.yml — пайплайны для настройки и уведомления о результатах.

Пошаговая инструкция

  1. **Инициализируйте проект **
    Запустите скрипт init.sh для настройки рабочей среды и выполнения начального коммита.

  2. Запустите пайплайн для настройки сервисов
    После выполнения шагов настройки сети, убедитесь, что все стадии настройки NTP, NFS и CUPS прошли успешно.

Примечание

  • v0.0.4 — Автоматизация системных сервисов NTP, NFS и CUPS, что упрощает настройку серверов и обеспечивает их стабильную работу.

v0.0.3

10 Sep 22:55

Choose a tag to compare

Release v0.0.3

Описание

Версия v0.0.3 расширяет возможности автоматизации, добавляя конфигурации для VPN, OSPF, IPsec, и DNS, что значительно улучшает безопасность и управление сетевой инфраструктурой. Этот релиз фокусируется на создании надежных и безопасных соединений между сетевыми узлами, а также на улучшении управления доменными именами.

Основные функции

  1. Конфигурация VPN и IPsec
    Добавлены скрипты и шаблоны для автоматизации настройки VPN и IPsec на серверах:

    • r1-vpn.sh и r2-vpn.sh - Скрипты для настройки VPN на серверах R1 и R2.
    • ipsec.conf.j2 - Шаблон конфигурации для IPsec.
  2. Настройка протокола OSPF
    Реализована автоматизация настройки OSPF для динамической маршрутизации:

    • r1-ospf.sh и r2-ospf.sh - Скрипты для настройки OSPF на серверах R1 и R2.
  3. Настройка DNS и службы имен
    Включена настройка DNS-серверов и соответствующих конфигурационных файлов:

    • db.r1.work, db.r2.work - Конфигурационные файлы для зон прямого и обратного DNS на серверах.
    • named.conf.local, named.conf.options - Основные конфигурации для BIND.
    • resolv.conf - Файл настройки резолвера.
  4. Обновление и расширение Ansible ролей
    Внесены изменения в роли Ansible для поддержки новых функций:

    • Обновленные задачи в roles/all/tasks/main.yml для настройки VPN, OSPF, IPsec, и DNS.
    • Добавлены новые файлы конфигурации и шаблоны для управления этими службами.
  5. Уведомления и контроль выполнения задач
    Настроена система уведомлений для информирования об успешной конфигурации сети, включая настройки 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.

Пошаговая инструкция по конфигурированию рабочей среды

  1. **Инициализируйте проект **
    Запустите скрипт init.sh для настройки рабочей среды и выполнения начального коммита.

  2. Запустите пайплайн для настройки сети
    Убедитесь, что все стадии настройки VPN, OSPF, IPsec, и DNS прошли успешно.

Примечание

  • v0.0.3 - Добавлены функции для полной автоматизации настройки VPN, маршрутизации OSPF, IPsec, и DNS, что упрощает управление и увеличивает безопасность сетевой инфраструктуры.

v0.0.2

29 Aug 23:23

Choose a tag to compare

Release v0.0.2

Описание

В версии v0.0.2 добавлены дополнительные функции для автоматизации настройки сетевых параметров на серверах, таких как IP-адреса, DHCP и сетевые интерфейсы, а также для интеграции с существующими CI/CD пайплайнами. Этот релиз фокусируется на конфигурировании сетевого окружения и улучшении процессов развертывания инфраструктуры.

Основные функции

  1. Интеграция шаблонов конфигурации в CI/CD
    Включены новые шаблоны для конфигурации IP-адресов, DHCPv4, DHCPv6, и перезапуска сетевых интерфейсов:

    • .configure_ip - Шаблон для настройки IP-адресов.
    • .configure_dhcp4 - Шаблон для настройки DHCPv4.
    • .configure_dhcp6v1 и .configure_dhcp6v2 - Шаблоны для настройки DHCPv6 в два этапа.
    • .configure_resnet - Шаблон для активации сетевых интерфейсов ens36.
    • .configure_ens36 - Шаблон для перезапуска сетевых интерфейсов.
  2. Настройка и активация сетевых интерфейсов
    Автоматизация процесса настройки сетевых интерфейсов ens36 и их перезапуска на серверах PC_R1 и PC_R2.

  3. Настройка DHCP для IPv4 и IPv6

    • Конфигурация DHCPv4 для серверов PC_R1 и PC_R2, включая сохранение MAC-адресов и настройку соответствующих служб.
    • Конфигурация DHCPv6 для серверов R1 и R2 в два этапа, с созданием и настройкой конфигурационных файлов для isc-dhcp-server и radvd.
  4. Настройка маршрутизации и системных параметров

    • Добавление специфических маршрутов для серверов R1 и R2.
    • Применение общих и специфичных для хостов настроек sysctl для оптимизации сетевой работы.
  5. Уведомления о завершении конфигурации сети

    • После успешного завершения настройки сети выполняется отправка уведомления с результатами выполнения Ansible playbooks, включая настройку IPv4, IPv6, DHCP и маршрутизации.

Добавлено

  • Новые конфигурационные файлы Ansible:
    • roles/all/tasks/main.yml - Обновленные задачи для настройки сети.
    • templates/dhcpd.conf.j2, dhcpd6.conf.j2, radvd.conf.j2 - Шаблоны для настройки DHCP и RADVD.

Пошаговая инструкция по конфигурированию рабочей среды

  1. Инициализируйте проект
    Запустите скрипт init.sh, чтобы настроить рабочую среду и выполнить начальный коммит.

  2. Запустите пайплайн для настройки сети
    После выполнения первого шага, убедитесь, что все стадии настройки сети (IP, DHCP, интерфейсы) прошли успешно.

Примечание

  • v0.0.2 - Добавлены функции для полной автоматизации конфигурации сетевого окружения, что упрощает развертывание и управление сетевой инфраструктурой.

v0.0.1

29 Aug 00:00

Choose a tag to compare

Release v0.0.1

Описание

В версии v0.0.1 добавлены основные функции для управления проектом в GitLab, настройки виртуальных машин и выполнения CI/CD пайплайнов. Этот релиз включает скрипты для автоматизации процесса создания и настройки репозитория на GitLab, а также настройки GitLab Runner и интеграции с Telegram Bot для уведомлений.

Основные функции

  1. Удаление директории .git
    Сценарий проверяет наличие директории .git и удаляет её, если она присутствует.

  2. Создание и настройка GitLab репозитория

    • Запрашивает данные пользователя для создания GitLab Access Token.
    • Проверяет существование проекта на GitLab, удаляет его при необходимости и создает новый репозиторий.
    • Инициализирует локальный git-репозиторий, подключает удалённый и выполняет начальный коммит и пуш.
  3. Настройка виртуальных машин и SSH-доступа

    • Запускает скрипты для настройки виртуальных машин и SSH-доступа.
    • Инициализирует GitLab Runner и создает Telegram Bot для уведомлений.
  4. Работа с временными файлами и переменными окружения

    • Сохраняет данные пользователя в временный файл и экспортирует их для использования в других скриптах.
    • Удаляет временный файл по завершении выполнения скрипта.
  5. Установка и регистрация GitLab Runner на удалённых хостах

    • Проверяет и устанавливает необходимые пакеты.
    • Генерирует SSH-ключи, устанавливает и запускает GitLab Runner, регистрирует его на GitLab.
    • Обрабатывает IP-адреса из файла и настраивает их.
  6. Интеграция с Telegram

    • Создает Telegram Bot и получает токен.
    • Отправляет сообщения в Telegram для уведомления о статусе выполнения пайплайнов.
  7. 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-адресов.

Пошаговая инструкция по конфигурированию рабочей среды

  1. Инициализируйте проект
    Запустите скрипт init.sh, чтобы настроить рабочую среду и выполнить начальный коммит.

  2. Ожидайте завершения инициализации скрипта

Примечание

  • v0.0.1 - Первая версия с базовыми функциями настройки и автоматизации для проекта "DevOps-PJ".