
Болтушкин Л.С., группа 712-2, лабораторная 3
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОННИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
ОВЕРЛЕЙНЫЕ СЕТИ DOCKER, НАСТРОЙКА ТУННЕЛЯ VXLAN
Отчет по лабораторной работе №3
по дисциплине «Сети и системы передачи информации»
Студент гр. 712-2
___________ Л.С. Болтушкин
__________
Руководитель Доцент ТОР, к.т.н.
_______ __________ Е.Ю. Агеев
__________
Томск 2025
Введение
Целью данной лабораторной работы является получение практических навыков по созданию и настройке оверлейной сети в среде Docker с
использованием технологии туннелирования VXLAN.
Оверлейные сети позволяют обеспечить взаимодействие между контейнерами, запущенными на различных хостах, что важно для масштабируемости и отказоустойчивости распределенных приложений. В
процессе работы необходимо:
1.Развернуть Docker кластер;
2.Настроить связь между двумя виртуальными машинами;
3.Создать и настроить оверлейную сеть;
4.Проверить соединение между контейнерами в оверлейной сети;
5.Диагностировать сеть и анализировать VXLAN трафик.
2

1 ХОД РАБОТЫ
Для выполнения лабораторной работы были настроены две Docker-
виртуальные машины. Чтобы сэкономить место на диске, вторая машина была создана как связная копия первой машины. В настройках сети обеих машин тип адаптера NAT был изменен на «Сетевой мост». Это позволяет машинам получать IP-адреса автоматически от DHCP-сервера в сети, что упрощает подключение через MobaXterm и копирование команд из методического пособия (рисунок 1.1).
Рисунок 1.1 – Клонирование виртуальной машины
Далее были сгенерированы новые MAC-адреса для всех адаптеров и запущены обе виртуальные машины.
Командой ifconfig можно узнать, что первая виртуальная машина получила IP-адрес: 192.168.0.112 и будет использоваться как менеджер-
машина для управления кластером Docker. Вторая виртуальная машина (клон)
3

получила IP-адрес: 192.168.0.113 и будет функционировать как рабочий узел в оверлейной сети (рисунок 1.2).
Рисунок 1.2 – Назначенные IP-адреса
После получения IP-адресов подключение к обеим виртуальным машинам было выполнено с использованием MobaXterm (рисунок 1.3). На ВМ1 был создан Docker Swarm кластер, а ВМ2 была добавлена в этот кластер.
Затем на кластере был развернут простой сервис.
Рисунок 1.3 – Подключение к MobaXterm
Далее выполним команду «brctl show» чтобы увидеть настройки программного сетевого коммутатора Linux. Команда «bridge control» – brctl
управляет настройками программного коммутатора Linux, когда он установлен в системе (рисунок 1.4).
4

Рисунок 1.4 – Настройки сетевого коммутатора
Сервис Docker активирован, теперь на VM1 выполним команду «docker swarm init». Это приведет к тому, что VM1 станет узлом, управляющим кластером контейнеров. Подключим VM2 к этому кластеру, скопировав команду подключения с токеном из окна подключения VM1 (рисунок 1.5).
5

Рисунок 1.5 – Результат подключения
На VM1 создадим оверлейную сеть с именем tusur-security (рисунок 1.6).
Рисунок 1.6 – Оверлейная сеть «tusur-security» 6

Оверлейная сеть доступна для всех хостов в кластере, и ее плоскость управления зашифрована с помощью TLS. Повторим команду brctl show на обеих машинах.
Также на обеих машинах выполним команду «docker network ls». Эта команда выведет информацию о имеющихся сетях сервиса Docker. Вновь созданные оверлейные сети доступны только для рабочих узлов, у которых есть контейнеры, использующие оверлей. Это уменьшает объем трафика сетевого протокола управления и помогает с масштабируемостью (рисунок
1.7).
Рисунок 1.7 – Сети в Docker
Для того чтобы задействовать в работе через оверлейную сеть контейнеры на обоих виртуальных машинах, создадим на VM1 фейковый сервис, используя команду «docker service create --name test --network tusur security --replicas 2 ubuntu:18.04 sleep infinity» (рисунок 1.8).
7

Рисунок 1.8 – Фейковый сервис «test»
Командой «docker service ps test» можно посмотреть распределение сервиса по узлам кластера (рисунок 1.9).
Рисунок 1.9 – Распределение сервиса по узлам
8

На VM1 выполним команду «docker network inspect tusur-security». Эта команда покажет детали созданной оверлейной сети. В частности,
используемое адресное пространство (рисунок 1.10).
Рисунок 1.10 – Детали созданной оверлейной сети «tusur-security»
Выполним команду «docker ps» на VM1. Команда покажет работающий контейнер, используем ID контейнера для следующей команды «docker inspect
--format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' IDконт».
Команда отфильтрует вывод docker inspect и покажет только IP-адрес этого контейнера в оверлейной сети (рисунок 1.11).
Рисунок 1.11 – IP-адрес контейнера в оверлейной сети
9

Подключимся к командной строке контейнера на VM1 командой «docker exec -it IDконтейнера bash» (рисунок 1.12).
Внутри контейнера недоступна команда ping, так как образы Docker
создаются в минималистичном варианте. Поэтому установим в контейнер утилиту ping командами «apt update», «apt install iputils-ping».
Рисунок 1.12 – Результат работы команды
Отправим эхо-запросы по адресу контейнера в VM2 (рисунок 1.13).
10