Skip to content

Автоматическое развертывание и настройка memcached в изолированной сетевой инфраструктуре

Notifications You must be signed in to change notification settings

dyakart/deploy-memcached-coursework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Автоматическое развертывание и настройка memcached в изолированной сетевой инфраструктуре

📌 Описание проекта

Данный проект реализует автоматизированное развертывание и настройку приложения memcached в среде из трёх виртуальных машин с различными отечественными ОС: Alt Linux, Astra Linux и RED OS. Основной целью является установка memcached на наименее загруженный сервер с ограничением доступа, настройкой маршрутизатора и централизованным выходом в интернет.

Проект использует bash-скрипты для полной автоматизации процесса, включая выбор ролей серверов, настройку NAT, фильтрацию трафика и проверку доступности сервиса.

🖥 Структура инфраструктуры

IP-адрес ОС Назначение
192.168.0.21 Alt Linux Сервер memcached (наименее загруженный)
192.168.0.22 Astra Linux Клиент memcached
192.168.0.23 RED OS Маршрутизатор (наиболее загруженный узел)

⚙️ Реализованные задачи

  • Определение уровня загрузки серверов и автоматическое распределение ролей
  • Настройка IP-маршрутизации и NAT на узле RedOS
  • Установка memcached и настройка доступа только с клиента (Astra)
  • Фильтрация входящих соединений через iptables
  • Автоматическая проверка всех условий с помощью verify.sh
  • Обращение к memcached по имени memcached.local через /etc/hosts
  • Единый управляющий скрипт deploy.sh для запуска всей инфраструктуры

🧩 Структура проекта

deploy-memcached-coursework/
├── deploy.sh               # Главный скрипт развёртывания
├── verify.sh               # Скрипт проверки всех условий
└── scripts/
    ├── cpu_load.sh         # Определение уровня загрузки серверов
    ├── setup_router.sh     # Настройка маршрутизатора (RedOS)
    ├── setup_memcached.sh  # Установка и настройка memcached
    ├── setup_astra.sh      # Настройка клиента (Astra Linux)
    └── common.sh           # Вспомогательные функции

🚀 Как использовать

  1. Убедитесь, что все виртуальные машины доступны по SSH от имени root.
  2. Склонируйте репозиторий на узел RedOS:
    git clone https://github.com/dyakart/deploy-memcached-coursework.git
    cd deploy-memcached-coursework
  3. Запустите главный скрипт:
    ./deploy.sh
  4. После завершения скрипта выполните:
    ./verify.sh
    Для проверки корректности настройки memcached, iptables и маршрутизации.

🧪 Зависимости

  • bash, iptables, nc, ssh
  • Поддержка пакетных менеджеров (apt или yum) на всех узлах
  • Виртуальные машины в одной сети с IP-адресами 192.168.0.21–23

📎 Дополнительно

  • Для удалённой работы использовалась утилита MobaXterm — для удобного доступа к терминалу и файловой системе.
  • В приложении А (в отчёте) приведены все используемые bash-скрипты с описанием.

🛡 Безопасность

  • Доступ к memcached ограничен только одним IP (Astra)
  • Все остальные подключения фильтруются с помощью iptables
  • Все изменения iptables сохраняются и применяются автоматически

📝 Лицензия

Этот проект распространяется без лицензии (академическое использование).

About

Автоматическое развертывание и настройка memcached в изолированной сетевой инфраструктуре

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages