Отчет по практической работе с виртуальными машинами на ОС Linux Ubuntu 24.04.2
Работа начинается с создания и настройки виртуальных машин А, Б и С - сервера, шлюза и клиента соответственно.
Ниже предствлены скрины настройки виртуальных машин и их состояние:

На всех трех виртуальных машинах был изменён 'hostname' в соответствии с заданием:

В итоге получилось присвоить виртуальным машинам новые 'hostname':
ВМ А - asowslaserver
ВМ Б - asowslagateway
ВМ С - asowslaclient
А так же на всех трех виртуальных машинах успешно были добавлены новые пользователи 'not_asowsla' и присвоены пароли для авторизации
Далее была произведена конфигурация виртуальных интерфейсов на всех трех виртуальных машинах:

На ВМ А был для 'enp0s3' был выставлен автоматический айпи-адрес, а для 'enp0s8' - "192.168.31.10/24" в соответствии с заданием;
На ВМ Б был для 'enp0s3' был также выставлен автоматический айпи-адрес, для 'enp0s8' - "192.168.31.1/24", а для enp0s9 - "192.168.3.1/24" в соответствии с заданием;
На ВМ С был для 'enp0s3' выставлен автоматический айпи-адрес, а для 'enp0s8' - "192.168.3.1/24" в соответствии с заданием;
Все конфигурационные файлы также представлены отдельно в соответствующей папке 'configs' в репозиторие.
Перейдем к рассмотрению процесса настраивания виртуальных машин по отдельности.
Начнем с ВМ А.
Был http-сервер на порту 5000. Также были реализованы три эндпоинта (запрос /get, /post, /put). Ниже представлен результат настройки (скрин был сделал раньше, чем я поменял 'hostname' на тот, что в задании):

Скрипты, описанные в 'app.py' и '/lib/systemd/system/web.server.service', представлены отдельно - в папках 'app' и 'configs' соответственно.
Рассмотрит ВМ Б.
С помощью утилит ip route и iptables были настроены маршрут пакетов от ВМ A до ВМ C и была настроена фильтрация по порту 5000.
Настройка маршрутов представлена ниже:

Перейдем к ВМ С.
Ранее была представлена конфигурация ВМ С. А ниже представлены запросы, передаваемые через ВМ Б на ВМ А:

Как можно заметить, ВМ С успешно получает фидбек от ВМ А.
Теперь рассмотрит фидбек, получаемый с ВМ А, и мониторинг с помощью 'tcpdump' по порту 5000, установленный на ВМ Б.
На скринах ниже представлено состояние ВМ А во время получения запросов с ВМ С:

Так же с помощью команды 'tcpdump' были получены логи передачи пакетов с ВМ С на ВМ А. Ниже представлены скрины.
Мониторинг запросов GET с ВМ С на ВМ А:

Мониторинг запросов POST с ВМ С на ВМ А:

Мониторинг запросов PUT с ВМ С на ВМ А:

По вышепредставленным скринам и описаниям происходящего можно сделать вывод, что все виртуальные машины были успешно настроены. Все три вида запросов с ВМ С на ВМ А через ВМ Б проходят успешно.