Данный проект реализует автоматизированное развертывание и настройку приложения 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 # Вспомогательные функции
- Убедитесь, что все виртуальные машины доступны по SSH от имени
root
. - Склонируйте репозиторий на узел RedOS:
git clone https://github.com/dyakart/deploy-memcached-coursework.git cd deploy-memcached-coursework
- Запустите главный скрипт:
./deploy.sh
- После завершения скрипта выполните:
Для проверки корректности настройки memcached, iptables и маршрутизации.
./verify.sh
bash
,iptables
,nc
,ssh
- Поддержка пакетных менеджеров (
apt
илиyum
) на всех узлах - Виртуальные машины в одной сети с IP-адресами 192.168.0.21–23
- Для удалённой работы использовалась утилита MobaXterm — для удобного доступа к терминалу и файловой системе.
- В приложении А (в отчёте) приведены все используемые bash-скрипты с описанием.
- Доступ к memcached ограничен только одним IP (Astra)
- Все остальные подключения фильтруются с помощью iptables
- Все изменения iptables сохраняются и применяются автоматически
Этот проект распространяется без лицензии (академическое использование).