Данная практика посвещена базовым принципам администрирования Linux. Для выполнения практики необходимо развернуть 3 виртуальные машины Linux.
Как пример, можно использовать Virtual Box + Ubuntu Server 20.04.
Для выполнения данного задания необходимо:
- Развернуть три виртуальные машины Linux, согласно схеме ниже
- Linux A
- Сконфигурировать Hostname следующим образом: <your_surname>_server (пропустить если делаете через Play with docker)
- Создать пользователя <your_surname>_1 (пропустить если делаете через Play with docker)
- Сконфигурировать виртуальный интерфейс со следующим ip адресом: 192.168.<день рождения>.10/24
- Развернуть Http сервер на виртуальной машине на порту 5000. Необходимо реализовать минимум три эндпоинта (запрос /get, /post, /put)
- Linux B
- Сконфигурировать Hostname следующим образом: <your_surname>_gateway (пропустить если делаете через Play with docker)
- Создать пользователя <your_surname>_2 (пропустить если делаете через Play with docker)
- Сконфигурировать 2 виртуальных интерфейс со следующими ip адресом: 192.168.<день рождения>.1/24, 192.168.<месяц рождения>.10/24
- С помощью утилит ip route и iptables настроить маршрут пакетов от Linux A до C. Должны быть запрещены все пакеты, кроме http пакетов через порт 5000 (маршруты обязательно, файрвол опционально)
- Запустить программу tcpdump с фильтрацией по портам 5000
- Linux C
- Сконфигурировать Hostname следующим образом: <your_surname>_client (пропустить если делаете через Play with docker)
- Создать пользователя <your_surname>_3 (пропустить если делаете через Play with docker)
- Сконфигурировать виртуальный интерфейс со следующим ip адресом: 192.168.<месяц рождения>.100/24
- С помощью команды curl на машине C послать 3 запроса на машину А в http сервер (/get, /post, /put)
- При перезагрузки системы все сервисы и сетевая архитектура должны также функционировать (сохранить свои настройки)
- Сделать скриншоты всех этапов задания
- Оформить отчет в виде Markdown файла. Приложить конфигурационные файлы в репозиторий
- Для play with docker также нужно написать bash скрипты для воспроизведения на новых вм
Репозиторий оформить следующим образом:
- application - исходный код http сервера
- configs - конфигурационные файлы сетевых настроек виртуальных машин
- report.md - Отчет markdown
P.S. Если не получилось использовать разные утилиты для настройки сети, используйте netplan Смотрите мануал - там информация для virtual box и Play with docker